From: Rob M. <ma...@ll...> - 2003-10-05 03:54:35
|
At 2:20 PM -0700 9/26/03, Alan W. Irwin wrote: >On 2003-09-26 12:38-0700 Rob Managan wrote: > >> At 12:09 PM +0200 9/26/03, Rafael Laboissiere wrote: >> >A new CVS snapshot tarball for PLplot is available at the usual place: >> > >> > http://people.debian.org/~rafael/plplot.html >> > >> >Please, test & report. >> > >> >-- >> For Mac OSX I tried getting f77 support to work. With g77 (v3.1) from >> <http://hpc.sourceforge.net/> to go with Apple's gcc v3.1 the >> compilatoins go fine but linking is still a problem for dynamic >> libraries >> >> /bin/sh ../../libtool --mode=link g77 -o libplplotf77d.la -rpath >> /usr/local/lib -version-info 8:0:3 -rpath /usr/local/lib >> -no-undefined ../../src/libplplotd.la sc3d.lo sccont.lo scstubs.lo >> strutil.lo sfstubs.lo >> g77 -r -Wl,-bind_at_load -keep_private_externs -nostdlib -o >> .libs/libplplotf77d.5.3.0.dylib-master.o .libs/sc3d.o .libs/sccont.o >> .libs/scstubs.o .libs/strutil.o .libs/sfstubs.o >> g77 -dynamiclib -o .libs/libplplotf77d.5.3.0.dylib >> .libs/libplplotf77d.5.3.0.dylib-master.o -L/usr/X11R6/lib >> >>/Volumes/Rob_HD/downloads/plplot-5.2.1.cvs.20030926/lib/csa/.libs/libcsirocsa.dylib >> ../../src/.libs/libplplotd.dylib -install_name >> /usr/local/lib/libplplotf77d.5.dylib -compatibility_version 9 >> -current_version 9.0 >> ld: common symbols not allowed with MH_DYLIB output format with the >> -multi_module option >> .libs/libplplotf77d.5.3.0.dylib-master.o definition of common >> _plplot_ (size 48) >> .libs/libplplotf77d.5.3.0.dylib-master.o definition of common >> _zzplstr1_ (size 320) >> .libs/libplplotf77d.5.3.0.dylib-master.o definition of common >> _zzplstr2_ (size 320) >> .libs/libplplotf77d.5.3.0.dylib-master.o definition of common >> _zzplstr3_ (size 320) >> .libs/libplplotf77d.5.3.0.dylib-master.o definition of common >> _zzplstr4_ (size 320) >> .libs/libplplotf77d.5.3.0.dylib-master.o definition of common >> _zzplstr5_ (size 320) >> .libs/libplplotf77d.5.3.0.dylib-master.o definition of common >> _zzplstr6_ (size 320) >> /usr/bin/libtool: internal link edit command failed >> make[3]: *** [libplplotf77d.la] Error 1 >> make[2]: *** [all-recursive] Error 1 >> make[1]: *** [all-recursive] Error 1 >> make: *** [all] Error 2 > >Looks like the macosx version of ld is choking on the common blocks in >sfstubs.f for dynamic libraries. I looked further on google with a search >for "common symbols not allowed with MH_DYLIB output format" and there are >quite a few hits. Apparently, the Mac OS X loader has trouble with >common areas in dynamic libraries. I am not sure there is much we can >do to get around this Mac OS X limitation. One possibility recommended >was to try -fno-common, but I believe that screws the whole point of fortran >common blocks. Anyhow, info g77 says "Do not use this when compiling >Fortran programs, or there will be Trouble." > >One other possibility, Rob, is to try the --disable-shared option to work >around the dynamic library problems on macosx for fortran. Even if you >don't want to make the sacrifice of dropping shared libraries for your >normal use of plplot it would be interesting for us to see if that >workaround solved the common-block problem for fortran you have found on >macosx for shared (= dynamic) libraries. Using ./configure --disable-python --disable-dyndrivers --disable-shared gives me Compilation options: with_debug: no with_opt: yes with_warn: no with_profile: no Library options: enable_shared: no enable_static: yes with_rpath: yes with_double: yes Optional libraries: with_qhull: no with_csa: yes with_freetype: no with_pthreads: no Language Bindings: enable_tcl: no enable_itcl: no enable_cxx: yes enable_f77: yes enable_java: no enable_python: no enable_octave: no The fortran examples make good postscript files. Haven't figured out how to do the equivalent of the command line options -dev xwin -drvopt defvis without modifying the source. -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- Rob Managan email managan at llnl.gov LLNL phone: 925-423-0903 P.O. Box 808, L-095 FAX: 925-422-3389 Livermore, CA 94551-0808 |