1 |
Hi, I'm unable to compile sandbox with uclibc on x86. The error occurs |
2 |
in the configure stage as follows: |
3 |
|
4 |
...snip... |
5 |
checking CFLAGS for maximum warnings... no, unknown |
6 |
checking whether C compiler accepts -fdata-sections... no |
7 |
checking whether C compiler accepts -ffunction-sections... no |
8 |
checking whether the linker accepts -Wl,--as-needed... no |
9 |
checking whether the linker accepts -Wl,--gc-sections... no |
10 |
checking whether the linker accepts -Wl,--version-script,conftest.map... no |
11 |
checking whether the linker accepts -Wl,-M,conftest.map... no |
12 |
configure: error: unable to find a linker flag for versioning |
13 |
|
14 |
!!! Please attach the following file when seeking support: |
15 |
!!! /var/tmp/portage/sys-apps/sandbox-1.6-r2/work/build-default/config.log |
16 |
* |
17 |
* ERROR: sys-apps/sandbox-1.6-r2 failed. |
18 |
|
19 |
|
20 |
Checking the config.log it appears to be because of a broken definition |
21 |
which is split over two lines |
22 |
|
23 |
#define LIBC_VERSION "libc.so.0 |
24 |
| ld-uClibc.so.0" |
25 |
|
26 |
|
27 |
The test causing this is: |
28 |
|
29 |
LIBC_VERSION=$( |
30 |
$READELF -d libctest | \ |
31 |
$EGREP NEEDED.*libc\\.so | \ |
32 |
$AWK '{print $NF}' | sed -e 's:\[::' -e 's:\]::' |
33 |
) |
34 |
|
35 |
|
36 |
and readelf gives me: |
37 |
|
38 |
0x00000001 (NEEDED) Shared library: [libc.so.0] |
39 |
0x00000001 (NEEDED) Shared library: [ld-uClibc.so.0] |
40 |
|
41 |
Which in turn leads to the multiple line output |
42 |
|
43 |
|
44 |
However, I can't actually see where LIBC_VERSION is even used? Is there |
45 |
someone here who understands what is happening and can recommend the |
46 |
best fix? (Remove the whole test?) |
47 |
|
48 |
How come no one else is seeing this? What does readelf give for others |
49 |
using uclibc? |
50 |
|
51 |
Ed W |