[Ecls-list] Solaris SPARC issues with Sun complier - location of gmp specified.

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sun Aug 2 17:47:23 UTC 2009


On Sun, Aug 2, 2009 at 5:05 PM, Gabriel Dos
Reis<gdr at integrable-solutions.net> wrote:
> GCC is only following orders -- the orders may be stupid but it
> is not GCC's fault.
>
> The problem is with C notion of 'extern inline'.  It is not what you would
> think it is.  If you use "static inline", GCC will not emit a reference
> to the function if it is not referenced.

But the problem is not only that it emits a reference: it is
duplicating the code on every file that includes the header! Every
file in ECL includes gmp.h and due to the extern __inline__
declaration, those functions are being compiled and externalized on
every single file. Then the linker complains about those multiple
references.

I had a look and the compiler in that particular cluster is very new,
4.4.1. I wonder whether behavior w.r.t. extern inline declarations has
changed recently, because I do not have this problem with the same
headers in other platforms and older versions of gcc (<= 4.3)

In any case, I can report that ECL + MPIR is doing the job.
Unfortunately I have problems with my usb modem and can not get a
stable connection to the Solaris boxes to see a build finish. Will try
later on or tomorrow.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the ecl-devel mailing list