bugManeage - Bugs: bug #56691, Confusing information about libc.a...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #56691: Confusing information about libc.a and Debian

Submitter:  Boud Roukema <boud>
Submitted:  Sun 28 Jul 2019 11:57:58 PM UTC
   
 
Category:  Software Severity:  3 - Normal
Item Group:  Crash Status:  Fixed
Privacy:  Public Assigned to:  makhlaghi
Open/Closed:  Closed

Sun 26 Apr 2020 03:36:07 AM UTC, comment #4: 

Indeed, thanks for noticing this! I am closing it.

It took me a long time since last year to fix it, and it was very gradual! We now check for the necessary C library elements through the configuration of the host's GCC :-).

Mohammad Akhlaghi <makhlaghi>
Group administrator
Sat 25 Apr 2020 11:47:02 PM UTC, comment #3: 

I think that this bug is out-of-date. The bug was primarily
about confusion information to the user, and that information
seems to have been removed from the reproduce/maneage main
configure.sh script.

I don't have any problem (except patience :P) in compiling gcc
on Debian/stretch now.

I recommend closing this bug.

Boud Roukema <boud>
Group Member
Mon 29 Jul 2019 07:54:02 PM UTC, comment #2: 

TRY.1:

commit: 41dbf93

I added host_cc=0 at line 947 of reproduce/software/bash/configure.sh,
just after the two closing 'fi's.


./project configure --minmapsize=4000000000 --jobs=4 --build-dir=/scratch/tmp_reproduce/ 2>&1 |tee log.6


This crashed with:


if test -z "$objects"; then                             \
  echo 'int __libgcc_eh_dummy;' > eh_dummy.c;           \
  /scratch/tmp_reproduce_gcc_debianway/software/build-tmp/gcc-9.1.0/build/./gcc/xgcc -B/scratch/tmp_reproduce_gcc_debianway/software/build-tmp/gcc-9.1.0/build/./gcc/ -B/scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/bin/ -B/scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/lib/ -isystem /scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/include -isystem /scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/sys-include   -fno-checking -g -O2 -O2  -g -O2 -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -I. -I. -I../.././gcc -I../../../libgcc -I../../../libgcc/. -I../../../libgcc/../gcc -I../../../libgcc/../include -I../../../libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS  -DUSE_TLS -fvisibility=hidden -DHIDE_EXPORTS -c eh_dummy.c             \
     -o eh_dummy.o;                             \
  objects=eh_dummy.o;                           \
