This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Xunqiang Bi, >Date: Mon, 26 Jul 1999 18:15:45 +0200 (MET DST) >From: BI XUNQIANG <address@hidden> >Organization: Abdus Salam International Centre for Theoretical Physics >To: Steve Emmerson <address@hidden> >Subject: Re: 19990726: installation: udunits-1.11.7: cc vs. gcc >Keywords: 199907261402.IAA21347 In the above message, you wrote: > Thank you very much for your help ! Unfortunely, the two schemes you > suggested failed for different information (in attached files: > "scheme1" and "scheme2" . > > Best wishes ! ... > making `all' in directory /DATA/bixq/udunits-1.11.7/src/udunits > > make[1]: Entering directory `/DATA/bixq/udunits-1.11.7/src/udunits' > make[2]: Entering directory `/DATA/bixq/udunits-1.11.7/src/udunits' > gcc -c -O -I../lib -I../port/misc udunits.c > gcc -o udunits -O udunits.o -R/DATA/bixq/udunits-1.11.7/src/lib > -L/DATA/bixq/udunits-1.11.7/src/lib -ludunits > -R/DATA/bixq/udunits-1.11.7/src/port/misc > -L/DATA/bixq/udunits-1.11.7/src/port/misc -ludport -ly -lm > make[2]: Leaving directory `/DATA/bixq/udunits-1.11.7/src/udunits' > make[1]: Leaving directory `/DATA/bixq/udunits-1.11.7/src/udunits' > > returning to directory /DATA/bixq/udunits-1.11.7/src > > cd perl && perl Makefile.PL > Checking if your kit is complete... > Looks good > Warning: -L../lib changed to -L/DATA/bixq/udunits-1.11.7/src/perl/../lib > Writing Makefile for UDUNITS > > making `dynamic' in directory /DATA/bixq/udunits-1.11.7/src/perl > > make[1]: Entering directory `/DATA/bixq/udunits-1.11.7/src/perl' > /usr/local/bin/perl -I/opt/perl/lib/sun4-solaris/5.00403 -I/opt/perl/lib > /opt/perl/lib/ExtUtils/xsubpp -typemap /opt/perl/lib/ExtUtils/typemap > -typemap typemap UDUNITS.xs >UDUNITS.tc && mv UDUNITS.tc UDUNITS.c > Please specify prototyping behavior for UDUNITS.xs (see perlxs manual) > gcc -c -I../lib -I../port/misc -I/usr/local/include -I/opt/gnu/include -O > -DVERSION=\"1.11.7\" -DXS_VERSION=\"1.11.7\" -fpic > -I/opt/perl/lib/sun4-solaris/5.00403/CORE UDUNITS.c > mkdir ./blib > mkdir ./blib/arch > mkdir ./blib/arch/auto > mkdir ./blib/arch/auto/UDUNITS > Running Mkbootstrap for UDUNITS () > chmod 644 UDUNITS.bs > LD_RUN_PATH="/DATA/bixq/udunits-1.11.7/src/perl/../lib:/usr/local/lib" gcc -o > blib/arch/auto/UDUNITS/UDUNITS.so -R/DATA/bixq/udunits-1.11.7/src/perl/../lib > -R/usr/local/lib -shared -L/usr/local/lib -L/opt/gnu/lib UDUNITS.o > -L/DATA/bixq/udunits-1.11.7/src/perl/../lib -ludunits -lm > Text relocation remains referenced > against symbol offset in file > utHasOrigin 0xb20 > /DATA/bixq/udunits-1.11.7/src/perl/../lib/libudunits.a(utlib.o) > free 0x13e8 > /DATA/bixq/udunits-1.11.7/src/perl/../lib/libudunits.a(utscan.o) ... Hmm... It could be that gcc should compile the UDUNITS library routines in your environment with the "-fpic" option. (We don't have your environment here, so I can't verify that. If you still want the perl extension module for UDUNITS, then try the following: 1. Go to the top-level source directory. 2. Perform steps 3 through 5 near the end of the INSTALL file as before (in particular, use "gcc" for CC). 3. Ensure that the environment variable CFLAGS contains the string "-fpic", e.g. setenv CFLAGS "-fpic" or export CFLAGS=-fpic 4. Perform steps 6 through 9 near the end of the INSTALL file. > spclima7:3> setenv PERL ' ' The above doesn't set the environment variable PERL to the empty string like I suggested. Instead, it sets it to a single space character. This will cause the UDUNITS build procedure to attempt to build the perl extension module with a resulting failure (as you saw). If you still don't want the perl extension module for UDUNITS, then try the following: 1. Go to the top-level source directory. 2. Perform steps 3 through 5 near the end of the INSTALL file as before. 3. Set the environment variable PERL to the empty string, e.g. setenv PERL '' # NB: no space between the apostrophes or export PERL='' # NB: no space between the apostrophes 4. Perform steps 6 through 9 near the end of the INSTALL file. Please let me know if this helps. -------- Steve Emmerson <http://www.unidata.ucar.edu>