On Tuesday 12 March 2013 20:53:21 David Demelier wrote:
> Thanks for your answer, however target_link_libraries() my modules to the
> target of core will link to the build binary directory as expected :
>
> markand@Melon .../src/magicstat-2/_build_ $ ldd modules/battery/battery.so
> modules/battery/battery.so:
> libcore.so =>
> /home/markand/work/src/magicstat-2/_build_/core/libcore.so (0x801204000)
> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x801405000)
> libm.so.5 => /lib/libm.so.5 (0x801715000)
> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x801936000)
> libc.so.7 => /lib/libc.so.7 (0x80081a000)
>
> once installed..
>
> markand@Melon .../src/magicstat-2/_build_ $ ldd
> /usr/local/lib/magicstat/modules/battery/battery.so
> /usr/local/lib/magicstat/modules/battery/battery.so:
> libcore.so => not found (0)
> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x801204000)
> libm.so.5 => /lib/libm.so.5 (0x801514000)
> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x801735000)
> libc.so.7 => /lib/libc.so.7 (0x80081a000)
what you see is a different RPATH in the .so file.
check this with "objdump -x yourfile.so | grep RPATH"
To define a different RPATH on installed targets, use e.g.:
set_target_properties(${target} PROPERTIES INSTALL_RPATH \$ORIGIN)
(Where \$ORIGIN is a special keyword which is always relative to the directory
the .so file is installed to. If you need different dirs, you can use other
relative
dirs, e.g.: "../../core" in your case (or similar - you get the picture).
Check "man ld.so"
>
> The installation hierarchy are the same as the build directory :
>
> build/core/libcore.so
> build/modules/battery.so
>
> and /usr/local/lib/magicstat/libcore.so
> /usr/local/lib/magicstat/modules/battery/battery.so
--
Best Regards/Schöne Grüße
Martin
-----------------------------------------------------------------
Ing. Martin Koller , mailto:[email protected] , http://www.etm.at
ETM professional control GmbH, A-7000 Eisenstadt Marktstr. 3
Phone:+43 2682/741-62603, Fax:+43 2682/741-52555
-----------------------------------------------------------------
A: Because it breaks the logical sequence of discussion
Q: Why is top posting bad?
--
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