fi;                                                     \
ar  rc libgcc.a $objects
ranlib libgcc_eh.a
ranlib libgcov.a
ranlib libgcc.a
# @multilib_flags@ is still needed because this may use
# /scratch/tmp_reproduce_gcc_debianway/software/build-tmp/gcc-9.1.0/build/./gcc/xgcc -B/scratch/tmp_reproduce_gcc_debianway/software/build-tmp/gcc-9.1.0/build/./gcc/ -B/scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/bin/ -B/scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/lib/ -isystem /scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/include -isystem /scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/sys-include   -fno-checking and -O2  -g -O2 -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  directly.
# @multilib_dir@ is not really necessary, but sometimes it has
# more uses than just a directory name.
/scratch/tmp_reproduce_gcc_debianway/software/installed/bin/bash ../../../libgcc/../mkinstalldirs .
/scratch/tmp_reproduce_gcc_debianway/software/build-tmp/gcc-9.1.0/build/./gcc/xgcc -B/scratch/tmp_reproduce_gcc_debianway/software/build-tmp/gcc-9.1.0/build/./gcc/ -B/scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/bin/ -B/scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/lib/ -isystem /scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/include -isystem /scratch/tmp_reproduce_gcc_debianway/software/installed/x86_64-pc-linux-gnu/sys-include   -fno-checking -O2  -g -O2 -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o ./libgcc_s.so.1.tmp -g -O2 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _mulhc3_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _divhc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _divmoddi4_s.o _udivdi3_s.o _umoddi3_s.o _udivmoddi4_s.o _udiv_w_sdiv_s.o cpuinfo_s.o sfp-exceptions_s.o addtf3_s.o divtf3_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o getf2_s.o letf2_s.o eqtf2_s.o _divtc3_s.o _multc3_s.o _powitf2_s.o enable-execute-stack_s.o unwind-dw2_s.o unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o libgcc.a -lc && rm -f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && (echo "/* GNU ld script"; echo "   Use the shared library, but some functions are only in"; echo "   the static library.  */"; echo "GROUP ( libgcc_s.so.1 -lgcc )" ) > ./libgcc_s.so
/scratch/tmp_reproduce_gcc_debianway/software/installed/bin/ld: cannot find crti.o: No such file or directory
/scratch/tmp_reproduce_gcc_debianway/software/installed/bin/ld: cannot find -lc
/scratch/tmp_reproduce_gcc_debianway/software/installed/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile;992: libgcc_s.so] Error 1
make[4]: Leaving directory '/dev/shm/dir-reproduce_gcc_debianway-boud/gcc-9.1.0/build/x86_64-pc-linux-gnu/libgcc'
make[3]: *** [Makefile;18744: all-stage1-target-libgcc] Error 2
make[3]: Leaving directory '/dev/shm/dir-reproduce_gcc_debianway-boud/gcc-9.1.0/build'
make[2]: *** [Makefile;24054: stage1-bubble] Error 2
make[2]: Leaving directory '/dev/shm/dir-reproduce_gcc_debianway-boud/gcc-9.1.0/build'
make[1]: *** [Makefile;994: all] Error 2
make[1]: Leaving directory '/dev/shm/dir-reproduce_gcc_debianway-boud/gcc-9.1.0/build'
reproduce/software/make/basic.mk:1121: recipe for target '/scratch/tmp_reproduce_gcc_debianway/software/installed/version-info/proglib/gcc' failed
make: *** [/scratch/tmp_reproduce_gcc_debianway/software/installed/version-info/proglib/gcc] Error 2



TRY.2:

Same host_cc=0 hack as above and in reproduce/software/make/basic.mk I added line 61:


export CFLAGS := -L/usr/lib/x86_64-linux-gnu


I also started from completely clean directories (without starting from scratch, crti.o
was not found).

Result:


ldconfig: file /scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libssl.so is truncated

----------------------------------------------------------------------
Libraries have been installed in:
   /scratch/tmp_reproduce_gcc_debianway/software/installed/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /scratch/tmp_reproduce_gcc_debianway/software/installed/bin/mkdir -p '/scratch/tmp_reproduce_gcc_debianway/software/installed/include'
 /scratch/tmp_reproduce_gcc_debianway/software/installed/bin/install -c -m 644 gmp.h '/scratch/tmp_reproduce_gcc_debianway/software/installed/include'
make  install-data-hook
make[5]: Entering directory '/dev/shm/topdir-reproduce_gcc_debianway-boud/gmp-6.1.2'

+-------------------------------------------------------------+
| CAUTION:                                                    |
|                                                             |
| If you have not already run "make check", then we strongly  |
| recommend you do so.                                        |
|                                                             |
| GMP has been carefully tested by its authors, but compilers |
| are all too often released with serious bugs.  GMP tends to |
| explore interesting corners in compilers and has hit bugs   |
| on quite a few occasions.                                   |
|                                                             |
+-------------------------------------------------------------+

make[5]: Leaving directory '/dev/shm/topdir-reproduce_gcc_debianway-boud/gmp-6.1.2'
make[4]: Leaving directory '/dev/shm/topdir-reproduce_gcc_debianway-boud/gmp-6.1.2'
make[3]: Leaving directory '/dev/shm/topdir-reproduce_gcc_debianway-boud/gmp-6.1.2'
make[2]: Leaving directory '/dev/shm/topdir-reproduce_gcc_debianway-boud/gmp-6.1.2'
make[1]: Leaving directory '/dev/shm/topdir-reproduce_gcc_debianway-boud/gmp-6.1.2'


and a file paper.tex was created.

But in reality, the configuration still has some errors, including:

Several attempts to create /etc/ld.so.cache~, forbidden to an ordinary user:


