[meta-xilinx] build error for util-linux-2.22 for microblaze with poky/master: undefined reference to `prlimit64'
Elvis Dowson
elvis.dowson at gmail.com
Thu Apr 4 00:13:32 PDT 2013
Hi Nathan,
On Apr 4, 2013, at 10:50 AM, Nathan Rossi <nathan.rossi at xilinx.com> wrote:
>> -----Original Message-----
>> From: meta-xilinx-bounces at yoctoproject.org [mailto:meta-xilinx-
>> bounces at yoctoproject.org] On Behalf Of Elvis Dowson
>> Sent: Thursday, April 04, 2013 3:38 PM
>> To: meta-xilinx Mailing List
>> Subject: [meta-xilinx] build error for util-linux-2.22 for microblaze with
>> poky/master: undefined reference to `prlimit64'
>>
>> Hi,
>> Using the fixes from the recently released meta-xilinx repo on
>> git.xilinx.com, I've adapted the patches to work with poky/master, building
>> with the xilinx pre-built external toolchain.
>>
>> The build has now progressed considerably (1299 of 1323), and is now stuck
>> with a build error at util-linux-2.22:
>>
>> sys-utils/prlimit.o: In function `get_unknown_hardsoft':
>> /tool/yocto/poky/build/tmp/work/microblazeel-poky-linux/util-linux/2.22.2-
>> r3/util-linux-2.22.2/sys-utils/prlimit.c:319: undefined reference to `prlimit64'
>> sys-utils/prlimit.o: In function `do_prlimit':
>> /tool/yocto/poky/build/tmp/work/microblazeel-poky-linux/util-linux/2.22.2-
>> r3/util-linux-2.22.2/sys-utils/prlimit.c:363: undefined reference to `prlimit64'
>>
>>
>> Would anyone have any ideas on how I can get past this build error? The
>> version in danny branch uses util-linux-2.12, and the current master uses util-
>> linux-2.22, and the error is due to a recent change in some stuff being
>> refactored to the new function get_unknown_hardsoft().
>>
>> Elvis Dowson
>
> Hi Elvis,
>
> I've seen this issue before on some of the older microblaze pre-built toolchains. Could you confirm if the "prlimit64" symbol is missing from libc.
>
> Should be able to tell by using readelf on libc.so from the toolchain sys-root.
> $ microblazeel-xilinx-linux-gnu-readelf -a libc-2.14.90.so | grep "prlimit"
> 537: 000fd460 380 FUNC GLOBAL DEFAULT 11 prlimit@@GLIBC_2.13
> 1311: 000fd6c0 104 FUNC GLOBAL DEFAULT 11 prlimit64@@GLIBC_2.13
> 4117: 000fd6c0 104 FUNC LOCAL DEFAULT 11 __GI_prlimit64
> 6553: 000fd6c0 104 FUNC GLOBAL DEFAULT 11 prlimit64
> 6870: 000fd460 380 FUNC GLOBAL DEFAULT 11 prlimit
>
> Also if it is not missing, just check to see whether it is a global or not.
It looks like prlimit64 is missing from libc.
$ '/tool/xilinx/gnu/microblazeel-unknown-linux-gnu/bin/microblazeel-unknown-linux-gnu-readelf' -a '/tool/xilinx/gnu/microblazeel-unknown-linux-gnu/microblazeel-unknown-linux-gnu/libc/lib/libc-2.14.90.so' | grep "prlimit"
537: 0012a980 388 FUNC GLOBAL DEFAULT 11 prlimit@@GLIBC_2.13
6443: 0012a980 388 FUNC GLOBAL DEFAULT 11 prlimit
The toolchain that I'm using is the pre-built toolchain from the xilinx microblaze-gnu.git repository. The version is 4.6.2
$ '/tool/xilinx/gnu/microblazeel-unknown-linux-gnu/bin/microblazeel-unknown-linux-gnu-gcc' -v
Using built-in specs.
COLLECT_GCC=/tool/xilinx/gnu/microblazeel-unknown-linux-gnu/bin/microblazeel-unknown-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/tool/xilinx/gnu/microblazeel-unknown-linux-gnu/bin/../libexec/gcc/microblazeel-unknown-linux-gnu/4.6.2/lto-wrapper
Target: microblazeel-unknown-linux-gnu
Configured with: /home/buildbot/plgx_bld/xils005/2012_06_30/toolchains/lin64-microblazeel-xilinx-linux-gnu/crosstool-ng/targets/src/gcc-4.6.2/configure --build=x86_64-build_unknown-linux-gnu --host=x86_64-build_unknown-linux-gnu --target=microblazeel-unknown-linux-gnu --prefix=/home/buildbot/plgx_bld/xils005/2012_06_30/toolchains/lin64-microblazeel-xilinx-linux-gnu/tool-build --with-sysroot=/home/buildbot/plgx_bld/xils005/2012_06_30/toolchains/lin64-microblazeel-xilinx-linux-gnu/tool-build/microblazeel-unknown-linux-gnu/sys-root --enable-languages=c,c++ --with-pkgversion='crosstool-NG 1.14.1' --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --enable-libssp --with-gmp=/home/buildbot/plgx_bld/xils005/2012_06_30/toolchains/lin64-microblazeel-xilinx-linux-gnu/crosstool-ng/targets/microblazeel-unknown-linux-gnu/build/static --with-mpfr=/home/buildbot/plgx_bld/xils005/2012_06_30/toolchains/lin64-microblazeel-xilinx-linux-gnu/crosstool-ng/targets/microblazeel-unknown-linux-gnu/build/static --with-mpc=/home/buildbot/plgx_bld/xils005/2012_06_30/toolchains/lin64-microblazeel-xilinx-linux-gnu/crosstool-ng/targets/microblazeel-unknown-linux-gnu/build/static --with-ppl=no --with-cloog=no --with-libelf=no --enable-threads=posix --enable-target-optspace --disable-nls --with-system-zlib --disable-multilib --with-local-prefix=/home/buildbot/plgx_bld/xils005/2012_06_30/toolchains/lin64-microblazeel-xilinx-linux-gnu/tool-build/microblazeel-unknown-linux-gnu/sys-root --enable-c99 --enable-long-long --enable-symvers=gnu
Thread model: posix
gcc version 4.6.2 20111018 (prerelease) (crosstool-NG 1.14.1)
Best regards,
Elvis Dowson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20130404/7ac67d76/attachment.html>
More information about the meta-xilinx
mailing list