[Buildroot] Buildroot 2018.05-rc3 released
Mike Davies
busybox_mail at rovoreed.com
Mon Jun 4 18:51:34 UTC 2018
On Thu, 2018-05-31 at 22:18 +0200, Arnout Vandecappelle wrote:
>
>
> Well, this may happen to other people as well, so it would be good
> to get to the bottom of it.
>
> Let's see if we can find where the problem is. Can you do
>
> readelf -d output/host/bin/python
[mike at modron buildroot-2018.05]$ readelf -d output/host/bin/python
Dynamic section at offset 0xdc0 contains 30 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libpython2.7.so.1.0]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libdl.so.2]
0x0000000000000001 (NEEDED) Shared library: [libutil.so.1]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000001d (RUNPATH) Library runpath: [/home/mike/work/pi/buildroot-2018.05/output/host/lib]
0x000000000000000c (INIT) 0x4006a8
0x000000000000000d (FINI) 0x400864
0x0000000000000019 (INIT_ARRAY) 0x600da8
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x600db0
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x400298
0x0000000000000005 (STRTAB) 0x4004c0
0x0000000000000006 (SYMTAB) 0x4002f8
0x000000000000000a (STRSZ) 345 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000003 (PLTGOT) 0x601000
0x0000000000000002 (PLTRELSZ) 24 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x400690
0x0000000000000007 (RELA) 0x400660
0x0000000000000008 (RELASZ) 48 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffe (VERNEED) 0x400640
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x40061a
0x0000000000000000 (NULL) 0x0
[mike at modron buildroot-2018.05]$
> readelf -W -s output/host/lib/libpython2.7.so | \
> grep PyUnicodeUCS._AsEncodedString
[mike at modron buildroot-2018.05]$ readelf -W -s output/host/lib/libpython2.7.so | grep PyUnicodeUCS._AsEncodedString
1374: 00000000000dcbe0 308 FUNC GLOBAL DEFAULT 12 PyUnicodeUCS2_AsEncodedString
4961: 00000000000dcbe0 308 FUNC GLOBAL DEFAULT 12 PyUnicodeUCS2_AsEncodedString
[mike at modron buildroot-2018.05]$
> readelf -W -s output/build/host-python-2.7.14/Objects/unicodeobject.o
> | \
> grep PyUnicodeUCS._AsEncodedString
>
[mike at modron buildroot-2018.05]$ readelf -W -s output/build/host-python-2.7.14/Objects/unicodeobject.o | grep PyUnicodeUCS._AsEncodedString
482: 000000000000f680 308 FUNC GLOBAL DEFAULT 1 PyUnicodeUCS2_AsEncodedString
[mike at modron buildroot-2018.05]$
Now, if I understand these dumps correctly, the symbol is there, but
this new release still fails to build ca-certificates ...
>>> ca-certificates 20170717 Patching
>>> ca-certificates 20170717 Configuring
>>> ca-certificates 20170717 Building
PATH="/home/mike/work/pi/buildroot-2018.05/output/host/bin:/home/mike/work/pi/buildroot-2018.05/output/host/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/mike/bin:/sbin:/home/mike/.local/bin:/home/mike/bin:/home/mike/bin:/sbin" /usr/bin/make -j9 -C /home/mike/work/pi/buildroot-2018.05/output/build/ca-certificates-20170717 all
for dir in mozilla; do \
/usr/bin/make -C $dir all; \
done
python certdata2pem.py
Traceback (most recent call last):
File "certdata2pem.py", line 23, in <module>
import base64
File "/home/mike/work/pi/buildroot-2018.05/output/host/lib64/python2.7/base64.py", line 9, in <module>
import struct
File "/home/mike/work/pi/buildroot-2018.05/output/host/lib64/python2.7/struct.py", line 1, in <module>
from _struct import *
ImportError: /home/mike/work/pi/buildroot-2018.05/output/host/lib64/python2.7/lib-dynload/_struct.so: undefined symbol: PyUnicodeUCS2_AsEncodedString
Makefile:6: recipe for target 'all' failed
make[3]: *** [all] Error 1
Makefile:9: recipe for target 'all' failed
make[2]: *** [all] Error 2
package/pkg-generic.mk:223: recipe for target '/home/mike/work/pi/buildroot-2018.05/output/build/ca-certificates-20170717/.stamp_built' failed
make[1]: *** [/home/mike/work/pi/buildroot-2018.05/output/build/ca-certificates-20170717/.stamp_built] Error 2
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2
[mike at modron buildroot-2018.05]$
I hope this is of some help, because I'm even more confused now. The
symbol really is undefined in _struct.so, so why isn't it picking it up
from libpython.2.7.so, because if I understand the following dumps it
should.
[mike at modron buildroot-2018.05]$ readelf -d output/host/lib64/python2.7/lib-dynload/_struct.so
Dynamic section at offset 0x8db8 contains 27 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libpython2.7.so.1.0]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000001d (RUNPATH) Library runpath: [/home/mike/work/pi/buildroot-2018.05/output/host/lib]
0x000000000000000c (INIT) 0x2538
0x000000000000000d (FINI) 0x74e4
0x0000000000000019 (INIT_ARRAY) 0x208d98
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x208da0
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x1f0
0x0000000000000005 (STRTAB) 0xa28
0x0000000000000006 (SYMTAB) 0x230
0x000000000000000a (STRSZ) 1533 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000003 (PLTGOT) 0x209000
0x0000000000000002 (PLTRELSZ) 1488 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x1f68
0x0000000000000007 (RELA) 0x1110
0x0000000000000008 (RELASZ) 3672 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffe (VERNEED) 0x10d0
0x000000006fffffff (VERNEEDNUM) 1
0x000000006ffffff0 (VERSYM) 0x1026
0x000000006ffffff9 (RELACOUNT) 138
0x0000000000000000 (NULL) 0x0
[mike at modron buildroot-2018.05]$ readelf -W -s output/host/lib64/python2.7/lib-dynload/_struct.so | grep PyUnicodeUCS._AsEncodedString
62: 0000000000000000 0 FUNC GLOBAL DEFAULT UND PyUnicodeUCS2_AsEncodedString
217: 0000000000000000 0 FUNC GLOBAL DEFAULT UND PyUnicodeUCS2_AsEncodedString
[mike at modron buildroot-2018.05]$
Mike
More information about the buildroot
mailing list