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 <[email protected]> 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 < > [email protected]> 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 <http://www.bluequartz.net> >> www.bluequartz.net >> Principal Software Engineer <[email protected]> >> [email protected] >> BlueQuartz Software Dayton, Ohio >> Sent from my mobile device. >> >> On Sep 19, 2011, at 19:56, amine bezzarga <[email protected]> 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 >> <<[email protected]> >> [email protected]> 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 >>> <http://www.bluequartz.net><http://www.bluequartz.net> >>> www.bluequartz.net >>> Principal Software Engineer >>> <[email protected]><[email protected]> >>> [email protected] >>> BlueQuartz Software Dayton, Ohio >>> Sent from my mobile device. >>> >>> On Sep 18, 2011, at 23:38, Cristobal Navarro < <[email protected]> >>> [email protected]> 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 < >>> <[email protected]><[email protected]> >>> [email protected]> 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 >>>> <<[email protected]><[email protected]> >>>> [email protected]> 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><http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_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 >>>>> <<[email protected]><[email protected]> >>>>> [email protected]> 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 <http://www.kitware.com> <http://www.kitware.com> >>>>>> www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> <http://www.kitware.com/opensource/opensource.html><http://www.kitware.com/opensource/opensource.html> >>>>>> 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><http://www.cmake.org/Wiki/CMake_FAQ> >>>>>> http://www.cmake.org/Wiki/CMake_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> >>>>>> <http://www.cmake.org/mailman/listinfo/cmake><http://www.cmake.org/mailman/listinfo/cmake> >>>>>> http://www.cmake.org/mailman/listinfo/cmake >>>>>> >>>>> >>>> >>>> >>>> >>> _______________________________________________ >>> Powered by <http://www.kitware.com> <http://www.kitware.com> >>> www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> <http://www.kitware.com/opensource/opensource.html><http://www.kitware.com/opensource/opensource.html> >>> 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><http://www.cmake.org/Wiki/CMake_FAQ> >>> http://www.cmake.org/Wiki/CMake_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> <http://www.cmake.org/mailman/listinfo/cmake> >>> http://www.cmake.org/mailman/listinfo/cmake >>> >>> >> >> >> -- >> Amine Bezzarga • +33 6 64 89 87 79 • [email protected] • >> www.gomino.info<http://goog_1766391406> >> <http://gomino.info> >> >> >> > > > -- > Amine Bezzarga • +33 6 64 89 87 79 • [email protected] • > www.gomino.info<http://goog_1766391406> > <http://gomino.info> > > > -- Amine Bezzarga • +33 6 64 89 87 79 • [email protected] • www.gomino.info<http://goog_1766391406> <http://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
