[systemd-devel] build failures in latest master from d848b9cbfa0ba72381363accce481600169df2eb

Kok, Auke-jan H auke-jan.h.kok at intel.com
Mon Feb 4 15:29:37 PST 2013


On Mon, Feb 4, 2013 at 2:14 PM, Zbigniew Jędrzejewski-Szmek
<zbyszek at in.waw.pl> wrote:
> On Mon, Feb 04, 2013 at 01:54:56PM -0800, Kok, Auke-jan H wrote:
>> On Thu, Jan 31, 2013 at 7:29 AM, Colin Walters <walters at verbum.org> wrote:
>> > Ok, here's a first patch that helps my build:
>>
>> as of today I need this patch to make my compiles (source-based
>> distro) actully succeed, otherwise `systemd-cat` fails to CCLD:
>>
>> /home/sofar/git/z/systemd/.libs/libudev.so: undefined reference to
>> `sd_id128_get_machine'
>> /home/sofar/git/z/systemd/.libs/libudev.so: undefined reference to
>> `sd_id128_to_string'
>> /home/sofar/git/z/systemd/.libs/libudev.so: undefined reference to
>> `sd_id128_get_boot'
>> collect2: ld returned 1 exit status
>>
>> this was a completely clean git checkout with no cruft left behind.
> This is on arch, right? I'll try to have a look.

nope, I've never used arch linux in my life, although it's probably
the same symptom as one would have on any of the source distro's.

> I don't see anything like that on clean v197-247-g4f19b1d. CCLD runs
> without trouble [1], and the resulting binary doesn't use libudev.so [2].
>
> Zbyszek
>
> [1]
> $ make V=1 systemd-cat
> /bin/sh ./libtool  --tag=CC   --mode=link ccache gcc -std=gnu99 -pipe -Wall -Wextra -Wno-inline -Wundef -Wformat=2 -Wformat-security -Wformat-nonliteral -Wlogical-op -Wsign-compare -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-long-long -Wno-overlength-strings -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Werror=overflow -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -ffunction-sections -fdata-sections -fstack-protector --param=ssp-buffer-size=4 -g -O0 -Wl,--as-needed -Wl,--gc-sections -Wl,-z,relro -Wl,-z,now  -o systemd-cat src/journal/cat.o libsystemd-shared.la libsystemd-journal-internal.la -ldl -lrt
> libtool: link: ccache gcc -std=gnu99 -pipe -Wall -Wextra -Wno-inline -Wundef -Wformat=2 -Wformat-security -Wformat-nonliteral -Wlogical-op -Wsign-compare -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-long-long -Wno-overlength-strings -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Werror=overflow -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -ffunction-sections -fdata-sections -fstack-protector --param=ssp-buffer-size=4 -g -O0 -Wl,--as-needed -Wl,--gc-sections -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/systemd-cat src/journal/cat.o  ./.libs/libsystemd-shared.a ./.libs/libsystemd-journal-internal.a -lcap /tmp/systemd/.libs/libudev.so /tmp/systemd/.libs/libsystemd-daemon.so -lselinux -lacl -llzma -lgcrypt -lgpg-error -ldl -lrt -Wl,-rpath -Wl,/var/tmp/inst1/usr/lib
>
> [2]
> $ ldd .libs/systemd-cat
>   linux-vdso.so.1 =>  (0x00007fff087e8000)
>   librt.so.1 => /lib64/librt.so.1 (0x000000313c600000)
>   libc.so.6 => /lib64/libc.so.6 (0x000000313ba00000)
>   /lib64/ld-linux-x86-64.so.2 (0x000000313b200000)
>   libpthread.so.0 => /lib64/libpthread.so.0 (0x000000313be00000)

ok, somehow it's now throwing it for test-udev:

$ make V=1
make --no-print-directory all-recursive
Making all in .
/bin/sh ./libtool  --tag=CC   --mode=link gcc -std=gnu99 -pipe -Wall
-Wextra -Wno-inline -Wundef -Wformat=2 -Wformat-security
-Wformat-nonliteral -Wlogical-op -Wsign-compare -Wmissing-include-dirs
-Wold-style-definition -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
-Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align
-Wstrict-aliasing=2 -Wwrite-strings -Wno-long-long
-Wno-overlength-strings -Wno-unused-parameter
-Wno-missing-field-initializers -Wno-unused-result -Werror=overflow
-ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing
-fvisibility=hidden -ffunction-sections -fdata-sections
-fstack-protector --param=ssp-buffer-size=4 -g -O2 -Wl,--as-needed
-Wl,--gc-sections -Wl,-z,relro -Wl,-z,now  -o test-libudev
src/test/test-libudev.o libsystemd-label.la libsystemd-shared.la
libudev.la -ldl -lrt
libtool: link: gcc -std=gnu99 -pipe -Wall -Wextra -Wno-inline -Wundef
-Wformat=2 -Wformat-security -Wformat-nonliteral -Wlogical-op
-Wsign-compare -Wmissing-include-dirs -Wold-style-definition
-Wpointer-arith -Winit-self -Wdeclaration-after-statement
-Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes
-Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow
-Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings
-Wno-long-long -Wno-overlength-strings -Wno-unused-parameter
-Wno-missing-field-initializers -Wno-unused-result -Werror=overflow
-ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing
-fvisibility=hidden -ffunction-sections -fdata-sections
-fstack-protector --param=ssp-buffer-size=4 -g -O2 -Wl,--as-needed
-Wl,--gc-sections -Wl,-z -Wl,relro -Wl,-z -Wl,now -o
.libs/test-libudev src/test/test-libudev.o  ./.libs/libsystemd-label.a
./.libs/libsystemd-shared.a ./.libs/libudev.so
/home/sofar/git/z/systemd/.libs/libsystemd-daemon.so -ldl -lrt
./.libs/libudev.so: undefined reference to `sd_id128_get_machine'
./.libs/libudev.so: undefined reference to `sd_id128_to_string'
./.libs/libudev.so: undefined reference to `sd_id128_get_boot'
collect2: ld returned 1 exit status
make[2]: *** [test-libudev] Error 1

notice that systemd-journal-internal.la is missing in the LD line? not
sure if it needs to be...

Auke


More information about the systemd-devel mailing list