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

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



Gabriella,

> 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
    /usr/lib/libm.a[floor.o]:
    0000000000 T __floor
    0000000000 T floor
    /usr/lib/libm.a[floorf.o]:
    0000000224 T __floorf
    0000000224 T floorf
    /usr/lib/libm.a[floorl.o]:
    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.

Regards,
Steve Emmerson

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


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.