Compile error on Mandrake 10.1

  • Dalen Kruse
    Dalen Kruse

    I'm trying to compile aprsd-2.2.5-15 on my Mandrake 10.1 machine.  I'm getting the following compile error and can't figure out how to resolve it.  Any help would be appreciated.


    make  all-recursive
    make[1]: Entering directory `/home/blacklion/aprsd-2.2.5-15'
    Making all in src
    make[2]: Entering directory `/home/blacklion/aprsd-2.2.5-15/src'
    g++  -g -O2 -Wall -pipe -pthread   -o aprsd  aprsd.o aprsString.o ax25socket.o cpqueue.o crc32.o dupCheck.o aprsdexception.o exceptionguard.o history.o httpserver.o mic_e.o mutex.o osdep.o queryResp.o rf.o serial.o servers.o string.o utils.o validate.o  -lcrypt -lpthread  -lax25
    httpserver.o(.text+0x186b): In function `buildPage(std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':
    /usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iomanip:214: undefined reference to `convertUpTime(int)'
    collect2: ld returned 1 exit status
    make[2]: *** [aprsd] Error 1
    make[2]: Leaving directory `/home/blacklion/aprsd-2.2.5-15/src'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/blacklion/aprsd-2.2.5-15'
    make: *** [all] Error 2

    • Dalen Kruse
      Dalen Kruse

      I found the problem.  The function convertUpTime() is declared as an inline function in servers.cpp.  The file httpserver.cpp also calls this function.  The function definition of convertUpTime() either needs to listed in servers.h so the definition is included everywhere it's used, or the function cannot be declared as inline.  I'll submit a patch to the developers.