Telling GCC to add automatically libraries for linking...

Serge Cohen sergecohen@users.sourceforge.net
Mon Sep 1 21:55:00 GMT 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sorry for the cross post, but I've sent this message to the gcc-help 
nearly a week ago and had no answer, I hope that some one on these list 
will be able to help... (Follow the original message posted on 
gcc-help) Thanks for any help.



Hi;

**** Let me first explain in which context I am:

I'm in the process to build gcc 3.3.1 on an alpha (WITH threads).
After the first build I realised (after 2 days) that any C++ program 
should be linked with libpthreads (with s), otherwise the executable 
crashes.
I've found a way around that: setting env. variable LIBS to -lpthreads 
BEFORE the make command.

Then I wanted to test the compiler, and I discovered that this trick 
works perfectly for g++ (only 2 FAIL for 8041 PASS), but I still have 
problems making executable from Fortran or Objective-C....

Looking at the test logs, again I found that some libraries should be 
added for linking into executable (libthread --without s this time-- 
for Fortran, and librt and libpthread for Objectvie-C).
I' ve tried the same trick as for libpthreads (adding them to LIBS 
before bootstrapping)... but it does not work. Indeed I have tried 
before running the configure script.

In the mean time I've check that this is the only problem, by editing 
the g77.exp and objc.exp files from the testsuite (so that the proper 
libraries are added for every made executable): This yield a perfect 
test (No FAIL for g77 --compared to 784 FAIL, 1031 PASS--, and no FAIL 
for objc --compared to 500 FAIL, 178 PASS--)

When running the not modified testsuite, the PASS are indeed the 
compiling test... any 'executing' test is FAIL.


**** So now my question:
Is their any (proper) way to tell GCC during its building that any time 
it'll make executable from a certain type of source, it should add 
given library(ies) to the linker call?

Indeed I guess there is, as gcc is adding libfrtbegin to any Fortran 
sources when it call ld to link them, so the more interesting question 
(implied by the previous) is HOW?


Thanks in advance for any info on that.

Serge.


PS: I've tried to search the gcc lists for this issues, but all my 
attempt fell due to bad search motif I guess (much to much answer, most 
of them being 'noise' regarding my problem)... so I hope you'll accept 
my anticipated apologies if this info can be found on web (or 
documentation).

________________________________________________________
Serge COHEN
GPG Key ID: 9CBB58FB

N.K.I.
Department of Molecular Carcinogenesis
Plesmanlaan 121
1066 CX Amsterdam; NL

Offi: + 31 20-512-1957
E-Mail: scohen@nki.nl
________________________________________________________
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (Darwin)

iD8DBQE/U8BF5EPeG5y7WPsRAumSAJ4oWo84Iq29cz4cu47lEr8dHjUpCwCgqVze
D2PFzz2xaNzB0VhZSB5nwkY=
=wFFg
-----END PGP SIGNATURE-----




More information about the Gcc-testresults mailing list