reproduce-devel
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]