Am 13.11.2013 um 15:53 schrieb Emmanuel Bourgerie <m...@bourgerie.fr>:

> Turns out those libraries are available in my instantclient folder,
> which is aliased correctly (DYLD_LIBRARY_PATH).

Ah, that reminds me: according to e.g.
  http://forums.macrumors.com/showthread.php?t=956258

on OS X you do /not/ have a dynamic lookup of shared libs in the sense that a 
predefined order of paths is checked for the existence of a certain shared 
library.

The path of a given library is always [1] "hard-coded" into the 
executable/dependent library - that's where the "install_name_tool" comes into 
play which lets you set both a "library identifier" for the library as well as 
the path to it in the dependent binaries.

Refer e.g. to 

  http://osiris.laya.com/coding/dylib_linking.html

Also the Qt docs themselves explain how to "deploy on Mac":

  http://qt-project.org/doc/qt-5.0/qtdoc/deployment-mac.html

What that means: even if you have a library in /usr/lib/foo.dynlib with an 
"identifier" "foo.dylib" (can't remember what "identifiers" usually look like - 
refer to docs), but that path is not compiled into your executable (or the 
hard-coded path was something else like /usr/LOCAL/lib/foo.dynlib) then 
foo.dynlib /won't/ be found!

Note that the paths can (and usually are) be relative to each other. That's why 
you can move around application "bundles" and they still execute.

So if you *really* want to have your Oracle libs under /usr/lib/wherever *and* 
you are sure that they will be exactly placed at /this/ location on every Mac 
you intend to deploy your application, then you need to change that path in all 
your libraries (including Qt libs, in case they refer to it - e.g. the plugin!) 
and executables that refer to it! -> install_name_tool.

The preferred way would probably be to use relative paths and put the Oracle 
libs into your app bundle.


Anyway, that's how I have it roughly in mind. Details might be different ;)

[1] It /might/ be possible to circumvent that "hard-coded library path" and use 
a more flexible/Unix-like lib resolution with some linker flags, which would 
then also honour LD_LIBRARY_PATH and Co - but not sure.
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to