/scratch/tmp_reproduce_gcc_debianway/software/installed/share/man/man3/SSL_CTX_set_ctlog_list_file.3
/scratch/tmp_reproduce_gcc_debianway/software/installed/share/man/man3/SSL_CTX_set_default_ctlog_list_file.3 -> /scratch/tmp_reproduce_gcc_debianway/software/installed/share/man/man3/SSL_CTX_set_ctlog_list_file.3
/sbin/ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
make[2]: [Makefile;936: /scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libncursesw.so.6.1] Error 1 (ignored)
make[2]: Leaving directory '/dev/shm/topdir-reproduce_gcc_debianway-boud/ncurses-6.1/ncurses'



/sbin/ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
make[2]: [Makefile;308: /scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libpanelw.so.6.1] Error 1 (ignored)
installing ./panel.h in /scratch/tmp_reproduce_gcc_debianway/software/installed/include/ncursesw
...
/sbin/ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
make[2]: [Makefile;350: /scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libmenuw.so.6.1] Error 1 (ignored)
installing ./eti.h in /scratch/tmp_reproduce_gcc_debianway/software/installed/include/ncursesw


and then


mv: cannot stat '/scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libreadline.a': No such file or directory
make[1]: [Makefile;254: install-static] Error 1 (ignored)
/usr/bin/install -c -m 644 libreadline.a /scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libreadline.a
test -n "ranlib" && ranlib /scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libreadline.a
mv /scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libhistory.a /scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libhistory.old
mv: cannot stat '/scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libhistory.a': No such file or directory
make[1]: [Makefile;257: install-static] Error 1 (ignored)
/usr/bin/install -c -m 644 libhistory.a /scratch/tmp_reproduce_gcc_debianway/software/installed/lib/libhistory.a



Boud Roukema <boud>
Group Member
Mon 29 Jul 2019 01:44:24 AM UTC, comment #1: 

Thanks a lot for the great report.

Let me just address the comment about tarball downloading first: We have a backup tarball repository containing all the tarballs that the template currently needs.

When a software's server is in-accessible for any reason, you can use this repository to download the tarball manually and put it in `.build/software/tarballs'. Or, you can just clone the whole tarball repository once and use it for all your projects. You can then give the absolute address of the local tarball repository to the `--software-dir' option of `./project configure' and the project will not need to download tarballs any more.

I have been thinking of automatically using our backup tarball repository when a tarball URL isn't accessible, so to make it formal, I just defined task #15345.

---------

Let's get back to the main issue: the two proposed solutions were based on what we tried with two different Debian-based systems (one was Ubuntu, I can't remember the other one). Both are indeed an ugly solution (the user should not have to do anything as root).

As you pointed out so nicely, they are not generic and vary from one OS to another (but so far, we have only seen this problem in building GCC from source on Debian-based OSs). Other OSs we've tested don't have this problem.

But this is very strange for me: why is it so hard to build GCC on Debian-based OSs? Since you are using Debian, not any of its derivaties, can you please try the following:

Make no change to your original system, and just ignore this test by setting `host_cc=0' in line 937 of configure.sh (right after the block of code that prints this warning, ending in `fi'). Will you have a problem with building GCC?

Unfortunately I am not a Debian-based user myself, so it has always been very hard for me to find a generic solution to this problem. But since you are very familiar with Debian, maybe with your help we'll be able to fix this annoying problem for Debian-based users.

Just in case you are interested, the Make rule to build GCC is in the end of reproduce/software/make/basic.mk.

But anyway, let's get back to the two hacks that you tried.

