Hi Federico, On 22/11/2021 22.13, Federico 'Larroca' La Rocca wrote: > Hi everyone, > > I'm currently porting an OOT module to 3.8 and stumbled into a weird > situation regarding the .so files that are installed on > /usr/local/lib/x86_64-linux-gnu/. If I understood correctly, there are > three files that are created there (files reflect my OOT's name): > libgnuradio-isdbt.so, libgnuradio-isdbt.so.1.0.0git and > libgnuradio-isdbt.so.XXX (where XXX is related to the commit's short id; > for instance now I have libgnuradio-isdbt.so.17e304df).
To suppress the version with commit's short id you need to set VERSION_PATCH to 0 in the top-level CMakeLists.txt. See also [1] and [2] > The question I have is then: why was the second symbolic link pointing to > an older version of the .so file? Maybe someone can point me to the cmake > file that creates and copies these files. The symlinks are created by cmake and then the files are just copied when installing. You can get the exact command by executing `make VERBOSE=1`. Here is an example $ make VERBOSE=1 | grep cmake_symlink_library cd /home/user/src/gr-oot/build/lib && /usr/bin/cmake -E cmake_symlink_library libgroot.so.v0.0.1-1-g2de47e28 libgroot.so.1.0.0git libgroot.so $ make install | grep libgroot.*so -- Installing: /usr/local/lib64/libgroot.so.v0.0.1-1-g2de47e28 -- Installing: /usr/local/lib64/libgroot.so.1.0.0git -- Set runtime path of "/usr/local/lib64/libgroot.so.v0.0.1-1-g2de47e28" to "" -- Installing: /usr/local/lib64/libgroot.so I suspect that if you want to debug this then you need to look in cmMakefileLibraryTargetGenerator.cxx [3] and GrMiscUtils.cmake [4] [1] https://github.com/gnuradio/gnuradio/commit/896b7138bc0 [2] https://github.com/gnuradio/gnuradio/pull/4854 [3] https://gitlab.kitware.com/cmake/cmake/-/blob/master/Source/cmMakefileLibraryTargetGenerator.cxx#L913-916 [4] https://github.com/gnuradio/gnuradio/blob/master/cmake/Modules/GrMiscUtils.cmake#L52-L69 Regards, Vasil