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

[UDUNITS #ALQ-202022]: compiling udunits2 with XML


> I'm getting the following error when compiling against the udunits2
> package, which I've just installed (successfully, it had seemed):
> /home/rdanielson/soft/udunits/lib/libudunits2.so: undefined reference to 
> `XML_StopParser'
> my compile command includes all the NetCDF libraries first, and Udunits
> libraries at the end:
> cc nc.mask.sar.land.beamseam.c -I /home/rdanielson/soft/udunits/include 
> -L/home/rdanielson/soft/netcdf/lib -lnetcdf -L/usr/lib64 -lcurl 
> -L/usr/kerberos/lib -L/usr/kerberos/lib64 -lssl -lcrypto -lgssapi_krb5 -lkrb5 
> -lcom_err -lk5crypto -lresolv -ldl -lz -lgssapi_krb5 -lkrb5 -lk5crypto 
> -lcom_err -lresolv -L/usr/kerberos/lib -L/usr/kerberos/lib64 -lidn -lssl 
> -lcrypto -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err-lk5crypto -lresolv 
> -ldl -lz -lz -L/home/rdanielson/soft/udunits/lib -ludunits2 -lexpat -lm

That's very odd. The configure(1) script should have either found the function 
"XML_StopParser" in your system-supplied "expat" library or configured the 
build so that the expat functions are part of the UDUNITS-2 library.

What did the configurure(1) script find (what's the output of the command "grep 
COND_EXPAT config.status" executed in the top-level source-directory of the 
UDUNITS-2 package)? If the value of the COND_EXPAT_TRUE variable is "#", then 
the function should be in a system-supplied "expat" library; otherwise, the 
function should be in the UDUNITS-2 library. You can use the nm(1) utility to 
search a library.

> I'm working on this machine (uname -a):
> Linux hfip.nhc.noaa.gov 2.6.9-89.31.1.ELsmp #1 SMP Mon Oct 4 21:41:59 EDT 
> 2010 x86_64 x86_64 x86_64 GNU/Linux
> Perhaps most importantly, I'm including in "nc.mask.sar.land.beamseam.c"
> the header for the old Udunits API:
> #include "/home/rdanielson/soft/udunits/include/udunits.h"
> and this header in turn includes "udunits2.h".  I've tried to avoid my bug by 
> also including:
> #include "/home/rdanielson/soft/udunits/include/udunits2.h"
> #include "/home/rdanielson/soft/udunits/include/converter.h"
> #include "/home/rdanielson/soft/udunits/include/expat.h"
> #include "/home/rdanielson/soft/udunits/include/expat_external.h"
> but to no avail.  I've also tried simply including "udunits2.h"
> instead of "udunits.h", but as expected, "udunits2.h" is missing the
> backwards compatibility with the old Udunits API.  Any help would be
> much appreciated.

That shouldn't make a difference.

> Thanks,
> Rick Danielson
> UCAR visiting scientist at the NHC

Steve Emmerson

Ticket Details
Ticket ID: ALQ-202022
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.