oe-alliance / build-enviroment

This sets-up the oe-alliance build environment.
Other
31 stars 60 forks source link

Build issues 2021-04-22 #46

Closed andrea-adami closed 3 years ago

andrea-adami commented 3 years ago

With pull of yesterday I have had two issues on Ubuntu 18.4. On the same host I build OE without problems.

Build Configuration: BB_VERSION = "1.44.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "ubuntu-18.04" TARGET_SYS = "mipsel-oe-linux" MACHINE = "vuduo2" DISTRO = "openspa" DISTRO_VERSION = "7.4" TUNE_FEATURES = "o32 fpu-hard mips32" TARGET_FPU = "" meta = "HEAD:b6abf7c201f7c9668bdf3c6e87c7dbc70c6427f9" meta-oe meta-multimedia meta-networking meta-filesystems meta-python meta-webserver = "HEAD:fd1a0c9210b162ccb147e933984c755d32899efc" meta-oe = "HEAD:38d54f3aff1f6d1a90f894a6e7667697e7c3daae" meta-qt5 = "HEAD:22f3362cfc08453a97a01eedeeac6b03eee1b71d" ...

So, first one was fontconfig-native In file included from ../../fontconfig-2.13.1/test/test-hash.c:1:0: ../../fontconfig-2.13.1/test/../src/fchash.c:24:10: fatal error: uuid/uuid.h: No

include <uuid/uuid.h>

I briefly checked and seems to be a bug solved upstream. I just installed uuid-dev on Ubuntu for the moment.

Second is samba. Wow, you have a really strange recipe here! Needs lot of care imho. There are lot of QA:

WARNING: samba-4.9.15-r3 do_patch: QA Issue: Patch log indicates that patches do not apply cleanly. [patch-fuzz] NOTE: recipe samba-4.9.15-r3: task do_patch: Succeeded

WARNING: samba-4.9.15-r3 do_package: QA Issue: samba: Files/directories were installed but not shipped in any package: /usr/lib/samba/libevents-samba4.so /usr/lib/samba/libsamba-sockets-samba4.so ..all what should have not been in /usr/lib/samba

A scary one: WARNING: samba-4.9.15-r3 do_package_qa: QA Issue: samba: The compile log indicates that host include and/or library paths were used.

These qa in particular are fatal (just the first here) ERROR: samba-4.9.15-r3 do_package_qa: QA Issue: /usr/lib/libsamba-credentials.so.0.0.1 contained in package libsamba-credentials requires libsamdb-common-samba4.so, but no providers found in RDEPENDS_libsamba-credentials? [file-rdeps] ...

So to build samba I have added to the already present

INSANE_SKIP += "dev-so" +INSANE_SKIP += "file-rdeps"

I have now built the recipe and hope to test the OpenSPA image soon. Cheers A.A.

andrea-adami commented 3 years ago

One more on Ubuntu 18
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

| -o mkscript ./mkscript.c | gcc: error: unrecognized command line option ‘-fmacro-prefix-map=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/mips32el-oe-linux/astra-sm/0.2-r0=/usr/src/debug/astra-sm/0.2-r0’ | Makefile:488: recipe for target 'mkscript' failed

Seems to be fixed by adding

DEBUG_PREFIX_MAP_remove = "-fmacro-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"

andrea-adami commented 3 years ago

and now kodi is failing, because of the strange samba packaging maybe?

lot of W warning: liblibsmb-samba4.so, needed by /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot/usr/lib/libsmbclient.so, not found (try using -rpath or -rpath-link) .. then the errors /recipe-sysroot/usr/lib/libsmbconf.so.0: undefined reference to cbuf_getpos@SAMBA_4.9.15' /recipe-sysroot/usr/lib/libsmbclient.so: undefined reference tocli_tree_connect@SAMBA_4.9.15' ...

I'll try a bit more because I'm just interested to see how exactly kodi/mipsel works in OE-A. A.A.

atvcaptain commented 3 years ago

Build Infos

Python 2 Image with Kodi 18

