Le 06/01/2020 à 19:35, Saul Tigh via lfs-dev a écrit :
> Dear LFS dev,
> First time poster here so please be gentle. I've compiled LFS dev several
> times before but this time libcap (section 6.28) is giving me a headache. I'm
> following the latest version of LFS-systemd SVN-20200106 with ubuntu 19.10 as
> host system running in virutalbox. I even installed libcap-dev on the host
> system as part of new dependencies mentioned in LFS book. Also the  "Host
> system requirement" script reports that the host system has the prerequisites
> installed properly. But no matter what I do libcap complains that pthread and
> libc cannot be found:
> 
> make: Entering directory '/build_scripts/libcap/src/libcap-2.30'
> make -C libcap all
> make[1]: Entering directory '/build_scripts/libcap/src/libcap-2.30/libcap'
> => making cap_names.list.h from /usr/include/linux/capability.h
> perl -e 'while ($l=<>) { if ($l =~ /^\#define[ \t](CAP[_A-Z]+)[
> \t]+([0-9]+)\s+$/) { $tok=$1; $val=$2; $tok =~ tr/A-Z/a-z/; print
> "{\"$tok\",$val},\n"; } }' /usr/include/linux/capability.h | fgrep -v 0x >
> cap_names.list.h
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/usr/include
> -I/build_scripts/libcap/src/libcap-2.30/libcap/../libcap/include _makenames.c
> -o _makenames
> ./_makenames > cap_names.h
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include
> -I/build_scripts/libcap/src/libcap-2.30/libcap/../libcap/include -c
> cap_alloc.c -o cap_alloc.o
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include
> -I/build_scripts/libcap/src/libcap-2.30/libcap/../libcap/include -c cap_proc.c
> -o cap_proc.o
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include
> -I/build_scripts/libcap/src/libcap-2.30/libcap/../libcap/include -c
> cap_extint.c -o cap_extint.o
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include
> -I/build_scripts/libcap/src/libcap-2.30/libcap/../libcap/include -c cap_flag.c
> -o cap_flag.o
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include
> -I/build_scripts/libcap/src/libcap-2.30/libcap/../libcap/include  -c
> cap_text.c -o cap_text.o
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include
> -I/build_scripts/libcap/src/libcap-2.30/libcap/../libcap/include -c cap_file.c
> -o cap_file.o
> gcc -Wl,-x -shared -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux
> -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align
> -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g
>   -L/build_scripts/libcap/src/libcap-2.30/libcap/../libcap
> -Wl,-soname,libcap.so.2 -o libcap.so.2.30 cap_alloc.o cap_proc.o cap_extint.o
> cap_flag.o cap_text.o cap_file.o
> ln -sf libcap.so.2.30 libcap.so.2
> ln -sf libcap.so.2 libcap.so
> ar rcs libcap.a cap_alloc.o cap_proc.o cap_extint.o cap_flag.o cap_text.o
> cap_file.o
> ranlib libcap.a
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include
> -I/build_scripts/libcap/src/libcap-2.30/libcap/../libcap/include -c psx.c -o 
> psx.o
> ar rcs libpsx.a psx.o
> ranlib libpsx.a
> make[1]: Leaving directory '/build_scripts/libcap/src/libcap-2.30/libcap'
> make -C tests all
> make[1]: Entering directory '/build_scripts/libcap/src/libcap-2.30/tests'
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include -I/build_scripts/libcap/src/libcap-2.30/tests/../libcap/include
> -DNOWRAP psx_test.c -o psx_test
> -L/build_scripts/libcap/src/libcap-2.30/tests/../libcap -lpsx -lpthread
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include -I/build_scripts/libcap/src/libcap-2.30/tests/../libcap/include
> psx_test.c -o psx_test_wrap
> -L/build_scripts/libcap/src/libcap-2.30/tests/../libcap -lpsx -lpthread
> -Wl,-wrap,pthread_create
> gcc -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux -Wall
> -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes
> -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -g  -fPIC
> -I/usr/include -I/build_scripts/libcap/src/libcap-2.30/tests/../libcap/include
> libcap_psx_test.c -o libcap_psx_test
> -L/build_scripts/libcap/src/libcap-2.30/tests/../libcap -lcap
> -L/build_scripts/libcap/src/libcap-2.30/tests/../libcap -lpsx -lpthread
> -Wl,-wrap,pthread_create --static
> /usr/bin/ld: cannot find -lpthread
> /usr/bin/ld: cannot find -lc
> collect2: error: ld returned 1 exit status
> make[1]: *** [Makefile:35: libcap_psx_test] Error 1
> make[1]: Leaving directory '/build_scripts/libcap/src/libcap-2.30/tests'
> make: *** [Makefile:13: all] Error 2
> make: Leaving directory '/build_scripts/libcap/src/libcap-2.30'
> 

Are you running make -j1? If so it is rather weird that the first two
compilations involving -lpthread pass, and not the third...

I've looked at my logs: I do not have the "-I/usr/include" part. Where does it
come from? Do you have special CFLAGS or LDFLAGS or CPPFLAGS?

Pierre
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to