The installed development package contains unnecessary build dependencies when built as a shared library
Closed this issue · 0 comments
This can be seen by example of OSG support.
When building with OSG, vsgXChange requires some build dependencies from OSG, which are added by using appropriate find_package calls.
After building and installing vsgXchange, the installed library requires various shared libraries from OSG at runtime.
$ ldd lib/libvsgXchange.so
...
libOpenThreads.so.20 => /home/xxx/src/openscenegraph-3.4-install/usr/local/lib64/libOpenThreads.so.20 (0x00007f1d41fc0000)
libosg.so.133 => /home/xxx/src/openscenegraph-3.4-install/usr/local/lib64/libosg.so.133 (0x00007f1d416ed000)
libosgUtil.so.133 => /home/xxx/src/openscenegraph-3.4-install/usr/local/lib64/libosgUtil.so.133 (0x00007f1d40e56000)
libosgDB.so.133 => /home/xxx/src/openscenegraph-3.4-install/usr/local/lib64/libosgDB.so.133 (0x00007f1d40888000)
libosgTerrain.so.133 => /home/xxx/src/openscenegraph-3.4-install/usr/local/lib64/libosgTerrain.so.133 (0x00007f1d4056c000)
...
There is no reference to OSG in the installed header files.
Nevertheless, in this case the installed development package for vsgXchange expects development dependencies for several OSG modules. These dependencies are only required if vsgXchange is built statically and make using the development package for vsgXchange more cumbersome in the other case, since development packages that are not needed must then be present for this.
The same is true for the optional assimp, curl, and gdal components.