Ubunto 18_04 LTS https://github.com/openatv/enigma2/blob/6.4-dev/README.md

Ubunto 20_04 LTS https://github.com/openatv/enigma2/blob/6.4/README.md

Python3 Image with Kodi 19

we Support only

Ubunto 20_04 LTS https://github.com/openatv/enigma2/blob/6.5/README.md

andrea-adami commented 3 years ago

Thanks for the infos, so gcc8 is used, good to know. Anyway I don't see how this would be related to the samba issues... A.A.

atvcaptain commented 3 years ago

we dont have samba build issue here, after change the gcc better trash all and build all new

andrea-adami commented 3 years ago

The issue was already reported: https://github.com/oe-alliance/oe-alliance-core/issues/592

I cannot switch the compiler right now, I have other OE builds to compare with. I'll try to fix samba by myself or just swithc to openpli recipe.

thanks A.A.

andrea-adami commented 3 years ago

Sorry but I coul not yet spend time on this.

In the mwanwhile I signale you a small fix for the kodi recipe on mipsel:

https://github.com/OpenPLi/openpli-oe-core/commit/dc553390879ebe24aed199c0a4127bed56bf955f#diff-5e4f00b8d764bfc9f875040c54e9f87fbb049c500b164a83be61bfd6977cf4f4

same on OE-A

This can be done in two lines btw

LDFLAGS += "${TOOLCHAIN_OPTIONS}" LDFLAGS_append_mipsarch = " -latomic -lpthread" ... EXTRA_OECMAKE_append_mipsarch = " -DWITH_ARCH=${TARGET_ARCH}" ...

cheers A.A.

atvcaptain commented 3 years ago

we have here no build issue with duo2, all ok in oe-a we have disable gold linker

andrea-adami commented 3 years ago

That's very rare because I see here:

andrea@andrea-ThinkPad-T520:/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/build/CMakeFiles$ cat CMakeError.log Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output: Change Dir: /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/build/CMakeFiles/CMakeTmp

Run Build Command(s):ninja cmTC_f94c2 && [1/2] Building C object CMakeFiles/cmTC_f94c2.dir/src.c.o [2/2] Linking C executable cmTC_f94c2 FAILED: cmTC_f94c2 : && /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot-native/usr/bin/mipsel-oe-linux/mipsel-oe-linux-gcc -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -Os -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15=/usr/src/debug/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15 -fdebug-prefix-map=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15=/usr/src/debug/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15 -fdebug-prefix-map=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot= -fdebug-prefix-map=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot-native= -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_STB -DTARGET_STB_EXTEND -DTARGET_V3D -DTARGET_VUPLUS -DTARGET_VUPLUS_MIPSEL -DMESA_EGL_NO_X11_HEADERS -Wall -DCMAKE_HAVE_LIBC_PTHREAD -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -Wl,-O1 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -latomic -Wl,-O1 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -latomic CMakeFiles/cmTC_f94c2.dir/src.c.o -o cmTC_f94c2 && : /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot-native/usr/bin/mipsel-oe-linux/../../libexec/mipsel-oe-linux/gcc/mipsel-oe-linux/9.2.0/ld: CMakeFiles/cmTC_f94c2.dir/src.c.o: undefined reference to symbol 'pthread_detach@@GLIBC_2.0' /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot-native/usr/bin/mipsel-oe-linux/../../libexec/mipsel-oe-linux/gcc/mipsel-oe-linux/9.2.0/ld: /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot/lib/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed.

Source file was:

include

void test_func(void data) { return data; }

int main(void) { pthread_t thread; pthread_create(&thread, NULL, test_func, NULL); pthread_detach(thread); pthread_join(thread, NULL); pthread_atfork(NULL, NULL, NULL); pthread_exit(NULL);

return 0; }

Determining if the function pthread_create exists in the pthreads failed with the following output: Change Dir: /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/build/CMakeFiles/CMakeTmp

