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