openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openexr-devel] .la and link to basename .so


From: Peter Hillman
Subject: Re: [Openexr-devel] .la and link to basename .so
Date: Wed, 11 Sep 2013 09:59:43 +1200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7

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: address@hidden address@hidden on behalf of Charles Flèche address@hidden
Sent: 09 September 2013 14:26
To: address@hidden
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
address@hidden
https://lists.nongnu.org/mailman/listinfo/openexr-devel

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]