[Buildroot] systemd: build failure against pam on arm

Waldemar Brodkorb wbx at openadk.org
Wed Dec 27 08:05:20 UTC 2017


Hi Christian,
Christian Stewart wrote,

> Hi Waldemar,
> 
> Waldemar Brodkorb <wbx at openadk.org> writes:
> > To verify my analyzation you can add -L<sysrootpathofyourbr> into:
> > systemd/Makefile
> > PAM_LIBS =
> > -L/home/paralin/buildroot/pi3/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib
> > -lpam -lpam_misc
> >
> > Like in KMOD_LIBS. Then just continue the build with make V=1 and
> > see if it succeeds.
> 
> Did the build, after cleaning, again. After encountering the error, I modified the Makefile as you say:
> 
> PAM_LIBS = -L/home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lpam -lpam_misc
> 
> And tried to continue the build. I got the same error. I also tried
> doing a "make clean" inside the systemd build directory and deleting the
> build and configure stamps to get it to re-configure after the Makefile
> change, that too did not work.
> 
> Note that I am using an in-tree build here.
> 
> > As systemd is switching completely to meson buildsystem a
> > upstreamable patch is not possible.
> 
> Hopefully some kind of short-term fix is possible in Buildroot or at
> least a patch I can apply locally?
> 
> Here is the error in full, note how /lib/libpam.so is listed as an
> absolute path:
> 
> /bin/sh ./libtool  --tag=CC   --mode=link /home/paralin/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-gcc -D__SANE_USERSPACE_TYPES__  -pipe -Wall -Wextra -Wundef -Wlogical-op
>  -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=implicit-function-declaration 
> -Werror=missing-declarations -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wstrict-aliasing=2 -Wwrite-str
> ings -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Wno-format-signedness -Werror=overflow -Wdate-time -Wnested-externs -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-alia
> sing -fvisibility=hidden -fstack-protector -fstack-protector-strong -fPIE --param=ssp-buffer-size=4 -Werror=shadow -flto -ffunction-sections -fdata-sections    -I/home/paralin/Documents/synrobo/skiff/buildroot-wor
> k/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/libmount -I/home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/blkid -I/home/paralin/D
> ocuments/synrobo/skiff/buildroot-work/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/uuid   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -O2  -fno-lto -Wl,--gc-sections -Wl,--as
> -needed -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -pie    -o systemd-analyze src/analyze/systemd_analyze-analyze.o src/analyze/systemd_analyze-analyze-verify.o libcore.la                                         
> libtool: link: /home/paralin/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-gcc -D__SANE_USERSPACE_TYPES__ -pipe -Wall -Wextra -Wundef -Wlogical-op -Wmissing-include-dirs -Wol
> d-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=missing-declarations
>  -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -
> Wno-missing-field-initializers -Wno-unused-result -Wno-format-signedness -Werror=overflow -Wdate-time -Wnested-externs -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -fs
> tack-protector -fstack-protector-strong -fPIE --param=ssp-buffer-size=4 -Werror=shadow -flto -ffunction-sections -fdata-sections -I/home/paralin/buildroot/output/host/arm-buildroot-lin
> ux-gnueabihf/sysroot/usr/include/libmount -I/home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/blkid -I/home/paralin/Documents/synrobo/skiff/buildroo
> t-work/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/uuid -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -fno-lto -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined -Wl,-z -
> Wl,relro -Wl,-z -Wl,now -pie -o systemd-analyze src/analyze/systemd_analyze-analyze.o src/analyze/systemd_analyze-analyze-verify.o  ./.libs/libcore.a /home/paralin/buildroot/output/bui
> ld/systemd-234/.libs/libsystemd-shared.so -L/home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lcap -lresolv -llz4 /home/paralin/Documents/synrobo/skiff
> /buildroot-work/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libgcrypt.so /home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libgpg-error.so
>  /home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libblkid.so /lib/libpam.so /lib/libpam_misc.so /home/paralin/buildroot/o
> utput/build/linux-pam-1.3.0/libpam/.libs/libpam.so -ldl /home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libkmod.so /home/paralin/Documents/synrobo/ski
> ff/buildroot-work/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/liblzma.so -lz /home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libmount.so
>  /home/paralin/buildroot/output/build/util-linux-2.31/.libs/libblkid.so /home/paralin/buildroot/output/build/util-linux-2.31/.libs/libuuid.so -lrt -pthread
>  -Wl,-rpath -Wl,/home/paralin/buildroot/output/build/systemd-234/.libs -Wl,-rpath -Wl,/home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sys
> root/usr/lib -Wl,-rpath -Wl,/home/paralin/buildroot/output/build/linux-pam-1.3.0/libpam/.libs -Wl,-rpath -Wl,/home/paralin/buildroot/output/build/util-linu
> x-2.31/.libs -Wl,-rpath -Wl,/lib/systemd -Wl,-rpath -Wl,/home/paralin/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib                                              
> /lib/libpam.so: file not recognized: File format not recognized
> collect2: error: ld returned 1 exit status
> make[3]: *** [Makefile:12785: systemd-analyze] Error 1
> 

There is a mixup of /home/paralin/buildroot and
/home/paralin/Documents... .

Can you use a clean clone and use intree until we found the problem?

Can you do rm -rf output/build/systemd* && make V=1 &>log
And sent me the log and the systemd build directory for post-mortem
analysis.

best regards
 Waldemar


More information about the buildroot mailing list