Search code examples
redhawksdr

Basic Component Compilation error on Ubuntu 14.04


I have installed Redhawk 1.10 on Ubuntu 14.04. I am now trying to install the basic components from the package on the github page.

I try building the SigGen component using ./reconf ./configure make make install. During the compilation step I get the following error

/usr/bin/ld: SigGen-SigGen.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line

Doing some searching it seems that it has something to do with linking the "libboost_system" library properly, but I do not know how to fix it.

I am running libboost-dev 1.54


Solution

  • The basic-components repository (https://github.com/RedhawkSDR/basic-components) is deprecated and the components have been broken out into individual repositories. Please checkout the up to date SigGen repository here: https://github.com/RedhawkSDR/SigGen

    The latest commit of the SigGen repository (eb19c78d10e579d267d3f796f39eae922fc65f0b) builds for me on an Ubuntu 14.04 machine with a 1.10.0 framework.

    The issue you are experiencing should have been fixed in the following commit, dated March 14, 2014:

    commit db8d32c88a829272225a701752518c2b9a2a2a77
    Author: Daniel Wille <[email protected]>
    Date:   Fri Mar 14 16:35:49 2014 -0400
    
    Fix compilation error (missing boost system library when linking) on newer OSes
    

    As an FYI, the fix that was made effects the Makefile.am file. In older commits, the Makefile.am had this line:

    SigGen_LDADD = $(PROJECTDEPS_LIBS) $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB) $(INTERFACEDEPS_LIBS) $(redhawk_LDADD_auto)
    

    While newer versions added the BOOST_SYSTEM_LIB as shown below.

    SigGen_LDADD = $(PROJECTDEPS_LIBS) $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB) $(BOOST_SYSTEM_LIB) $(INTERFACEDEPS_LIBS) $(redhawk_LDADD_auto)