[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[UDUNITS #OLT-675021]: UDUNITS on Linux 2.6


> Hello, I have been trying to compile UDUNITS on my Linux box
> (SusE distro) and I'm running into problems: looks like either my
> library path is not right or I am actually missing some libraries.
> Thanx
> gaby
> make[1]: Entering directory `/home/turekg/tmp/udunits-1.12.4/src/udunits'
> gcc -o udunits -g -O2 udunits.o
> -L/home/turekg/tmp/udunits-1.12.4/src/lib -ludunits
> -L/home/turekg/tmp/udunits-1.12.4/src/port/misc -ludport
> /home/turekg/tmp/udunits-1.12.4/src/lib/libudunits.a(utlib.o): In
> function `dectime':
> /home/turekg/tmp/udunits-1.12.4/src/lib/utlib.c:432: undefined reference
> to `floor'

It appears that your C runtime library doesn't contain the standard math
functions.  Try to find what library the math functions are in.  The
nm(1) utility can be very helpful in this.  For example:

    ~/udunits/lib: nm -gp /usr/lib/lib*.a | grep floor
    0000000000 T __floor
    0000000000 T floor
    0000000224 T __floorf
    0000000224 T floorf
    0000000576 T __floorl
    0000000576 T floorl

Once you know the library that contains the math functions, add an ld(1)
reference to it to the environment variable LD_MATH and re-execute the
configure(1) script.  For example:

    $ make distclean
    $ LD_MATH='-L/usr/lib -lm' ./configure >configure.log 2>&1

Then, continue with the build process with the "make" command.

Steve Emmerson

Ticket Details
Ticket ID: OLT-675021
Department: Support UDUNITS
Priority: Normal
Status: Closed