- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - Linux
- >
- HP f90 compilation error
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-13-2006 09:17 AM
03-13-2006 09:17 AM
HP f90 compilation error
I encount an error when I compile a program
---
f90 -I./src -lm +O3 +Onoautopar +DD32 +r8 -L/opt/fortran90/lib/ielf/math/hpux32 -c src/qdiff4v.f
src/qdiff4v.f
program QDIFF
noit=int(7.8/log(1.0 + sqrt(1-spec)))
^
Error 937 at (345:src/qdiff4v.f) : This is not the name of a function
^
Error 887 at (345:src/qdiff4v.f) : Argument to this intrinsic procedure is missing
Warning 403 : Padding inserted before variable RMMIN in common SCALE
2 Errors
f90: error 213: Errors detected.
*** Error exit code 1
Stop.
----
This program has been smoothly compiled under PC Linux. I wrote a simple code that only has "write (*,*) log(4.5)", and found f90 can compile it. I don't know why HP f90 keeping saying "log" "is not the name of a function" when compiling qdiff4v.f. It's highly appreciated for any advice! Thanks in advance!
- Tags:
- f90
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-13-2006 06:36 PM
03-13-2006 06:36 PM
Re: HP f90 compilation error
not a fortran expert, but have you tried isolating the problem by:
1. output the variables before your statement
2. Use of brackets
noit=int(7.8/(log(1.0 + (sqrt(1.0 - spec))))
3. Separation of statements
a=sqrt(1.0 - spec)
b=log(1.0 + a)
c=(7.8/b)
noit=int(c)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2006 02:00 AM
03-14-2006 02:00 AM
Re: HP f90 compilation error
noit=int(7.8/log(1.0 + sqrt(1-spec)))
to
write (*,*) log(1.3)
and the compiling error msg is:
-------
f90 -Isrc a.f
a.f
program QDIFF
write (*,*) log(1.3)
^
Error 937 at (348:a.f) : This is not the name of a function
1 Error
f90: error 213: Errors detected, no link.
-------
Looks like f90 don't know "log". But it compiled successfully when I put "write (*,*) log(1.3)" followed by "END" into an empty file. Any suggestions? Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2006 09:35 AM
03-14-2006 09:35 AM
Re: HP f90 compilation error
-----
.....
.....
ld: Type mismatch for symbol "log"; resolving OBJECT symbol (in file ichash4.o) to FUNC symbol (in file /usr/lib/hpux32//libm.so)
ld: Type mismatch for symbol "log"; resolving OBJECT symbol (in file irhash4.o) to FUNC symbol (in file /usr/lib/hpux32//libm.so)
ld: Type mismatch for symbol "log"; resolving OBJECT symbol (in file rdhcrg.o) to FUNC symbol (in file /usr/lib/hpux32//libm.so)
ld: Type mismatch for symbol "link"; resolving OBJECT symbol (in file qdiff4v.o) to FUNC symbol (in file /usr/lib/hpux32//libc.so)
ld: Unsatisfied symbol "lg" in file qdiff4v.o
ld: Unsatisfied symbol "fdate" in file itit4j.o
ld: Unsatisfied symbol "etime" in file timef.o
ld: Unsatisfied symbol "dtime" in file timef.o
34 warnings.
4 errors.
*** Error exit code 1
Stop.
-----
Any suggestions? Thanks in advance!
- Tags:
- unsat
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2006 04:42 PM
03-14-2006 04:42 PM
Re: HP f90 compilation error
If this isn't documented with f90, remove it. The similar file libmielf.a there is useless for C/aC++.
Also -lm needs to be at the end of the link line.
From your linker messages:
ld: Type mismatch for symbol "log"; resolving OBJECT symbol (ichash4.o) to FUNC symbol (libm.so)
This is saying you have defined log as a data variable or array and not a function. And you have done it in ichash4.f, irhash4.f, rdhcrg.f and qdiff4v.f.
ld: Unsatisfied symbol "lg" in file qdiff4v.o
And you don't have definitions for lg (that you changed) and for fdate, etime and dtime.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-24-2006 09:15 AM
05-24-2006 09:15 AM
Re: HP f90 compilation error
Now I have two questions:
1). "lg" is the function name of natural logarithm in our f90. Why I need to define it?
2). I did a test by compiling the code "write (*,*) log(4.5)" successfully, indicating that "log" should be recognized by our f90. Why our f90 complains wrong function name when compiling "noit=int(7.8/log(1.0 + sqrt(1-spec)))" in the program code?
By the way, the program code we need to compile is an academic software and can be compiled smoothly by PGI in linux, whileas Intel fortran also can't pass the compilation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-24-2006 10:55 AM
05-24-2006 10:55 AM
Re: HP f90 compilation error
I thought the name is log?
>2) Why our f90 complains wrong function name when compiling "noit=int(7.8/log(1.0 + sqrt(1-spec)))" in the program code?
There is nothing obviously wrong with the statement. You probably need to attach your file so we know exactly what you have.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-30-2006 08:13 AM
05-30-2006 08:13 AM
Re: HP f90 compilation error
Yes, you are right. That statement is correct. I tested this statement with our HP f90 and it gives out correct result.
I'll try to find out more things to resolve this compiling problem. Thanks anyway!