[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[task #15390] Installing GNU C Library within project
From: |
Mohammad Akhlaghi |
Subject: |
[task #15390] Installing GNU C Library within project |
Date: |
Wed, 6 Nov 2019 16:13:43 -0500 (EST) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0 |
Update of task #15390 (project reproduce):
Percent Complete: 0% => 50%
_______________________________________________________
Follow-up Comment #1:
Work on this task has officially started
<https://gitlab.com/makhlaghi/reproducible-paper/commit/29eeb80e>. From the
commit message:
"""
A separate Makefile (`glibc.mk') was added to the pipeline with the sole
purpose of building the GNU C Library on GNU/Linux systems. When the host is a
GNU/Linux operating system, the `configure.sh' script will first call this
Makefile before calling `basic.mk'.
In `glibc.mk', all the GNU C Library dependencies are defined and installed in
a separate directory structure under `$(BDIR)/software/installed-for-glibc'.
They will just be used to build the GNU C Library. Only the GNU C Library will
be installed in the standard place under `$(BDIR)/software/installed'.
After the GNU C Library is installed, `configure.sh' goes to the standard
`basic.mk' and builds everything as before, but this time, because they have
access to our build of the GNU C Library, they will link to it, not to the
host's C library.
Everything goes nicely except close to the start of the build of glibc, I get
an error about `__GMP_CAST' in the installed `gmp.h'. So I am not yet merging
this branch into master.
"""
The full error message is this:
gcc -B/build-dir/software/installed-for-glibc/bin/
../sysdeps/ieee754/float128/float1282mpn.c -c -std=gnu11 -fgnu89-inline -g
-O2 -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math
-fstack-protector-strong -Wstrict-prototypes -Wold-style-definition
-fmath-errno -fpie -fcf-protection -ftls-model=initial-exec
-I/build-dir/software/installed-for-glibc/include -I../include
-I/build-dir/software/build-tmp/glibc-2.30.9000-235-g807edded25/glibc-build/stdlib
-I/build-dir/software/build-tmp/glibc-2.30.9000-235-g807edded25/glibc-build
-I../sysdeps/unix/sysv/linux/x86_64/64 -I../sysdeps/unix/sysv/linux/x86_64
-I../sysdeps/unix/sysv/linux/x86/include -I../sysdeps/unix/sysv/linux/x86
-I../sysdeps/x86/nptl -I../sysdeps/unix/sysv/linux/wordsize-64
-I../sysdeps/x86_64/nptl -I../sysdeps/unix/sysv/linux/include
-I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread
-I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv
-I../sysdeps/unix/x86_64 -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu/multiarch
-I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu
-I../sysdeps/x86_64/multiarch -I../sysdeps/x86_64 -I../sysdeps/x86
-I../sysdeps/ieee754/float128 -I../sysdeps/ieee754/ldbl-96/include
-I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32
-I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I..
-I../libio -I. -D_LIBC_REENTRANT -include
/build-dir/software/build-tmp/glibc-2.30.9000-235-g807edded25/glibc-build/libc-modules.h
-DMODULE_NAME=libc -include ../include/libc-symbols.h -DPIC
-DTOP_NAMESPACE=glibc -o
/build-dir/software/build-tmp/glibc-2.30.9000-235-g807edded25/glibc-build/stdlib/float1282mpn.o
-MD -MP -MF
/build-dir/software/build-tmp/glibc-2.30.9000-235-g807edded25/glibc-build/stdlib/float1282mpn.o.dt
-MT
/build-dir/software/build-tmp/glibc-2.30.9000-235-g807edded25/glibc-build/stdlib/float1282mpn.o
In file included from divmod_1.c:27:
/build-dir/software/installed-for-glibc/include/gmp.h:322:33: error: expected
declaration specifiers or '...' before '(' token
322 | #define __GMP_CAST(type, expr) ((type) (expr))
| ^
/build-dir/software/installed-for-glibc/include/gmp.h:1495:21: note: in
expansion of macro '__GMP_CAST'
1495 | mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb)
| ^~~~~~~~~~
divmod_1.c:43:1: note: in expansion of macro 'mpn_divmod_1'
43 | mpn_divmod_1 (mp_ptr quot_ptr,
| ^~~~~~~~~~~~
make[3]: *** [../o-iterator.mk;9:
/build-dir/software/build-tmp/glibc-2.30.9000-235-g807edded25/glibc-build/stdlib/divmod_1.o]
Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory
'/dev/shm/reproducible-paper-template/glibc-2.30.9000-235-g807edded25/stdlib'
make[2]: *** [Makefile;438: stdlib/subdir_lib] Error 2
make[2]: Leaving directory
'/dev/shm/reproducible-paper-template/glibc-2.30.9000-235-g807edded25'
make[1]: *** [Makefile;12: install] Error 2
make[1]: Leaving directory
'/dev/shm/reproducible-paper-template/glibc-2.30.9000-235-g807edded25/glibc-build'
make: *** [reproduce/software/make/glibc.mk:447:
/build-dir/software/installed-for-glibc/version-info/proglib/glibc] Error 2
However, this same tarball built successfully on my system from scrach with no
problem. When I compared the `gmp.h' of the template (top) and the one on my
system (bottom), I got this:
#define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer -m64"
#define __GMP_CFLAGS "-march=x86-64 -mtune=generic -O2 -pipe
-fstack-protector-strong -fno-plt"
But even after adding `-mtune=generic -O2 -pipe -fstack-protector-strong
-fno-plt' to CFLAGS while compiling GMP, I still got the same error.
_______________________________________________________
Reply to this item at:
<https://savannah.nongnu.org/task/?15390>
_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/
- [task #15390] Installing GNU C Library within project,
Mohammad Akhlaghi <=