Run Build Command(s):ninja cmTC_6d4d6 && [1/2] Building C object CMakeFiles/cmTC_6d4d6.dir/CheckFunctionExists.c.o [2/2] Linking C executable cmTC_6d4d6 FAILED: cmTC_6d4d6 : && /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot-native/usr/bin/mipsel-oe-linux/mipsel-oe-linux-gcc -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -Os -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15=/usr/src/debug/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15 -fdebug-prefix-map=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15=/usr/src/debug/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15 -fdebug-prefix-map=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot= -fdebug-prefix-map=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot-native= -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_STB -DTARGET_STB_EXTEND -DTARGET_V3D -DTARGET_VUPLUS -DTARGET_VUPLUS_MIPSEL -DMESA_EGL_NO_X11_HEADERS -Wall -DCHECK_FUNCTION_EXISTS=pthread_create -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -Wl,-O1 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -latomic -Wl,-O1 --sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot -latomic CMakeFiles/cmTC_6d4d6.dir/CheckFunctionExists.c.o -o cmTC_6d4d6 -lpthreads && : /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/stb-kodi-vuduo2/18.9-gitrAUTOINC+0655c2c718-r15/recipe-sysroot-native/usr/bin/mipsel-oe-linux/../../libexec/mipsel-oe-linux/gcc/mipsel-oe-linux/9.2.0/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed.

Neverthless the build does finish apparently successfully. (I am investigating why it crashes with SIGBUS on OpenPLi, that's why I'm looking deep in the build dir)

Patch was submitted upstream.

Cheers A.A.

andrea-adami commented 3 years ago

Once compiled kodi [¹]without samba client support another one arises:

| LD [M] /oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/vuduo2-oe-linux/usb-dvb-dvbsky/141106-r1/media_build-bst-14/v4l/dvb-usb-dvbsky.ko | make[2]: Leaving directory '/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work-shared/vuduo2/kernel-build-artifacts' | ./scripts/rmmod.pl check | Can't locate Proc/ProcessTable.pm in @INC (you may need to install the Proc::ProcessTable module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./scripts/rmmod.pl line 4. | BEGIN failed--compilation aborted at ./scripts/rmmod.pl line 4. | Makefile:51: recipe for target 'default' failed

It is fixed installing libproc-processtable-perl on Ubuntu. My bad...

[1] WARNING: stb-kodi-vuduo2-18.9-gitrAUTOINC+0655c2c718-r15 do_package: QA Issue: stb-kodi-vuduo2: Files/directories were installed but not shipped in any package: /usr/share/applications /usr/share/applications/kodi.desktop /usr/lib/firewalld /usr/lib/firewalld/services /usr/lib/firewalld/services/kodi-http.xml /usr/lib/firewalld/services/kodi-eventserver.xml /usr/lib/firewalld/services/kodi-jsonrpc.xml /usr/bin/xbmc.helper Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. stb-kodi-vuduo2: 8 installed and not shipped files. [installed-vs-shipped]

andrea-adami commented 3 years ago

I had a last problem with smbnetfs

Error!!! libsmbclient >= 3.5 required. WARNING: exit code 1 from a shell command.

ERROR: Task (/oe/oe-alliance/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb:do_configure) failed with exit code '1'

I just removed it from the feeds for the moment.

The image is finally built.

Cheers A.A.

andrea-adami commented 3 years ago

So finally I found the hidden difference making kodi fail on OpenPLi/vuxxo2 mipsel boxes. Here you have "mplt" in DISTRO_FEATURES.

FYI there is another little difference seen in kodi's CMakeOutput.log, I think for reproducible builds: OE-A has: --with-sysroot=/not/exist --with-build-sysroot=/oe/oe-alliance/builds/openspa/release/vuduo2/tmp/work/x86_64-linux/gcc-cross -mipsel/9.2.0-r0/recipe-sysroot --with-mips-plt --enable-poison-system-directories

OpenPLi has: --with-sysroot=/not/exist --with-build-sysroot=/host --with-mips-plt --enable-poison-system-directories

Cheers A.A.

nickersk commented 3 years ago

seems to be fixed, closing for now.