Hi,
>> On 2009-01-28 19:17, pm wrote:
>>> Hello Arjen,
>>> Actually, I did build the latest version of plplot with cmake (see
>>> below build command sequence). That is not a problem.
>>> HOW TO SEE THE PROBLEM
>>> To see what is going on first hand, try building plplot-5.9.2 with
>>> cmake on cygwin under windows XP. Then try to make the F77
>>> examples. They won't build unless you edit the *.pc file's Libs:
>>> line.
>>> WHAT I FOUND OUT
>>> The autotools are what I am using for my software. The cmake build
>>> of plplot resulted in the suffix -9.1.1 as described below. I did
>>> use the current version, 5.9.2 of plplot with cmake.
>>> Now my software package depends on the plplot libraries. I compose
>>> a Makefile that contains a command like this:
>>> `PKG_CONFIG_PATH=/usr/lib/pkgconfig pkg-config --cflags --libs
>>> plplotd-f77`
>>> This comes from the example Makefile that results when cmake is
>>> used to build plplot:
>>> (See: /usr/share/doc/libplplot9/examples/f77/Makefile, for example)
>>> The conflict is that the names don't match on a cmake static only
>>> build (when done on cygwin anyway for sure). That is, the file:
>>> /usr/local/lib/pkgconfig/plplotd-f77.pc
>>> contains the line
>>> Libs: -L${libdir} -lplplotf77d-9.9.1 -lplplotf77cd-9.1.1
>>> But there is no -9.1.1 suffix on the name of the library file in
>>> /usr/local/lib
>>> WHAT I FOUND ON PRE-BUILT PACKAGES
>>> Interestingly enough, this does not appear on downloadable binary
>>> packages for some linux distributions. My desktop is Debian Etch
>>> at the moment, and the plplot*.deb files don't have this conflict
>>> between the *.pc file contents and the actual library names. Also,
>>> on linux, I use shared libraries, and the suffix would have value
>>> in that context.
>>> WORK-A-ROUND
>>> I can work around this with my software, and use conditionals that
>>> detect if CYGWIN is the build host. Or I can write a script that
>>> fixes the plplot pkgconfig file. But I thought that the plplot
>>> development programmers might be interested in this.
>>> Paul
I think the problem is due the lines 109-117 in plplot/bindings/f77/
CMakeLists.txt
# Set the path and the suffix for the (shared) libraries
if(CYGWIN)
if(BUILD_SHARED_LIBS)
set(SHLIB_DIR "${BIN_DIR}")
endif(BUILD_SHARED_LIBS)
set(VERSION_SUFFIX "-${plplotf77_VERSION}")
else(CYGWIN)
set(VERSION_SUFFIX "")
endif(CYGWIN)
Here VERSION_SUFFIX is set always for CYGWIN if shared or static, and
VERSION_SUFFIX is later used in line 184 were the .pc file is created.
But I don't understand where plplotf77_VERSION is created (can't find
it in the plplot source tree except in that file) and why this if
clause is there anyway. Cygwin seems to need this version_suffix, but
not in the static case. So I would assume that
# Set the path and the suffix for the (shared) libraries
if(CYGWIN)
if(BUILD_SHARED_LIBS)
set(SHLIB_DIR "${BIN_DIR}")
set(VERSION_SUFFIX "-${plplotf77_VERSION}")
endif(BUILD_SHARED_LIBS)
else(CYGWIN)
set(VERSION_SUFFIX "")
endif(CYGWIN)
would fix this, so that the VERSION_SUFFIX has only a value for the
shared Cygwin case. Paul you could try to change you plplot source in
see if this fixes your problems and let us know? It's too complicated
now to check that with my Cygwin install, since I don't have Windows
running now.
Best Regards,
Werner
--
Dr. Werner Smekal
Institut fuer Allgemeine Physik
Technische Universitaet Wien
Wiedner Hauptstr 8-10
A-1040 Wien
Austria
email: [email protected]
web: http://www.iap.tuwien.ac.at/~smekal
phone: +43-(0)1-58801-13463 (office), +43-(0)1-58801-13469 (laboratory)
fax: +43-(0)1-58801-13499
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel