Use "install_name_tool" to do that assuming that who ever built the library used the correct linker flags to allow you to do that. If not then you are out of luck. ___________________________________________________________ Mike Jackson www.bluequartz.net Principal Software Engineer mike.jack...@bluequartz.net BlueQuartz Software Dayton, Ohio
On Sep 22, 2011, at 11:57 AM, amine bezzarga wrote: > Any ideas about how to override the "install_name" of /usr/local/lib on that > library ? > > On Wed, Sep 21, 2011 at 1:52 AM, amine bezzarga <abezz...@gmail.com> wrote: > Yes I think I get it, I tried that but it doesn't work either: > install_name_tool -change /usr/local/lib/libirrklang.dylib > ./Dependencies/IrrKLangAudioEngine/bin/macosx-gcc/ > ./Dependencies/IrrKLangAudioEngine/bin/macosx-gcc/libirrklang.dylib > > Can you tell me, what can I do to fix the problem ? > > On Tue, Sep 20, 2011 at 2:19 AM, Michael Jackson > <mike.jack...@bluequartz.net> wrote: > Yes. Who ever built the irrklang library has set an "install_name" of > /usr/local/lib on that library. So it does not matter where the library is > located. OS X thinks it is in /usr/local/lib. > You need to fix how that library is compiled and linked. Does that make > it clear what is going on? > > > ----- > Mike Jackson www.bluequartz.net > Principal Software Engineer mike.jack...@bluequartz.net > BlueQuartz Software Dayton, Ohio > Sent from my mobile device. > > On Sep 19, 2011, at 19:56, amine bezzarga <abezz...@gmail.com> wrote: > >> Yeah, I tried the NO_DEFAULT_PATH option but without success. >> My target_link_library command look like this: >> >> target_link_libraries(${CMAKE_PROJECT_NAME} ${OGRE_LIBRARIES} >> ${OGRE_PLUGIN_LIBRARIES} ${Boost_LIBRARIES} ${OIS_LIBRARIES} >> ${IrrKlang_LIBRARIES}) >> >> Here is the otool output of the sound library: >> $ otool -L >> ./Dependencies/IrrKLangAudioEngine/bin/macosx-gcc/libirrklang.dylib >> ./Dependencies/IrrKLangAudioEngine/bin/macosx-gcc/libirrklang.dylib >> (architecture ppc): >> /usr/local/lib/libirrklang.dylib (compatibility version 1.0.0, current >> version 1.0.0) >> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio >> (compatibility version 1.0.0, current version 1.0.0) >> /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current >> version 7.4.0) >> /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version >> 1.0.0) >> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current >> version 88.3.3) >> ./Dependencies/IrrKLangAudioEngine/bin/macosx-gcc/libirrklang.dylib >> (architecture i386): >> /usr/local/lib/libirrklang.dylib (compatibility version 1.0.0, current >> version 1.0.0) >> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio >> (compatibility version 1.0.0, current version 1.0.0) >> /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current >> version 7.4.0) >> /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version >> 1.0.0) >> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current >> version 88.3.3) >> >> Does it help ? >> >> >> On Mon, Sep 19, 2011 at 1:56 PM, Michael Jackson >> <mike.jack...@bluequartz.net> wrote: >> My guess is that the audio library has an install path of /usr/local/lib >> encoded in it. Try posting tue output of otool for the actual audio library. >> >> ----- >> Mike Jackson www.bluequartz.net >> Principal Software Engineer mike.jack...@bluequartz.net >> BlueQuartz Software Dayton, Ohio >> Sent from my mobile device. >> >> On Sep 18, 2011, at 23:38, Cristobal Navarro <axisch...@gmail.com> wrote: >> >>> ok i get your point. >>> mmm. In others words you need something equivalent to rpath command, im >>> pretty sure cmake can handle this easily let me know if the following helps. >>> >>> have you tried adding more options to the find_library command ?? >>> for example have you tried this (also, with the PATHS command just to be >>> sure): >>> >>> find_library(IrrKlang_LIBRARIES irrKlang >>> PATHS >>> ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/IrrKLangAudioEngine/bin/macosx-gcc >>> NO_DEFAULT_PATH >>> ) >>> >>> And what is your "target_link_libraries" command? >>> >>> >>> >>> On Sun, Sep 18, 2011 at 12:33 PM, amine bezzarga <abezz...@gmail.com> wrote: >>> The issue is not about finding the library at built time, event if my >>> library is found in >>> ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/IrrKLangAudioEngine/bin/macosx-gcc >>> and after building is done, my app is still looking for the library in >>> /usr/local/lib at runtime as you can see with the otools output in my first >>> message. >>> >>> I want to find a way to tell the linker to link the library from where it >>> find it. >>> Does it make sense ? >>> >>> On Sun, Sep 18, 2011 at 4:29 PM, Cristobal Navarro <axisch...@gmail.com> >>> wrote: >>> yes >>> >>> you have to provide another option >>> find_library( IrrKlang_LIBRARIES irrKlang PATHS <path1 to library> <path2 >>> to library> ... ) >>> >>> http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_library >>> >>> is this what you need? >>> best regards >>> Cristobal >>> >>> >>> On Sun, Sep 18, 2011 at 10:16 AM, amine bezzarga <abezz...@gmail.com> wrote: >>> Hello guys, >>> >>> I added a sound library to my project, So I first created a cmake module to >>> find it >>> >>> MESSAGE(STATUS "Looking for IrrKlang...") >>> >>> find_library(IrrKlang_LIBRARIES irrKlang >>> >>> ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/IrrKLangAudioEngine/bin/macosx-gcc >>> ) >>> >>> find_path(IrrKlang_INCLUDE_DIRS irrKlang.h >>> >>> ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/IrrKLangAudioEngine/include >>> ) >>> >>> IF (IrrKlang_INCLUDE_DIRS AND IrrKlang_LIBRARIES) >>> SET(IrrKlang_FOUND TRUE) >>> ENDIF (IrrKlang_INCLUDE_DIRS AND IrrKlang_LIBRARIES) >>> >>> >>> IF (IrrKlang_FOUND) >>> IF (NOT IrrKlang_FIND_QUIETLY) >>> MESSAGE(STATUS "Found IrrKlang: ${IrrKlang_LIBRARIES}") >>> ENDIF (NOT IrrKlang_FIND_QUIETLY) >>> ELSE (IrrKlang_FOUND) >>> IF (IrrKlang_FIND_REQUIRED) >>> MESSAGE(FATAL_ERROR "Could not find IrrKlang") >>> ENDIF (IrrKlang_FIND_REQUIRED) >>> ENDIF (IrrKlang_FOUND) >>> >>> Everything works fine exept I can't control from where the library is >>> linked. >>> Why after I build my project OSX is looking for that library in >>> /usr/local/lib ? >>> Is there a way to tell cmake to link the library from where it find it i.e >>> ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/IrrKLangAudioEngine/bin/macosx-gcc >>> ? >>> >>> here is my otool output after building the project >>> $ otool -L ./bin/MacOSX/OgreApp.app/Contents/MacOS/OgreApp >>> ./bin/MacOSX/OgreApp.app/Contents/MacOS/OgreApp: >>> @executable_path/../Frameworks/Ogre.framework/Versions/1.7.1/Ogre >>> (compatibility version 0.0.0, current version 1.7.1) >>> @executable_path/../Components/libOgreRTShaderSystem.dylib >>> (compatibility version 0.0.0, current version 1.7.1) >>> @executable_path/../Frameworks/OIS.framework/Versions/A/OIS >>> (compatibility version 1.0.0, current version 1.0.0) >>> /usr/local/lib/libirrklang.dylib (compatibility version 1.0.0, current >>> version 1.0.0) --> I want cmake to link that lib, because my lib is not >>> there. >>> /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current >>> version 7.9.0) >>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current >>> version 123.0.0) >>> >>> I know I can correct the path with bundleutilities, but the library still >>> need to be copied in /usr/local/lib to be preccessed by bundleutilitities >>> in that case. >>> >>> Do you have any ideas ? >>> Mino >>> >>> >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the CMake FAQ at: >>> http://www.cmake.org/Wiki/CMake_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.cmake.org/mailman/listinfo/cmake >>> >>> >>> >>> >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the CMake FAQ at: >>> http://www.cmake.org/Wiki/CMake_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.cmake.org/mailman/listinfo/cmake >> >> >> >> -- >> Amine Bezzarga • +33 6 64 89 87 79 • abezz...@gmail.com • www.gomino.info >> >> > > > > -- > Amine Bezzarga • +33 6 64 89 87 79 • abezz...@gmail.com • www.gomino.info > > > > > > -- > Amine Bezzarga • +33 6 64 89 87 79 • abezz...@gmail.com • www.gomino.info > > > -- > > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake