From: chm <dev...@gm...> - 2011-04-16 21:46:03
|
I was able to build the current plplot trunk from svn on cygwin 1.7.7 with some hand-holding: (1) First disable problem options and ones I don't think I needed to get started: cmake -DCMAKE_INSTALL_PREFIX=install -DENABLE_tk=OFF -DENABLE_tcl=OFF \ -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TEST=ON -DENABLE_ada=OFF \ -DENABLE_d=OFF -DENABLE_java=OFF -DENABLE_ocaml=OFF -DENABLE_octave=OFF \ -DENABLE_cairo=OFF -DDEFAULT_NO_CAIRO_DEVICES=ON ../ 2>&1 | tee plplot-cmake-log.txt (2) I had to add directories containing the cygXXX.dll files to the PATH in order for the build to complete. cygwin, being a windows systems, follows windows rules for the shared library DLLs. The key is that the DLL must be in the same directory or in the PATH to be found. It also needs to be set as executable. The directories with DLLs were: <build-dir>/bindings/c++ <build-dir>/bindings/f77 <build-dir>/bindings/f95 <build-dir>/bindings/qt_gui <build-dir>/lib/csa <build-dir>/lib/nn <build-dir>/lib/qsastime <build-dir>/src If all the above were temporarily added to the PATH before the make, that should work ok. These missing PATH directories typically showed in the tests, e.g., cd buildcygwin/drivers && ./test-drv-info.exe xwin (3) After the install, the following two (at least) directories below need to be added the PATH for the plplot examples to run: <install-dir>/bin <install-dir>/lib/plplot5.9.7/driversd (4) Finally, there were some problems with cairo and wingcc which appear to come from the cmake process selecting a mixture of unix build options and win32 ones. For example: I don't think the unix flavor of the cairo libraries could possible have #include <windows.h> to work yet the cairo build on cygwin tries just that. Similarly, the wingcc driver got built but it hang on running the example (it should be able to be ported to cygwin). The secret for cygwin cmake and autoconf detection is to make sure you don't check for win32 stuff if you have decided to do a unix build. Also, the compile and link option decisions need to allow for the fact that although a cygwin system does have a windows.h file, the build should be unix-ish. Now that I've got the plplot building, I'm going to see if I can get it to talk to perl/PDL. I think that would be easier if I did not use dynamic drivers to reduce possible issues that could arise. Is there some way to build a static plplot with all the drivers linked in statically as well? That should simplify the next steps. Thanks in advance, Chris |