compiling libdap-3.6.2 on Solaris 10 x86

Dale Castle dale at vims.edu
Fri Feb 2 14:08:01 PST 2007


James,

   Thank you for the response. I tried that flag you suggested and it did not recognize that when I ran make.

- Dale

---- Original message ----
>Date: Fri, 2 Feb 2007 12:00:22 -0700
>From: James Gallagher <jhrg at mac.com>  
>Subject: Re: compiling libdap-3.6.2 on Solaris 10 x86  
>To: Dale Castle <dale at vims.edu>
>Cc: opendap-tech at unidata.ucar.edu
>
>
>On Feb 2, 2007, at 7:04 AM, Dale Castle wrote:
>
>> Hello,
>>
>> 	I noticed the posted binary is only for Solaris/SPARC, so I tried  
>> compiling the source on Solaris 10 x86 with Sun Studio 11 compilers.
>> 	Here are my flags:
>>
>> -xO3 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil - 
>> xlibmopt -xtarget=opteron -xregs=no%frameptr
>>
>
>Dale, What about adding the -features=tmplrefstatic option and seeing  
>if the compiler will grok the code. I think what's happening here is  
>that the compiler is supporting several versions of C++, and the  
>newer versions require feature-specific switches.
>
>Bummer, but we've gotten our code to build with some fairly odd  
>compilers (well, to be honest, other people have done most of the  
>work ;-) ).
>
>Let me know if this helps.
>
>James
>
>> 	There was a conflict with other libraries already compiled in  
>> 32bit. That's why I'm not specifying amd64.
>>
>> 	After taking out -xarch=amd64, I was able to get configure to  
>> produce the attached Makefile. When running make, it failes with  
>> the following output. Any help is appreciated.
>>
>> - Dale
>>
>> Dale Castle
>> Virginia Institute of Marine Science
>> 804-684-7077
>> dale at vims.edu
>>
>> "Operators.h", line 80: Error: Reference to static dods_max(int,  
>> int) not allowed in template static USCmp<unsigned char, short>::eq 
>> (unsigned char, short), try using -features=tmplrefstatic.
>> "Operators.h", line 171:     Where: While instantiating "static  
>> USCmp<unsigned char, short>::eq(unsigned char, short)".
>> "Operators.h", line 171:     Where: Instantiated from rops<unsigned  
>> char, short, USCmp<unsigned char, short>>(unsigned char, short, int).
>> "Byte.cc", line 233:     Where: Instantiated from non-template code.
>> 1 Error(s) detected.
>> *** Error code 1
>> make: Fatal error: Command failed for target `Byte.lo'
>> Current working directory /export/home/dale/libdap/libdap-3.6.2
>> *** Error code 1
>> The following command caused the error:
>> failcom='exit 1'; \
>> for f in x $MAKEFLAGS; do \
>>   case $f in \
>>     *=* | --[!k]*);; \
>>     *k*) failcom='fail=yes';; \
>>   esac; \
>> done; \
>> dot_seen=no; \
>> target=`echo all-recursive | sed s/-recursive//`; \
>> list='gl . tests'; for subdir in $list; do \
>>   echo "Making $target in $subdir"; \
>>   if test "$subdir" = "."; then \
>>     dot_seen=yes; \
>>     local_target="$target-am"; \
>>   else \
>>     local_target="$target"; \
>>   fi; \
>>   (cd $subdir && make  $local_target) \
>>   || eval $failcom; \
>> done; \
>> if test "$dot_seen" = "no"; then \
>>   make  "$target-am" || exit 1; \
>> fi; test -z "$fail"
>> make: Fatal error: Command failed for target `all-recursive'
>> Current working directory /export/home/dale/libdap/libdap-3.6.2
>> *** Error code 1
>> make: Fatal error: Command failed for target `all'
>> <Makefile>
>
>--
>James Gallagher                jgallagher at opendap.org
>OPeNDAP, Inc                   406.723.8663
>



More information about the Opendap-tech mailing list