Packaging Linrad for Fedora

Leif Asbrink leif at sm5bsz.com
Wed Apr 8 19:45:48 EDT 2015


Hello John,


> If a device support library is missing (e.g. libperseus-sdr.so) at
> compile time, can the Linrad executable (via your dlopen() code) still
> find that library at runtime?  Or must the support library and any
> associated header files for that device be installed at compile time
> for it to find it at runtime?
Linrad does not use any automagics or configuration files. 
Everything is contained in the configuration script. All
support libraries are loaded with the absolute path which
is transferred to Makefile by the configure script. This means
that one must run ./configure after having added new hardware related
.so files.

Linux has evolved over the years and there were many problems in 
the past with malfunctions of the traditional configure functions.
For this reason Linrad avoids all the complexity by explicitly searching
ALL directories where libraries might be placed. That list is in
libfind1.c (in total 22 directories) and that file is executed
by the configure script. In a packaged version the packager would
know where the files are placed in the particular distribution.
Just placing all the files where they shold be stored when
compiling the distrbution executable would make Linrad look
at the right place which means that a missing file will be
announced like this: Can not find library /usr/local/lib/libperseus-sdr.so

Linrad tries to load from the location where the file was placed
when configure was run. The only problem is libwd_dask.so which
requires a NDA. It will be easy to place a dummy at the preferred
place so Linrad would know where to look for the file.

73

Leif




More information about the Fedora-hams mailing list