For the first one (regarding `crti.o' and `crtn.o'), I came up with this interesting suggestion: to set `LIBRARY_PATH'. If the `libc.a' file is in the same directory, this might even fix this whole problem. Can you please try it when you get the chance?

I am not sure about the second one, let's try the possible solution above first, then see if the second problem still happens or not.

Mohammad Akhlaghi <makhlaghi>
Group administrator
Sun 28 Jul 2019 11:57:58 PM UTC, original submission:  

SUMMARY:

The main configure script has a misleading/confusing warning in
relation to libc.a, multilib and Debian. This is (i) (at least) a
documentation bug. Moreover, (ii) sym-linking libc.a, crti.o, and crtn.o
into /usr/lib64 gave a relocation/-fPIC related error.

DETAILS:

Starting on line 1047 of the main ./configure script of commit 33820ab,
or line 903 of reproduce/software/bash/configure.sh of commit da1123c,
there is the confusing warning (and confusing comments a few lines earlier):

> This system doesn't have '/usr/lib/libc.a' or '/usr/lib64/libc.a'. Because
> of this, the project can't build its custom GCC to ensure better
> reproducibility. We strongly recommend installing the proper package (for
> your operating system) that installs this necessary file.
>
> Some possible solutions:
>   1. On some Debian-based GNU/Linux distros, these two packages may fix the
>      problem: 'gcc-multilib' and 'g++-multilib'.
>   2. (BE CAREFUL!) If you have '/usr/lib/x86_64-linux-gnu' but don't have
>      '/usr/lib64', then running the following command might fix this
>      particular problem by making a symbolic link.
>          $ sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
>      After the configure script is finished, delete the link with 'rm
>      /usr/lib64' (you won't need it any more as far as this project is
>      concerned).

 
1. I have a standard Debian GNU/Linux stretch (old-stable, only became
old-stable a few weeks ago) distribution. Both the multilib packages are installed:


$ dpkg -l |grep multilib
ii  g++-6-multilib                            6.3.0-18+deb9u1                   amd64        GNU C++ compiler (multilib support)
ii  g++-multilib                              4:6.3.0-4                         amd64        GNU C++ compiler (multilib files)
ii  gcc-6-multilib                            6.3.0-18+deb9u1                   amd64        GNU C compiler (multilib support)
ii  gcc-multilib                              4:6.3.0-4                         amd64        GNU C compiler (multilib files)


but these do not place libc.a in either /usr/lib or /usrlib64 . It's true that
the information says "Debian-based", not "Debian". Nothing stops Debian derivatives
from making hacks that are hard to sustain and maintain. So point 1. does not apply
for a major Debian distribution.

2. I happen to already have /usr/lib64 already created by a non-standard package
provided by a printer/scanner vendor. So I can't do the proposed symlink without
doing a bit of shifting of directories/files and symlinking, which later would have
to be reversed "by hand". My guess is that the proposed symlink is not just for
libc.a, but also for other gcc-related libraries.

Sym-linking all the files in /usr/lib/x86_64-linux-gnu/ could be a bit tricky to
reverse later on, since I have 3666 directories, libraries, and symlinks there:


ls /usr/lib/x86_64-linux-gnu/ |wc
   3666    3666   69266


Having to later on do /usr/lib64# rm -f * as root user is
not the sort of command that I like doing, especially in system space.

So neither comments 1 nor 2 were enough for me to use literally.

Here's what I tried, and what failed.

MOTIVATION:

Comment: There are presumably good reasons why Debian stretch puts libc.a in other   
places than /usr/lib/libc.a and /usr/lib64/libc.a - probably to allow for
multiple architectures, which is the point of multilib.

I have


-rw-r--r-- 1 root root 3588134 Feb  6 22:17 /usr/lib32/libc.a
-rw-r--r-- 1 root root 4622112 Feb  6 22:17 /usr/lib/x86_64-linux-gnu/libc.a


in the packages


libc6-dev-i386: /usr/lib32/libc.a
libc6-dev:amd64: /usr/lib/x86_64-linux-gnu/libc.a


HACK.1:

/usr/lib# ln -s x86_64-linux-gnu/libc.a .


I tried, using commit 33820ab,


./configure --minmapsize=4000000000 --jobs=4 --build-dir=/scratch/tmp_reproduce/


Result: this failed with:


/scratch/tmp_reproduce/software/installed/bin/bash ../../../libgcc/../mkinstalldirs .
/scratch/tmp_reproduce/software/build-tmp/gcc-9.1.0/build/./gcc/xgcc -B/scratch/tmp_reproduce/software/build-tmp/gcc-9.1.0/build/./gcc/ -B/scratch/tmp_reproduce/software/installed/x86_64-pc-linux-gnu/bin/ -B/scratch/tmp_reproduce/software/installed/x86_64-pc-linux-gnu/lib/ -isystem /scratch/tmp_reproduce/software/installed/x86_64-pc-linux-gnu/include -isystem /scratch/tmp_reproduce/software/installed/x86_64-pc-linux-gnu/sys-include   -fno-checking -O2  -g -O2 -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o ./libgcc_s.so.1.tmp -g -O2 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _mulhc3_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _divhc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _divmoddi4_s.o _udivdi3_s.o _umoddi3_s.o _udivmoddi4_s.o _udiv_w_sdiv_s.o cpuinfo_s.o sfp-exceptions_s.o addtf3_s.o divtf3_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o getf2_s.o letf2_s.o eqtf2_s.o _divtc3_s.o _multc3_s.o _powitf2_s.o enable-execute-stack_s.o unwind-dw2_s.o unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o libgcc.a -lc && rm -f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && (echo "/* GNU ld script"; echo "   Use the shared library, but some functions are only in"; echo "   the static library.  */"; echo "GROUP ( libgcc_s.so.1 -lgcc )" ) > ./libgcc_s.so
/scratch/tmp_reproduce/software/installed/bin/ld: cannot find crti.o: No such file or directory
/scratch/tmp_reproduce/software/installed/bin/ld: cannot find crtn.o: No such file or directory



HACK.2:

/usr/lib# ln -s x86_64-linux-gnu/libc.a .
/usr/lib64# ln -s /usr/lib/x86_64-linux-gnu/crti.o .
/usr/lib64# ln -s /usr/lib/x86_64-linux-gnu/crtn.o .


I tried, using commit da1123c,


./project configure --minmapsize=4000000000 --jobs=4 --build-dir=/scratch/tmp_reproduce/


Comment: The scripts dealt efficiently with ftp.astro.com being offline for 10-20 minutes or so - file-5.36 - was
downloaded when ftp.astro.com returned online.

Result: this failed with:


/scratch/tmp_reproduce/software/installed/bin/bash ../../../libgcc/../mkinstalldirs .
/scratch/tmp_reproduce/software/build-tmp/gcc-9.1.0/build/./gcc/xgcc -B/scratch/tmp_reproduce/software/build-tmp/gcc-9.1.0/build/./gcc/ -B/scratch/tmp_reproduce/software/installed/x86_64-pc-linux-gnu/bin/ -B/scratch/tmp_reproduce/software/installed/x86_64-pc-linux-gnu/lib/ -isystem /scratch/tmp_reproduce/software/installed/x86_64-pc-linux-gnu/include -isystem /scratch/tmp_reproduce/software/installed/x86_64-pc-linux-gnu/sys-include   -fno-checking -O2  -g -O2 -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o ./libgcc_s.so.1.tmp -g -O2 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _mulhc3_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _divhc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _divmoddi4_s.o _udivdi3_s.o _umoddi3_s.o _udivmoddi4_s.o _udiv_w_sdiv_s.o cpuinfo_s.o sfp-exceptions_s.o addtf3_s.o divtf3_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o getf2_s.o letf2_s.o eqtf2_s.o _divtc3_s.o _multc3_s.o _powitf2_s.o enable-execute-stack_s.o unwind-dw2_s.o unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o libgcc.a -lc && rm -f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && (echo "/* GNU ld script"; echo "   Use the shared library, but some functions are only in"; echo "   the static library.  */"; echo "GROUP ( libgcc_s.so.1 -lgcc )" ) > ./libgcc_s.so
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(genops.o): relocation R_X86_64_32 against undefined symbol `_pthread_cleanup_push_defer' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(malloc.o): relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strcspn-c.o): relocation R_X86_64_32S against symbol `___m128i_shift_right' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(cacheinfo.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(getsysstats.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(chk_fail.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(fortify_fail.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-support.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-iteratephdr.o): relocation R_X86_64_32 against undefined symbol `__pthread_mutex_lock' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(init-first.o): relocation R_X86_64_32 against undefined symbol `_dl_starting_up' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sysdep.o): relocation R_X86_64_TPOFF32 against symbol `errno' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(assert.o): relocation R_X86_64_32 against undefined symbol `__pthread_setcancelstate' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dcigettext.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(finddomain.o): relocation R_X86_64_32 against undefined symbol `__pthread_rwlock_rdlock' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(loadmsgcat.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(localealias.o): relocation R_X86_64_32 against symbol `_nl_C_locobj' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(plural.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(plural-exp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sigaction.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(setenv.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strtol_l.o): relocation R_X86_64_32S against symbol `__strtol_ul_max_tab' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strtoul_l.o): relocation R_X86_64_32S against symbol `__strtol_ul_max_tab' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(_itoa.o): relocation R_X86_64_32 against symbol `_itoa_upper_digits' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(fxprintf.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iofclose.o): relocation R_X86_64_32 against protected symbol `__stop___libc_IO_vtables' can not be used when making a shared object
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iofflush.o): relocation R_X86_64_32 against protected symbol `__stop___libc_IO_vtables' can not be used when making a shared object
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iofopen.o): relocation R_X86_64_32 against symbol `_IO_file_jumps_maybe_mmap' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iofputs.o): relocation R_X86_64_32 against protected symbol `__stop___libc_IO_vtables' can not be used when making a shared object
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iofwrite.o): relocation R_X86_64_32 against protected symbol `__stop___libc_IO_vtables' can not be used when making a shared object
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(wgenops.o): relocation R_X86_64_32 against protected symbol `__stop___libc_IO_vtables' can not be used when making a shared object
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(wfileops.o): relocation R_X86_64_32 against protected symbol `__stop___libc_IO_vtables' can not be used when making a shared object
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iofwide.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(vasprintf.o): relocation R_X86_64_32S against symbol `_IO_str_jumps' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(libc_fatal.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(vtables.o): relocation R_X86_64_32 against symbol `__dlopen' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(fileops.o): relocation R_X86_64_32 against protected symbol `__stop___libc_IO_vtables' can not be used when making a shared object
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strops.o): relocation R_X86_64_32 against `.rodata.str1.16' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strstr.o): relocation R_X86_64_32 against symbol `__strstr_sse2' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(wcsmbsload.o): relocation R_X86_64_32 against undefined symbol `__pthread_rwlock_wrlock' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sysconf.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(getcwd.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(getpagesize.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(backtrace.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(backtracesymsfd.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-load.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-lookup.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-object.o): relocation R_X86_64_32 against undefined symbol `__pthread_mutex_lock' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-reloc.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-hwcaps.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-error.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-debug.o): relocation R_X86_64_32 against undefined symbol `_r_debug' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-misc.o): relocation R_X86_64_32 against `.rodata.str1.16' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-tls.o): relocation R_X86_64_32 against `.rodata.str1.16' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-origin.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-cache.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-addr.o): relocation R_X86_64_32 against undefined symbol `__pthread_mutex_lock' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-tsd.o): relocation R_X86_64_TPOFF32 against `data.8189' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(libc-tls.o): relocation R_X86_64_32S against undefined symbol `_dl_static_dtv' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(gconv_open.o): relocation R_X86_64_32 against symbol `_nl_C_locobj' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(gconv.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(gconv_db.o): relocation R_X86_64_32 against `.rodata.str1.16' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(gconv_conf.o): relocation R_X86_64_32 against undefined symbol `__gconv_modules_db' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(gconv_builtin.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(gconv_simple.o): relocation R_X86_64_32 against `.rodata.str1.32' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(gconv_cache.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(gconv_dl.o): relocation R_X86_64_32 against `.rodata.str1.16' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(setlocale.o): relocation R_X86_64_32S against symbol `_nl_global_locale' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(findlocale.o): relocation R_X86_64_32 against symbol `_nl_C_name' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(loadlocale.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(loadarchive.o): relocation R_X86_64_32S against `.bss' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(lc-ctype.o): relocation R_X86_64_32S against symbol `_nl_global_locale' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(vfprintf.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(printf_fp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(printf_fphex.o): relocation R_X86_64_32 against `.rodata.str4.4' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(vfwprintf.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(printf-parsemb.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(printf-parsewc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(filedoalloc.o): relocation R_X86_64_32 against protected symbol `__stop___libc_IO_vtables' can not be used when making a shared object
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iogetdelim.o): relocation R_X86_64_32 against symbol `__gcc_personality_v0' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iopadn.o): relocation R_X86_64_32 against `.rodata.cst16' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iowpadn.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(_strerror.o): relocation R_X86_64_32S against symbol `_sys_errlist_internal' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(btowc.o): relocation R_X86_64_32S against symbol `_nl_C_LC_CTYPE' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(wcrtomb.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(mbsrtowcs.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(wcsrtombs.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(mbsrtowcs_l.o): relocation R_X86_64_32S against symbol `_nl_C_LC_CTYPE' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(tzset.o): relocation R_X86_64_32S against symbol `__mon_yday' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(tzfile.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(readonly-area.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-runtime.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-profile.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-open.o): relocation R_X86_64_32S against symbol `_dl_ns' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-close.o): relocation R_X86_64_32 against `.rodata.str1.16' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(tlsdesc.o): relocation R_X86_64_32 against undefined symbol `__pthread_mutex_lock' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-libc.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(iovsscanf.o): relocation R_X86_64_32S against symbol `_IO_str_jumps' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(fseek.o): relocation R_X86_64_32 against symbol `__gcc_personality_v0' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(ftello.o): relocation R_X86_64_32 against symbol `__gcc_personality_v0' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sdlerror.o): relocation R_X86_64_32 against undefined symbol `__pthread_key_create' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sdlinfo.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sdlmopen.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strerror.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(offtime.o): relocation R_X86_64_32 against symbol `__mon_yday' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(localtime.o): relocation R_X86_64_32 against undefined symbol `_tmbuf' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(mktime.o): relocation R_X86_64_32S against symbol `__mon_yday' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(profil.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-deps.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-init.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-fini.o): relocation R_X86_64_32S against symbol `_dl_ns' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-version.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(vfscanf.o): relocation R_X86_64_32 against undefined symbol `_pthread_cleanup_push_defer' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(ioseekoff.o): relocation R_X86_64_32 against protected symbol `__stop___libc_IO_vtables' can not be used when making a shared object
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sdlopen.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sdlclose.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sdlsym.o): relocation R_X86_64_32 against undefined symbol `__pthread_mutex_lock' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(sdlvsym.o): relocation R_X86_64_32 against undefined symbol `__pthread_mutex_lock' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(mbrlen.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(mbrtowc.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(dl-sym.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strtof_l.o): relocation R_X86_64_32S against symbol `_tens_in_limb' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strtod_l.o): relocation R_X86_64_32S against symbol `_tens_in_limb' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strtold_l.o): relocation R_X86_64_32S against symbol `_tens_in_limb' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strtof_nan.o): relocation R_X86_64_32 against symbol `_nl_C_locobj' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strtod_nan.o): relocation R_X86_64_32 against symbol `_nl_C_locobj' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: /usr/lib/../lib64/libc.a(strtold_nan.o): relocation R_X86_64_32 against symbol `_nl_C_locobj' can not be used when making a shared object; recompile with -fPIC
/scratch/tmp_reproduce/software/installed/bin/ld: final link failed: nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile;992: libgcc_s.so] Error 1
make[4]: Leaving directory '/dev/shm/reproduce-boud/gcc-9.1.0/build/x86_64-pc-linux-gnu/libgcc'
make[3]: *** [Makefile;18744: all-stage1-target-libgcc] Error 2
make[3]: Leaving directory '/dev/shm/reproduce-boud/gcc-9.1.0/build'
make[2]: *** [Makefile;24054: stage1-bubble] Error 2
make[2]: Leaving directory '/dev/shm/reproduce-boud/gcc-9.1.0/build'
make[1]: *** [Makefile;994: all] Error 2
make[1]: Leaving directory '/dev/shm/reproduce-boud/gcc-9.1.0/build'
reproduce/software/make/basic.mk:1121: recipe for target '/scratch/tmp_reproduce/software/installed/version-info/proglib/gcc' failed
make: *** [/scratch/tmp_reproduce/software/installed/version-info/proglib/gcc] Error 2



Boud Roukema <boud>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by makhlaghi (Posted a comment)
  • -email is unavailable- added by boud (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-04-26 makhlaghi CategoryNone Software
        StatusNone Fixed
        Assigned toNone makhlaghi
        Open/ClosedOpen Closed
        Summaryconfusing information about libc.a and Debian Confusing information about libc.a and Debian

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code