[IPOL discuss] Python as a platform for reproducible research (... not!)

Nicolas Limare nicolas.limare at cmla.ens-cachan.fr
Thu Nov 21 06:10:35 CET 2013


> - The changes we had to make with IPOL codes and newer versions of compilers 
> where all related to the build procedure, not to the source code itself 
> (correct me if I am wrong). For example, there was an important
> restriction in gcc 4.7 with respect to the order of link libraries
> (former versions were more forgiving).

I just checked, and indeed previous versions were forgiving but the
compile options were wrong with respect to the standard and now gcc
enforces a standard-compliant sequence of options. The POSIX
definition of c99[1] says:

    SYNOPSIS
    
      c99 [options...] pathname [[pathname] [-I directory]
      [-L directory] [-l library]]... 

-> source or compiled files ("pathname") must be mentioned before the
   libraries

      -l  library
        Search the library named liblibrary.a. A library shall be
        searched when its name is encountered, so the placement of a
        -l option is significant. [..]

-> an unresolved symbol encountered in a library searched by a -l
   option must be searched in another library searched by a -l option
   placed AFTER the first opne.

PS: This is just to clarify these details based on POSIX standards, I
am not contradicting anyone in this discussion. The only point is that
now gcc does the right thing.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html

-- 
Nicolas LIMARE
http://nicolas.limare.net/                         pgp:0xFA423F4F
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <https://tools.ipol.im/mailman/archive/discuss/attachments/20131121/4edfcb67/attachment.pgp>


More information about the discuss mailing list