On 2008-09-01 00:22+0200 Werner Smekal wrote: >> Could you send the nm output for libplplotf77cd as well? That library >> defines plsetopt7, but it may have the wrong underscoring convention or >> there may be some import/export of symbols problem. That library is >> mentioned in your detailed linking command above. Is the choice of >> library >> name and syntax of the command correct? > > gfortran also allows to change how many underscores are added ( > http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gfortran/Code-Gen-Options.html#Code-Gen-Options > > ) and in plstubs.h this can also be changed. But some tries didn't help > anything and I don't know in which direction I should go, since the names > show up in the library as well as in the object file which is linked to the > library. Can't find anything useful in the internet so far.
For what it is worth, here are the equivalent results on my (Debian testing) computer: [EMAIL PROTECTED]> nm bindings/f77/libplplotf77cd.so |grep plsetopt7 000000000000a1fc T plsetopt7_ [EMAIL PROTECTED]> nm bindings/f77/libplplotf77d.so |grep plsetopt7 U plsetopt7_ That is pretty clear. The symbol that not defined internally by libplplotf77d is supplied by libplplotf77cd where it is defined. Here is your equivalent result. [EMAIL PROTECTED]> grep plsetopt7 *.output libplplotf77cd.dll.nm.output:100049c3 T _plsetopt7_ libplplotf77d.dll.nm.output:100049c3 T _plsetopt7_ sfstubs.obj.nm.output: U _plsetopt7_ The "U" for sfstubs.obj seems correct, but I frankly don't understand the "T" for libplplotf77d since that symbol is not defined internally in that library. However, I assume the libplplotf77cd results means that symbol is really defined there so I don't see why there is a linking issue. The only possibility I can think of to explain the bad linking error messages for MinGW is the symbols are not exported correctly for libplplotf77cd or not imported correctly for libplplotf77c. So it may be worthwhile to look carefully at how import/export of symbols is set up for MinGW. For example, I notice there is no mention of MinGW in pldll.h. I assume #if defined(WIN32) works for MinGW, but there is a very special list of compilers to check in that case, and I am wondering if e.g., __GNUC__ is defined for your particular version of MinGW. Perhaps it would be more reliable (or at least understandable) to have a special stanza for MinGW as in the Cygwin case? Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel