I’m not running using make -j1 but I tried it anyway and several other
parameter (e.g. -j20) but it did not resolve the issue.

Sorry for the confusion regarding I/use/include. Must be because I added
KERNEL_HEADERS=/usr/include to my make command for the sake of trying
various solution to solve the issue (but it did not help at all). I have
checked my scripts and made sure there are no additional CFLAGS or anything
of that sort included. I even tried to run the commands outside my bash
scripts in normal terminal and still the error popped up. One dirty
solution is to copy libc.a and libpthread.a from /tools/lib to /lib and it
solves the problem but it is not an elegant solution. Do you think there is
a way to skip those tests that rely on static libraries in libcap to avoid
this problem?

On Tue, 7 Jan 2020 at 06:34 Pierre Labastie via lfs-dev <
lfs-dev@lists.linuxfromscratch.org> wrote:

> 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
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to