Ismail Donmez via llvm-dev
2016-Jan-18 11:25 UTC
[llvm-dev] Problem with the way BUILD_SHARED_LIBS=ON handled in llvm 3.8
Hi, For lllvm 3.7 and before BUILD_SHARED_LIBS=ON would produce versioned shared libs like libLLVMLTO.so (symlink) libLLVMLTO.so.3.7 (symlink) libLLVMLTO.so.3.7.0 (real file) now it just builds an unversioned libLLVMLTO.so file which I believe is a problem because when a program links to llvm it generates a runtime dependency on libLLVMLTO.so instead of libLLVMLTO.so.3.7.0 which will break versioned dependencies. Can we please get this behaviour back? Thanks, ismail
Chris Bieneman via llvm-dev
2016-Jan-19 17:18 UTC
[llvm-dev] Problem with the way BUILD_SHARED_LIBS=ON handled in llvm 3.8
The LLVM libraries are not API stable (especially not the ones you generate with BUILD_SHARED_LIBS). Those libraries are really not intended to ship. What are you trying to accomplish? Have you tried using libLTO or libLLVM? The later is generated with the option LLVM_BUILD_LLVM_DYLIB=On. -Chris> On Jan 18, 2016, at 3:25 AM, Ismail Donmez <ismail at i10z.com> wrote: > > Hi, > > For lllvm 3.7 and before BUILD_SHARED_LIBS=ON would produce versioned > shared libs like > > libLLVMLTO.so (symlink) > libLLVMLTO.so.3.7 (symlink) > libLLVMLTO.so.3.7.0 (real file) > > now it just builds an unversioned libLLVMLTO.so file which I believe > is a problem because when a program links to llvm it generates a > runtime dependency on libLLVMLTO.so instead of libLLVMLTO.so.3.7.0 > which will break versioned dependencies. > > Can we please get this behaviour back? > > Thanks, > ismail
Ismail Donmez via llvm-dev
2016-Jan-19 17:29 UTC
[llvm-dev] Problem with the way BUILD_SHARED_LIBS=ON handled in llvm 3.8
Hi, On Tue, Jan 19, 2016 at 7:18 PM, Chris Bieneman <beanz at apple.com> wrote:> The LLVM libraries are not API stable (especially not the ones you generate with BUILD_SHARED_LIBS). Those libraries are really not intended to ship.I know that's why I need them versioned. Currently we (openSUSE) ship libLLVM package which will install libLLVMFooBar.so.3.7 files and llvm-devel package will ship unversioned libLLVMFooBar.so. So, any application linking against LLVM generates a dependency against the versioned libLLVMFooBar.so.3.7 and not against the unversioned library. This way when we ship the new libLLVM 3.8 old application will have to be recompiled to correctly link against the new LLVM LLVM 3.7 and before did this correctly and 3.8 should not break this. As I said in another mail I tried -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON but it's not currently usable as it is. Thanks, ismail
Seemingly Similar Threads
- Problem with the way BUILD_SHARED_LIBS=ON handled in llvm 3.8
- Problem with the way BUILD_SHARED_LIBS=ON handled in llvm 3.8
- Problem with the way BUILD_SHARED_LIBS=ON handled in llvm 3.8
- Building SVN head with CMake - shared libraries?
- Building SVN head with CMake - shared libraries?