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 <http://www.bluequartz.net> > www.bluequartz.net > Principal Software Engineer <mike.jack...@bluequartz.net> > 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> > 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 >> <http://www.bluequartz.net><http://www.bluequartz.net> >> www.bluequartz.net >> Principal Software Engineer >> <mike.jack...@bluequartz.net><mike.jack...@bluequartz.net> >> 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> >> 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><abezz...@gmail.com> >> 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><axisch...@gmail.com> >>> 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><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 < >>>> <abezz...@gmail.com><abezz...@gmail.com> >>>> 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 <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 • abezz...@gmail.com • > www.gomino.info<http://goog_1766391406> > <http://gomino.info> > > > -- Amine Bezzarga • +33 6 64 89 87 79 • abezz...@gmail.com • 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