>>>>> On Wed, 16 Jul 2008 01:45:05 -0000, "catapillarbulldozer" <pearce.sg@...> said:
> Trying to compile fldigi 3.0 U from source on a 64 bit amd fedora 9
> system... have sucessfully installed fltk 1.1.9, ..
> when I run configure in the fldigi source directory it fails to
> find the samplerate library which has been placed in /usr/local/lib/
> as libsamplerate.a (etc) ...
> I tried looking for ld.conf in /etc to update it to look in
> /usr/local/lib .. but could only find ld.so.conf which points to
> ld.so.conf.d ... and I put a file called local.conf in this directory
> with the link /usr/local/lib .. then used ldconfig to update .. all to
> no avail ...
Changing ld.so.conf and updating the linker cache with ldconfig only
affects the _runtime_ linker, and is not how you tell ld where to find
libraries when the executable is linked together from object files.
For this you need the linker -L and -l flags.
Fldigi's build system uses pkg-config to find the compiler and linker
flags for libsamplerate and some other libraries. Pkg-config in turn
searches a list of directories for .pc files; in this case,
samplerate.pc. You can tell it where to look by setting the
PKG_CONFIG_PATH environment variable, e.g.:
PKG_CONFIG_PATH=/usr/local/pkgconfig ./configure ... ...
There is more information in the pkg-config manual page.
Alternatively, you can override pkg-config and specify the flags
directly. For example:
SAMPLERATE_CFLAGS=-I/usr/local/include SAMPLERATE_LIBS="-L/usr/local/lib -lsamplerate" ./configure ... ...
The output of "./configure --help" lists all these variables.
> I asked on the fedora irq site and got the stock responce .. "use rpms
> not source" .. but this is not a real solution if you want to
> understand and possible add to the code.
> More generally ... what is the ide used in the development of fldigi?
> I.e what software is being used to generate makefile.am ... I could
> modify configure, or Makefile after the event to point to
> /usr/local/lib but this is messy from my point of view .. and in the
> unlikely event I create any useful contribution
> will be less easily intergrated into the existing code ...
The build system "source" consists of configure.ac, Makefile.am,
src/Makefile.am, and the various macro files in the m4 directory.
These are written by hand but everything else is generated. Running
"autoreconf" is the quickest way to (re)generate the configure script,
Makefile.in and helper scripts in build-aux. The configure script then
generates the Makefiles when run.
> I want to get to the point of being able to install and compile from
> source on any system ... and then I'll feel comfortable with starting
> to tinker with the modem code
I think it will be simpler to install packages for the various
libraries. I'm pretty sure that they're all available in Fedora 9.
Then you can select the desired fldigi features with configure switches.
Usually you want to let configure enable everything that it can find