Hi Charles,

From memory, we do libIex.so -> libIex-2_0.so.10.0.1 for the reason you suggest: so you can rebuild older code against EXR-2.0 without any change to sources or to your build system. The only reason to do libIex-2_0.so -> libIex-2_0.so.10.0.1 would be to allow linking against both old and new EXR libraries from the same binary (-lIex -lIex-2_0) but that seems to be an edge case which I think is unsupported unless you specifically make your own symlinks.

If you want to have both libraries available, and sometimes link against EXR-1.7 and sometimes against EXR-2.0, it might be better to install the libraries into two different locations by changing the prefix at configure time, and making sure the .so libraries can be located at runtime.

We'd also be interested to see the problem you are having building with ./configure. I believe "make check" fails with certain versions of gcc on extended precision CPUs, but that shouldn't effect a standard "configure, make, make install" build.





On 11/09/13 03:52, Piotr Stanczyk wrote:
Hey,

Most of that stuff is just pure autoconf, I'll take a closer look at your 2nd 
point and refresh my mind as I seem to remember we did some work on supporting 
custom namespacing.

I would like to know exactly what is failing for you regarding the build; would 
you happen to have the output from the shell or the configure log files.

Thanks

- Piotr

________________________________________
From: openexr-devel-bounces+pstanczyk=ilm....@nongnu.org 
[openexr-devel-bounces+pstanczyk=ilm....@nongnu.org] on behalf of Charles 
Flèche [charles.fle...@free.fr]
Sent: 09 September 2013 14:26
To: openexr-devel@nongnu.org
Subject: [Openexr-devel] .la and link to basename .so

Hi,

As the ./configure script doesn't allow me to build IlmBase and OpenEXR
on the latest Ubuntu, I'm taking a look at improving the current CMake
files. Here are a couple of questions about the build :

1. the build process yields a few .la files : libHalf.la, libIex.la,
etc... My understanding is that these .la files are legacy files from
libtool to help linking, but this mechanism should be replaced by proper
package-config .pc files. As OpenEXR already build valid .pc files, are
these .la files still useful ?

https://blog.flameeyes.eu/2008/04/what-about-those-la-files

2. taking libIex :
    libIex-2_0.so.10 -> libIex-2_0.so.10.0.1
    libIex-2_0.so.10.0.1
    libIex.a
    libIex.la
    libIex.so -> libIex-2_0.so.10.0.1

Now I get that renaming libIex.so to libIex-2_0.so is probably to avoid
symbol collisions while linking two versions of OpenEXR from the same
process. However, I don't understand the libIex.so ->
libIex-2_0.so.10.0.1 symbolic link. Why renaming libIex-2_0 to libIex ?
Is it to avoid modifying the build systems of the applications linking
against OpenEXR ? Why not :
    libIex-2_0.so.10 -> libIex-2_0.so.10.0.1
    libIex-2_0.so.10.0.1
    libIex-2_0.a
    libIex-2_0.la
    libIex-2_0.so -> libIex-2_0.so.10.0.1

I probably miss something, there...

Many thanks,

Charles

_______________________________________________
Openexr-devel mailing list
Openexr-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/openexr-devel

_______________________________________________
Openexr-devel mailing list
Openexr-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/openexr-devel


_______________________________________________
Openexr-devel mailing list
Openexr-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/openexr-devel

Reply via email to