[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Solaris & libtool (continued)
From: |
Ralf Wildenhues |
Subject: |
Re: Solaris & libtool (continued) |
Date: |
Tue, 22 Mar 2005 15:39:23 +0100 |
User-agent: |
Mutt/1.4.1i |
Hi there,
I'm quoting generously for the benefit of the mailinglist readers.
* Пухальский Юрий Андреевич wrote on Tue, Mar 22, 2005 at 12:10:32PM CET:
> F77demo output is attached.
> No directory tests/tagdemo, yet I tried to make check in tagdemo
> directory, don't know if it's what is needed.
Oops, sorry, my fault. I meant the tagdemo directory.
> Please be more explicit:)
Yes, I will try to do so. In this mail, I want to focus on the f77demo
issue only (it's somewhat easier :)
For the tagdemo issue, another mail will follow.
> f77demo failures: Please show the output of f77demo/config.log.
You sent me f77demo/config.log. And this is the important part:
==== quote config.log
| configure:3413: checking for Fortran libraries of f77
| configure:3434: f77 -o conftest -g -v conftest.f >&5
| NOTICE: Invoking /opt/SUNWspro/bin/f90 -f77 -ftrap=%none -o conftest -g -v
conftest.f
| ### command line files and options (expanded):
| ### -f77=%all -ftrap=%none -o conftest -g -v conftest.f -lf77compat
| ### f90: Note: NLSPATH =
/opt/SUNWspro/prod/bin/../lib/locale/%L/LC_MESSAGES/%N.cat:/opt/SUNWspro/prod/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat
| /opt/SUNWspro/prod/bin/f90comp -y-o -yconftest.o -ev -y-ftrap=%none -m3 -dq
-y-fbe -y/opt/SUNWspro/prod/bin/fbe -y-xarch=generic -y-s -H
"/opt/SUNWspro/prod/bin/f90 -f77 -ftrap=%none -g -v " -y-xcache=generic
-xcache=generic -I/opt/SUNWspro/prod/include/f95/v8
-p/opt/SUNWspro/prod/lib/modules -y-verbose -xall -y-g -G 0 -xmemalign=8i
-y-xmemalign=8i -f77=%all -y-xdbggen=no%dwarf2+stabs -y-xdbggen=incl
-xassume_control=optimize -y-xassume_control=optimize
-iorounding=processor-defined -xhasc=yes conftest.f
| conftest.f:
| MAIN main:
| ### f90: Note: LD_LIBRARY_PATH = /home/pooh/work/build_2_0/CSP/out/sparc
| ### f90: Note: LD_RUN_PATH = (null)
| ### f90: Note: LD_OPTIONS = (null)
| /usr/ccs/bin/ld -t -R/opt/SUNWspro/lib/v8plus:/opt/SUNWspro/lib -o conftest
/opt/SUNWspro/prod/lib/crti.o /opt/SUNWspro/prod/lib/crt1.o
/opt/SUNWspro/prod/lib/misalign.o /opt/SUNWspro/prod/lib/values-xi.o -Y
P,/opt/SUNWspro/lib/v8plus:/opt/SUNWspro/prod/lib/v8plus:/opt/SUNWspro/lib:/opt/SUNWspro/prod/lib:/usr/ccs/lib:/lib:/usr/lib
conftest.o -lf77compat -zallextract -lompstubs -zdefaultextract -lfui -lfai
-lfai2 -lfsumai -lfprodai -lfminlai -lfmaxlai -lfminvai -lfmaxvai -lfsu
-lsunmath -lm -lc /opt/SUNWspro/prod/lib/crtn.o
| rm conftest.o
| configure:3595: result: -lf77compat
-R/opt/SUNWspro/lib/v8plus:/opt/SUNWspro/lib -L/opt/SUNWspro/lib/v8plus
-L/opt/SUNWspro/prod/lib/v8plus -L/opt/SUNWspro/lib -L/opt/SUNWspro/prod/lib
-L/usr/ccs/lib -L/lib -L/usr/lib -lompstubs -lfui -lfai -lfai2 -lfsumai
-lfprodai -lfminlai -lfmaxlai -lfminvai -lfmaxvai -lfsu -lsunmath -lm
| configure:3612: checking for dummy main to link with Fortran libraries
| configure:3651: cc -o conftest -g conftest.c -lf77compat
-R/opt/SUNWspro/lib/v8plus:/opt/SUNWspro/lib -L/opt/SUNWspro/lib/v8plus
-L/opt/SUNWspro/prod/lib/v8plus -L/opt/SUNWspro/lib -L/opt/SUNWspro/prod/lib
-L/usr/ccs/lib -L/lib -L/usr/lib -lompstubs -lfui -lfai -lfai2 -lfsumai
-lfprodai -lfminlai -lfmaxlai -lfminvai -lfmaxvai -lfsu -lsunmath -lm >&5
| Undefined first referenced
| symbol in file
| omp_set_nested /opt/SUNWspro/lib/v8plus/libfsu.so
| __mt_get_thread_num_ /opt/SUNWspro/lib/v8plus/libfai2.so
| __mt_MasterFunction_ /opt/SUNWspro/lib/v8plus/libfai.so
| omp_set_num_threads /opt/SUNWspro/lib/v8plus/libfsu.so
| __omp_in_parallel_ /opt/SUNWspro/lib/v8plus/libfai2.so
| omp_set_dynamic /opt/SUNWspro/lib/v8plus/libfsu.so
| __omp_get_num_threads_ /opt/SUNWspro/lib/v8plus/libfai2.so
| ld: fatal: Symbol referencing errors. No output written to conftest
| configure:3657: $? = 1
===== end of quote
What happens? I think the we need to also take over the
-zallextract -lompstubs -zdefaultextract
so that those missing symbols are taken into account. :-/
(This is part of autoconf macro AC_F77_LIBRARY_LDFLAGS)
To verify this: can you please try executing the following commands:
echo 'int main () { return 0; }' > a.c
# the next line should fail:
cc -o a -g a.c -lf77compat -R/opt/SUNWspro/lib/v8plus:/opt/SUNWspro/lib
-L/opt/SUNWspro/lib/v8plus -L/opt/SUNWspro/prod/lib/v8plus -L/opt/SUNWspro/lib
-L/opt/SUNWspro/prod/lib -L/usr/ccs/lib -L/lib -L/usr/lib -lompstubs -lfui
-lfai -lfai2 -lfsumai -lfprodai -lfminlai -lfmaxlai -lfminvai -lfmaxvai -lfsu
-lsunmath -lm
# but this line should succeed:
cc -o a -g a.c -lf77compat -R/opt/SUNWspro/lib/v8plus:/opt/SUNWspro/lib
-L/opt/SUNWspro/lib/v8plus -L/opt/SUNWspro/prod/lib/v8plus -L/opt/SUNWspro/lib
-L/opt/SUNWspro/prod/lib -L/usr/ccs/lib -L/lib -L/usr/lib -zallextract
-lompstubs -zdefaultextract -lfui -lfai -lfai2 -lfsumai -lfprodai -lfminlai
-lfmaxlai -lfminvai -lfmaxvai -lfsu -lsunmath -lm
Some more fun reading about it (more a note to self):
http://forum.sun.com/thread.jspa?threadID=18543&tstart=45
http://developers.sun.com/tools/cc/documentation/ss10_docs/mr/man1/cc.1.html
Regards,
Ralf