Bug 7776

Summary: libtool 2.4.2 -> 2.4.4 upgrade broke shared library support on mips64
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Tanu Kaskinen <tanuk>
Component: devtools / tool chainAssignee: Khem Raj <raj.khem>
Status: VERIFIED WORKSFORME QA Contact: Bogdan Alexandru Voiculescu <bogdanx.a.voiculescu>
Severity: major    
Priority: Medium CC: bogdanx.a.voiculescu, meta.mr.watcher, meta.watcher, ross.burton
Version: 1.8   
Target Milestone: 2.1   
Hardware: x86   
OS: mips   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Tanu Kaskinen 2015-05-18 11:42:54 UTC
Commit 871dc461b1dfc431c0c95743af1624b781262bce upgraded libtool from 2.4.2 to 2.4.4, and after that it seems that libtool hasn't been able to build shared libraries on mips64. Or at least kmod's build system thinks that libtool isn't able to do that, and I also noticed earlier that alsa-lib is producing static libraries on mips64, causing QA warnings (I didn't investigate that further when I saw those warnings).

Trying to build kmod with MACHINE="qemumips64" fails in configure:

| checking if libtool supports shared libraries... no
| checking whether to build shared libraries... no
| checking whether to build static libraries... yes
| configure: error: --enable-static is not supported by kmod
Comment 1 Tanu Kaskinen 2015-05-18 11:44:18 UTC
Assigning to Khem, as instructed by Ross.
Comment 2 Tanu Kaskinen 2015-05-18 11:50:38 UTC
Sorry, I should have pasted a bit more of the configure output... The first message probably points towards the root cause:

| checking whether the mips64-oe-linux-gcc  -meb -mabi=64 -mhard-float --sysroot=/home/tanu/oe-qemumips64/tmp-glibc/sysroots/qemumips64 linker (mips64-oe-linux-ld --sysroot=/home/tanu/oe-qemumips64/tmp-glibc/sysroots/qemumips64  -m elf) supports shared libraries... mips64-oe-linux-ld: unrecognised emulation mode: elf
| Supported emulations: elf64btsmip elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip
| no
| checking dynamic linker characteristics... GNU/Linux ld.so
| checking how to hardcode library paths into programs... unsupported
| checking whether stripping libraries is possible... yes
| checking if libtool supports shared libraries... no
| checking whether to build shared libraries... no
| checking whether to build static libraries... yes
| configure: error: --enable-static is not supported by kmod
Comment 3 Ross Burton 2015-10-08 16:40:52 UTC
Just tried this again with current master.

NOTE: Running .../mips64-poky-linux/kmod/21+gitAUTOINC+114ec87c85-r0/git/configure  --build=x86_64-linux --host=mips64-poky-linux --target=mips64-poky-linux
[...]
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no

It appears that either libtool 2.4.6, or something else, fixed this.
Comment 4 Bogdan Alexandru Voiculescu 2015-11-17 10:15:13 UTC
I have built recently MIPS64 and works.