[Wien] Compilation error WIEN2k_07.2 in HP
Laurence Marks
L-marks at northwestern.edu
Tue Apr 3 17:02:21 CEST 2007
For the second one, look at the compiler options for your c compiler
-- it's not finding the routines in d1mach.c because of the
underscores after the routine can be different with different
compilers. The attached d1mach.c might work (it compiles, but has not
been tested).
For the first, no idea, try getting a listing for the routine (-V
perhaps) to see what the compiler things is complex*20 or real*10 -- I
don't think there should be anything but you are probably using a much
more recent HP than I am.
On 4/3/07, Ravindran Ponniah <ravindran.ponniah at kjemi.uio.no> wrote:
>
> Hello,
>
> I am getting the following error messages when compiling
> WIEN2k_07.2 in hp.
>
> ##
> mpif90 +Ofast +O3 +noppu +U77 +source=free -DParallel -c rotdef.f
> /home/uio/u3/ravi/lib/w2k07/SRC_lapw1/fciAAAa15347.f
> external subroutine ROTDEF
> Error 1306 : This intrinsic function for complex*20 or real*10 is not yet
> supported
>
> 1 Error
> f90: error 213: Errors detected.
> *** Error exit code 1
> ##
>
> also the following in SRC_aim though I have all the object files.
>
> ###
> ld: Unsatisfied symbol "d1mach" in file intlib.o
> ld: Unsatisfied symbol "i1mach" in file intlib.o
> 2 errors.
> *** Error exit code 1
> ##
>
> Do you know how to resolve these errors?
>
> Best regards
> Ravi
>
>
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>
--
Laurence Marks
Department of Materials Science and Engineering
MSE Rm 2036 Cook Hall
2220 N Campus Drive
Northwestern University
Evanston, IL 60208, USA
Tel: (847) 491-3996 Fax: (847) 491-7820
email: L-marks at northwestern dot edu
Web: www.numis.northwestern.edu
EMM2007 http://ns.crys.ras.ru/EMMM07/
Commission on Electron Diffraction of IUCR
www.numis.northwestern.edu/IUCR_CED
-------------- next part --------------
/* Note that some values may need changing. */
/* Code taken from Fedora core */
#include <stdlib.h>
#include <stdio.h>
#include <float.h>
#include <limits.h>
#include <math.h>
#include <unistd.h>
long i1mach_(long *i)
{
switch(*i){
case 1: return STDIN_FILENO; /* standard input */
case 2: return STDOUT_FILENO; /* standard output */
case 3: return 7; /* standard punch */
case 4: return STDERR_FILENO; /* standard error */
case 5: return 8*sizeof(int); /* bits per integer */
case 6: return sizeof(int);
case 7: return 2; /* base for integers */
case 8: return 8*sizeof(int)-1; /* digits of integer base */
case 9: return LONG_MAX;
case 10: return FLT_RADIX;
case 11: return FLT_MANT_DIG;
case 12: return FLT_MIN_EXP;
case 13: return FLT_MAX_EXP;
case 14: return DBL_MANT_DIG;
case 15: return DBL_MIN_EXP;
case 16: return DBL_MAX_EXP;
}
fprintf(stderr, "invalid argument: i1mach(%ld)\n", *i);
exit(1);return 0; /* some compilers demand return values */
}
#include <stdlib.h>
#include <stdio.h>
#include <float.h>
#include <math.h>
double d1mach_(long *i)
{
switch(*i){
case 1: return DBL_MIN;
case 2: return DBL_MAX;
case 3: return DBL_EPSILON/FLT_RADIX;
case 4: return DBL_EPSILON;
case 5: return log10(FLT_RADIX);
}
fprintf(stderr, "invalid argument: d1mach(%ld)\n", *i);
exit(1); return 0; /* some compilers demand return values */
}
#include <stdlib.h>
#include <stdio.h>
#include <float.h>
#include <math.h>
float r1mach_(long *i)
{
switch(*i){
case 1: return FLT_MIN;
case 2: return FLT_MAX;
case 3: return FLT_EPSILON/FLT_RADIX;
case 4: return FLT_EPSILON;
case 5: return log10(FLT_RADIX);
}
fprintf(stderr, "invalid argument: r1mach(%ld)\n", *i);
exit(1); return 0; /* else complaint of missing return value */
}
float r1mach(long *i)
{
return r1mach_( i ) ;
}
float d1mach(long *i)
{
return d1mach_( i ) ;
}
long i1mach( long *i)
{
return i1mach_( i ) ;
}
More information about the Wien
mailing list