From: Alan W. I. <ir...@be...> - 2006-10-31 05:59:02
|
Today I discovered and fixed a large number of dependency issues with the documentation build. The worst of these was a real dependency of the plplot-symbols.txt build on libplplot which was being completely ignored in doc/docbook/src/CMakeLists.txt. The final issue I discovered was causing pdfjadetex and jadetex to be unnecessarily run when I re-ran the make command. That was greatly slowing down my work on one of the issues blocking release, and I completely solved the issue by replacing the old method (which was based on dependencies) by a shell-based method closely related to that used in our ABS to solve the same issue of deciding how many times to run pdfjadetex and jadetex. Normally, shell-based commands should not be used for CMake because of potential cross-platform issues, but in this case we are only allowing building the documentation on Linux so we are free to use the power of the shell. I have done a number of elementary tests of the documentation build and all appears well now. With these side issue now resolved, I should be able to get back to working on the two remaining issues which are blocking release. Sorry, Hazen, on the large delay in creating the promised solution of one of those blockers, the Tcl/Tk build errors for Mac OS X. I should have something for you to test tomorrow (Tuesday). 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Alan W. I. <ir...@be...> - 2006-10-31 21:32:53
|
On 2006-10-30 21:58-0800 Alan W. Irwin wrote: > Sorry, Hazen, on the large delay in creating the promised solution of one of > those blockers, the Tcl/Tk build errors for Mac OS X. I should have > something for you to test tomorrow (Tuesday). This fix (to add the X headers and libraries to the Tk headers and libraries) had more wide-spread implications than I thought, but it is done now. The CBS build and install tree test seems to work fine on my Linux platform with these latest changes. Hazen, could you see if this set of changes completely solves the Mac OS X release blocker (Tcl/Tk problems)? Please try both the build-tree test (with ctest) and the install tree test (cd to $prefix/share/plplot5.6.1/examples, and run make and ./plplot-test.sh there). Also, please try running a few of the installed examples using -dev tk and try some of the GUI buttons that you have access to with that device to make sure Tk is working correctly. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Hazen B. <hba...@ma...> - 2006-11-01 04:11:10
|
On Oct 31, 2006, at 4:31 PM, Alan W. Irwin wrote: > On 2006-10-30 21:58-0800 Alan W. Irwin wrote: > > Hazen, could you see if this set of changes completely solves the > Mac OS X > release blocker (Tcl/Tk problems)? Please try both the build-tree > test > (with ctest) and the install tree test (cd to > $prefix/share/plplot5.6.1/examples, and run make and ./plplot-test.sh > there). Also, please try running a few of the installed examples > using -dev > tk and try some of the GUI buttons that you have access to with > that device > to make sure Tk is working correctly. Thanks! This builds and passed all the build-tree tests (using ctest). I haven't been able to test the buttons yet. When I try to run an example with the tk device I get: plFindCommand: cannot locate command: plserver bin dir="/usr/local/bin" *** PLPLOT ERROR *** Unable to fork server process Program aborted Which is perhaps strange since I can run plserver myself with no problem. I still can't compile the install tree examples. iMac /usr/local/share/plplot5.6.1/examples : sudo make ... Making all in tk /usr/bin/gcc xtk01.c -o xtk01 `PKG_CONFIG_PATH=/usr/local/lib/ pkgconfig pkg-config --cflags --libs plplotd-tcl` /usr/bin/ld: can't map file: /System/Library/Frameworks/tcl.framework ((os/kern) invalid argument) collect2: ld returned 1 exit status make[1]: *** [xtk01] Error 1 iMac /usr/local/lib/pkgconfig : more plplotd-tcl.pc libdir=/usr/local/lib includedir=/usr/local/include/plplot drvdir=/usr/local/lib/plplot5.6.1/driversd Name: PLplot Tcl/Tk Description: Scientific plotting library (Tcl/Tk bindings, double precision) Requires: plplotd Version: 5.6.1 Libs: -L${libdir} -lplplottcltkd -ltclmatrixd /System/Library/ Frameworks/tcl.framework /System/Library/Frameworks/tk.framewo rk -L/usr/X11R6/lib -lSM -lICE /usr/X11R6/lib/libX11.dylib /usr/X11R6/ lib/libXext.dylib Cflags: -I${includedir} -I/System/Library/Frameworks/Tcl.framework/ Headers -I/System/Library/Frameworks/Tk.framework/Headers -I/usr/include -I/usr/include -I/usr/include -Hazen |
From: Alan W. I. <ir...@be...> - 2006-11-01 05:57:37
|
On 2006-10-31 23:09-0500 Hazen Babcock wrote: > > On Oct 31, 2006, at 4:31 PM, Alan W. Irwin wrote: > >> On 2006-10-30 21:58-0800 Alan W. Irwin wrote: >> >> Hazen, could you see if this set of changes completely solves the >> Mac OS X >> release blocker (Tcl/Tk problems)? > Thanks! This builds and passed all the build-tree tests (using > ctest). That's encouraging progress. Could you give the exact gcc command that was used to build libplplottcltk? (That command should be given as part of the results from your make command.) The gcc command used to build libplplottcltk successfully will help to figure out how to link to libplplottcltk as in the xtk01.c example below. > I haven't been able to test the buttons yet. When I try to > run an example with the tk device I get: > > plFindCommand: cannot locate command: plserver > bin dir="/usr/local/bin" > > *** PLPLOT ERROR *** > Unable to fork server process > Program aborted > > Which is perhaps strange since I can run plserver myself with no > problem. I think there is a way to run one of the build-tree examples using -dev tk, but I think there are some environment variables you have to set to help find things in the build tree such as the build-tree plserver executable. Maurice, can you comment? However, it is much easier to run the installed examples because everything is stored in known standard places (relative to the install prefix). Below, you are having trouble with some specific Tk example compilations, but you don't need those to run -dev tk. Simply, cd to the installed examples/c directory, type "make" to build everything, and then run one of those examples with -dev tk. > > > I still can't compile the install tree examples. Actually that appears to be just one examples directory (examples/tk) that you cannot build. You can compile individual installed examples directories (such as examples/c or examples/c++ directory) by typing "make" from inside them. That should allow you to run plplot-test.sh since examples/tk is not tested by that script. That said, examples/tk should be made to build correctly so read on.... > > iMac /usr/local/share/plplot5.6.1/examples : sudo make > ... > Making all in tk > /usr/bin/gcc xtk01.c -o xtk01 `PKG_CONFIG_PATH=/usr/local/lib/ > pkgconfig pkg-config --cflags --libs plplotd-tcl` > /usr/bin/ld: can't map file: /System/Library/Frameworks/tcl.framework > ((os/kern) invalid argument) > collect2: ld returned 1 exit status > make[1]: *** [xtk01] Error 1 > > > iMac /usr/local/lib/pkgconfig : more plplotd-tcl.pc > libdir=/usr/local/lib > includedir=/usr/local/include/plplot > drvdir=/usr/local/lib/plplot5.6.1/driversd > > Name: PLplot Tcl/Tk > Description: Scientific plotting library (Tcl/Tk bindings, double > precision) > Requires: plplotd > Version: 5.6.1 > Libs: -L${libdir} -lplplottcltkd -ltclmatrixd /System/Library/ > Frameworks/tcl.framework /System/Library/Frameworks/tk.framewo > rk -L/usr/X11R6/lib -lSM -lICE /usr/X11R6/lib/libX11.dylib /usr/X11R6/ > lib/libXext.dylib > Cflags: -I${includedir} -I/System/Library/Frameworks/Tcl.framework/ > Headers -I/System/Library/Frameworks/Tk.framework/Headers > -I/usr/include -I/usr/include -I/usr/include Hazen, just to be clear about the actual pkg-config result, could you give us the result of PKG_CONFIG_PATH=/usr/local/lib/ \ pkgconfig pkg-config --cflags --libs plplotd-tcl ? That should give you the (almost complete) command used to compile xtk01.c above. You or Per should then try that (detailed) complete command by hand and modify it to see what needs to be changed to build xtk01.c properly. We have complete control over what is on the Libs: and Cflags: lines above which in turn control the output from the above pkg-config command so any modification you deem necessary should be straightforward to implement for the Mac OS X platform. Finally, Hazen, sorry to keep nagging you about your install prefix, but it is an important point so that is why I am doing it. You are using the default install prefix of /usr/local above. That is difficult to completely remove since the chances are good there is important stuff from other packages there. If you don't remove the entire PLplot install tree, that allows the possibility of stale (and probably incorrect) results to be screwing up your installed examples tests and thus introduces uncertainty about your reported results. So _please_ always specify a unique install prefix (such as /usr/local/plplot). Also, always completely remove the install tree before each fresh build to insure a clean install and more reliable install-tree test results. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Hazen B. <hba...@ma...> - 2006-11-05 03:31:51
|
Linking with the Tcl/Tk frameworks in the build tree (works): Linking C shared library libplplottcltkd.dylib cd /Users/hbabcock/Documents/OpenSource/PLplot/plplot-CBS-1/bindings/ tcl && /usr/local/bin/cmake -P CMakeFiles/plplottcltkd.dir/ cmake_clean_target.cmake cd /Users/hbabcock/Documents/OpenSource/PLplot/plplot-CBS-1/bindings/ tcl && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/ plplottcltkd.dir/link.txt --verbose=1 /usr/bin/gcc -dynamiclib -headerpad_max_install_names - single_module -o libplplottcltkd.9.2.0.dylib -install_name /Users/ hbabcock/Documents/OpenSource/PLplot/plplot-CBS-1/bindings/tcl/ libplplottcltkd.9.dylib "CMakeFiles/plplottcltkd.dir/tclAPI.o" "CMakeFiles/plplottcltkd.dir/tclMain.o" "CMakeFiles/plplottcltkd.dir/ Users/hbabcock/Documents/OpenSource/PLplot/plplot-cvs/bindings/tk/ Pltk_Init.o" "CMakeFiles/plplottcltkd.dir/Users/hbabcock/Documents/ OpenSource/PLplot/plplot-cvs/bindings/tk/plframe.o" "CMakeFiles/ plplottcltkd.dir/Users/hbabcock/Documents/OpenSource/PLplot/plplot- cvs/bindings/tk/plr.o" "CMakeFiles/plplottcltkd.dir/Users/hbabcock/ Documents/OpenSource/PLplot/plplot-cvs/bindings/tk/tcpip.o" "CMakeFiles/plplottcltkd.dir/Users/hbabcock/Documents/OpenSource/ PLplot/plplot-cvs/bindings/tk/tkMain.o" -L/Users/hbabcock/Documents/ OpenSource/PLplot/plplot-CBS-1/bindings/tcl -L/Users/hbabcock/ Documents/OpenSource/PLplot/plplot-CBS-1/src -L/Users/hbabcock/ Documents/OpenSource/PLplot/plplot-CBS-1/lib/csa -L/Users/hbabcock/ Documents/OpenSource/PLplot/plplot-CBS-1/lib/nn -L/usr/X11R6/lib -L/ usr/local/lib -ltclmatrixd -lplplotd -framework tcl -framework tk -L/ usr/X11R6/lib -lSM -lICE -lX11 -lXext -lltdl -ldl -lm -lcsirocsa - lcsironn -lqhull Linking with the Tcl/Tk frameworks in the install tree (doesn't work): iMac /usr/local/lib/pkgconfig : PKG_CONFIG_PATH=/usr/local/lib/ pkgconfig pkg-config --cflags --libs plplotd-tcl -I/usr/local/include/plplot -I/System/Library/Frameworks/ Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/ Headers /System/Library/Frameworks/tcl.framework /System/Library/ Frameworks/tk.framework /usr/X11R6/lib/libX11.dylib /usr/X11R6/lib/ libXext.dylib /usr/lib/libltdl.dylib /usr/lib/libdl.dylib -L/usr/ local/lib -L/usr/X11R6/lib -lplplottcltkd -ltclmatrixd -lSM -lICE - lplplotd -lm -lcsirocsa -lcsironn -lqhull Making all in tk /usr/bin/gcc xtk01.c -o xtk01 `PKG_CONFIG_PATH=/usr/local/lib/ pkgconfig pkg-config --cflags --libs plplotd-tcl` /usr/bin/ld: can't map file: /System/Library/Frameworks/tcl.framework ((os/kern) invalid argument) collect2: ld returned 1 exit status This also does not work (I edited the plplotd-tcl.pc to be closer to the build tree linking command). iMac /usr/local/lib/pkgconfig : more plplotd-tcl.pc libdir=/usr/local/lib includedir=/usr/local/include/plplot drvdir=/usr/local/lib/plplot5.6.1/driversd Name: PLplot Tcl/Tk Description: Scientific plotting library (Tcl/Tk bindings, double precision) Requires: plplotd Version: 5.6.1 Libs: -L${libdir} -lplplottcltkd -ltclmatrixd -framework tcl - framework tk -L/usr/X11R6/lib -lSM -lICE /usr/X11R6/lib/libX11 .dylib /usr/X11R6/lib/libXext.dylib Cflags: -I${includedir} -I/System/Library/Frameworks/Tcl.framework/ Headers -I/System/Library/Frameworks/Tk.framework/Headers -I/usr/include -I/usr/include -I/usr/include Making all in tk /usr/bin/gcc xtk01.c -o xtk01 `PKG_CONFIG_PATH=/usr/local/lib/ pkgconfig pkg-config --cflags --libs plplotd-tcl` powerpc-apple-darwin8-gcc-4.0.0: tk: No such file or directory make[1]: *** [xtk01] Error 1 iMac /usr/local/lib/pkgconfig : PKG_CONFIG_PATH=/usr/local/lib/ pkgconfig pkg-config --cflags --libs plplotd-tcl -I/usr/local/include/plplot -I/System/Library/Frameworks/ Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/ Headers -framework tk tcl /usr/X11R6/lib/libX11.dylib /usr/X11R6/lib/ libXext.dylib /usr/lib/libltdl.dylib /usr/lib/libdl.dylib -L/usr/ local/lib -L/usr/X11R6/lib -lplplottcltkd -ltclmatrixd -lSM -lICE - lplplotd -lm -lcsirocsa -lcsironn -lqhull It looks like the problem might be that pkg-config decided to roll the 2 -frameworks into one (i.e. "-framework tcl -framework tk" became "-framework tcl tk"). Assuming that this this is the problem, how does one prevent pkg-config from being quite so clever? thanks, -Hazen |
From: Alan W. I. <ir...@be...> - 2006-11-05 17:15:01
|
On 2006-11-04 22:30-0500 Hazen Babcock wrote: > > Linking with the Tcl/Tk frameworks in the build tree (works): > > Linking C shared library libplplottcltkd.dylib > cd /Users/hbabcock/Documents/OpenSource/PLplot/plplot-CBS-1/bindings/tcl && > /usr/local/bin/cmake -P CMakeFiles/plplottcltkd.dir/cmake_clean_target.cmake > cd /Users/hbabcock/Documents/OpenSource/PLplot/plplot-CBS-1/bindings/tcl && > /usr/local/bin/cmake -E cmake_link_script CMakeFiles/ > plplottcltkd.dir/link.txt --verbose=1 > /usr/bin/gcc -dynamiclib -headerpad_max_install_names -single_module -o > libplplottcltkd.9.2.0.dylib -install_name /Users/ > hbabcock/Documents/OpenSource/PLplot/plplot-CBS-1/bindings/tcl/ > libplplottcltkd.9.dylib "CMakeFiles/plplottcltkd.dir/tclAPI.o" > "CMakeFiles/plplottcltkd.dir/tclMain.o" "CMakeFiles/plplottcltkd.dir/ > Users/hbabcock/Documents/OpenSource/PLplot/plplot-cvs/bindings/tk/ > Pltk_Init.o" "CMakeFiles/plplottcltkd.dir/Users/hbabcock/Documents/ > OpenSource/PLplot/plplot-cvs/bindings/tk/plframe.o" "CMakeFiles/ > plplottcltkd.dir/Users/hbabcock/Documents/OpenSource/PLplot/plplot- > cvs/bindings/tk/plr.o" "CMakeFiles/plplottcltkd.dir/Users/hbabcock/ > Documents/OpenSource/PLplot/plplot-cvs/bindings/tk/tcpip.o" > "CMakeFiles/plplottcltkd.dir/Users/hbabcock/Documents/OpenSource/ > PLplot/plplot-cvs/bindings/tk/tkMain.o" -L/Users/hbabcock/Documents/ > OpenSource/PLplot/plplot-CBS-1/bindings/tcl -L/Users/hbabcock/ > Documents/OpenSource/PLplot/plplot-CBS-1/src -L/Users/hbabcock/ > Documents/OpenSource/PLplot/plplot-CBS-1/lib/csa -L/Users/hbabcock/ > Documents/OpenSource/PLplot/plplot-CBS-1/lib/nn -L/usr/X11R6/lib -L/ > usr/local/lib -ltclmatrixd -lplplotd -framework tcl -framework tk -L/ > usr/X11R6/lib -lSM -lICE -lX11 -lXext -lltdl -ldl -lm -lcsirocsa -lcsironn > -lqhull > > > Linking with the Tcl/Tk frameworks in the install tree (doesn't work): > > iMac /usr/local/lib/pkgconfig : PKG_CONFIG_PATH=/usr/local/lib/pkgconfig > pkg-config --cflags --libs plplotd-tcl > -I/usr/local/include/plplot -I/System/Library/Frameworks/ > Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers > /System/Library/Frameworks/tcl.framework /System/Library/ > Frameworks/tk.framework /usr/X11R6/lib/libX11.dylib /usr/X11R6/lib/ > libXext.dylib /usr/lib/libltdl.dylib /usr/lib/libdl.dylib -L/usr/local/lib > -L/usr/X11R6/lib -lplplottcltkd -ltclmatrixd -lSM -lICE -lplplotd -lm > -lcsirocsa -lcsironn -lqhull > > [...]This also does not work (I edited the plplotd-tcl.pc to be closer to the > build tree linking command). > > iMac /usr/local/lib/pkgconfig : more plplotd-tcl.pc > libdir=/usr/local/lib > includedir=/usr/local/include/plplot > drvdir=/usr/local/lib/plplot5.6.1/driversd > > Name: PLplot Tcl/Tk > Description: Scientific plotting library (Tcl/Tk bindings, double precision) > Requires: plplotd > Version: 5.6.1 > Libs: -L${libdir} -lplplottcltkd -ltclmatrixd -framework tcl -framework tk > -L/usr/X11R6/lib -lSM -lICE /usr/X11R6/lib/libX11 > .dylib /usr/X11R6/lib/libXext.dylib > Cflags: -I${includedir} -I/System/Library/Frameworks/Tcl.framework/Headers > -I/System/Library/Frameworks/Tk.framework/Headers > -I/usr/include -I/usr/include -I/usr/include > > [...]iMac /usr/local/lib/pkgconfig : PKG_CONFIG_PATH=/usr/local/lib/pkgconfig > pkg-config --cflags --libs plplotd-tcl > -I/usr/local/include/plplot -I/System/Library/Frameworks/ > Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers > -framework tk tcl /usr/X11R6/lib/libX11.dylib /usr/X11R6/lib/libXext.dylib > /usr/lib/libltdl.dylib /usr/lib/libdl.dylib -L/usr/local/lib -L/usr/X11R6/lib > -lplplottcltkd -ltclmatrixd -lSM -lICE -lplplotd -lm -lcsirocsa -lcsironn > -lqhull > > It looks like the problem might be that pkg-config decided to roll the 2 > -frameworks into one (i.e. "-framework tcl -framework tk" became "-framework > tcl tk"). Assuming that this this is the problem, how does one prevent > pkg-config from being quite so clever? It appears from comparison between the good and bad linking commands above that the plplot-tcl.pc file should transform /System/Library/Frameworks/tcl.framework ==> -framework tcl and similarly for tk. Also, all the direct specification of *.dylib libraries should be transformed into the -L -l form. (This is the form that worked for the good linking command above. Also, my experience with Linux is pkg-config handles specifying libraries with -L and -l options much better than using the actual library name.) The only potential problem with these changes is when you tried that first transformation by hand editing plplot-tcl.pc, one of the essential "-framework" strings was not emitted by pkg-config. That's really peculiar. Could you try the following simple example to see what you get on your system? *****test.pc (simplest possible example) software@chickadee> cat test.pc Name: Description: Requires: Version: Libs: -framework tcl -framework tk Cflags: On my Linux system both -framework options are emitted properly by pkg-config: software@chickadee> PKG_CONFIG_PATH=. pkg-config --libs test -framework tcl -framework tk If you also get the right result for this simple case, then it's possible that the *.dylib form of library name was confusing pkg-config in the more complicated plplot-tcl.pc case. To test that possibility, I have gone ahead and made the above two transformations (framework and *.dylib) in CVS. Will you please give that changed version a try? 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Hazen B. <hba...@ma...> - 2006-11-06 02:31:21
|
> The only potential problem with these changes is when you tried > that first > transformation by hand editing plplot-tcl.pc, one of the essential > "-framework" strings was not emitted by pkg-config. That's really > peculiar. > Could you try the following simple example to see what you get on > your system? > > *****test.pc (simplest possible example) > software@chickadee> cat test.pc > Name: > Description: > Requires: > Version: > Libs: -framework tcl -framework tk > Cflags: > > On my Linux system both -framework options are emitted properly by > pkg-config: > > software@chickadee> PKG_CONFIG_PATH=. pkg-config --libs test > -framework tcl -framework tk It is peculiar. iMac /usr/local/lib/pkgconfig : more test.pc Name: Description: Requires: Version: Libs: -framework tcl -framework tk Cflags: iMac /usr/local/lib/pkgconfig : PKG_CONFIG_PATH=. pkg-config --libs test -framework tcl tk iMac /usr/local/lib/pkgconfig : pkg-config --version 0.15.0 Is my version of pkg-config too old? -Hazen |
From: Alan W. I. <ir...@be...> - 2006-11-06 02:54:23
|
On 2006-11-05 21:29-0500 Hazen Babcock wrote: > iMac /usr/local/lib/pkgconfig : PKG_CONFIG_PATH=. pkg-config --libs test > -framework tcl tk I am virtually positive that is a bug in this really ancient (see below) version. > > iMac /usr/local/lib/pkgconfig : pkg-config --version > 0.15.0 > > Is my version of pkg-config too old? Very likely. That version is from 3 (!) years ago. Mine is version 0.17.2, but that is already pretty old (Debian stable system). Please, grab the latest (0.21) from http://pkgconfig.freedesktop.org/releases/ , build it (apparently quite easy), and try again. I have some pretty good hope that a new version of pkg-config and the CVS fix I did earlier today will solve your remaining issues. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Hazen B. <hba...@ma...> - 2006-11-06 04:05:36
|
On Nov 5, 2006, at 9:53 PM, Alan W. Irwin wrote: > On 2006-11-05 21:29-0500 Hazen Babcock wrote: > >> iMac /usr/local/lib/pkgconfig : PKG_CONFIG_PATH=. pkg-config -- >> libs test >> -framework tcl tk > > I am virtually positive that is a bug in this really ancient (see > below) > version. > >> >> iMac /usr/local/lib/pkgconfig : pkg-config --version >> 0.15.0 >> >> Is my version of pkg-config too old? > > Very likely. That version is from 3 (!) years ago. Mine is version > 0.17.2, > but that is already pretty old (Debian stable system). Please, > grab the > latest (0.21) from http://pkgconfig.freedesktop.org/releases/ , > build it > (apparently quite easy), and try again. > > I have some pretty good hope that a new version of pkg-config and > the CVS > fix I did earlier today will solve your remaining issues. I just installed version 0.21 and now there is no -framework mangling. I can build the examples in the install tree and ./plplot-test.sh runs without any problems. -Hazen |
From: Alan W. I. <ir...@be...> - 2006-11-06 05:20:56
|
On 2006-11-05 23:04-0500 Hazen Babcock wrote: > I just installed version 0.21 and now there is no -framework mangling. > > I can build the examples in the install tree... That's excellent news to hear. Thanks for hanging in there with me as we figured out the install tree xtk?? examples build problem. Tomorrow, I will use the same "Apple" method to transform the data for the remaining *.pc files that we configure. It shouldn't make much difference to the result of the current install-tree builds on Mac OS X, but it will make those builds substantially cleaner and allow framework libraries to be used in future for other libraries that PLplot depends on just like they currently are used for the Tcl and Tk libraries. > and ./plplot-test.sh runs without any problems. ctest in the build tree and ./plplot-test.sh in the install tree only tests the tcl interface. So that leaves an interesting question.... Now that you have built xtk01, etc., in the installed examples/tk directory can you run those executables following the directions in examples/tk/README.tkdemos? Also, can you run any of the examples in examples/c using -dev tk? Assuming the answers to these questions are "yes", that leaves only one major release blocker (a new script for creating the tarball with cmake/cpack and teaching our CBS to use the prebuilds from that tarball) which I am still working on. Also, I do want to provide some of the fine-tuning of install locations that I discussed on list before. But it shouldn't take too many more days for me to finish up. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Alan W. I. <ir...@be...> - 2006-11-06 17:43:01
|
On 2006-11-05 21:20-0800 Alan W. Irwin wrote: > Tomorrow, I will > use the same "Apple" method to transform the data for the remaining *.pc > files that we configure. It shouldn't make much difference to the result of > the current install-tree builds on Mac OS X, but it will make those builds > substantially cleaner and allow framework libraries to be used in future for > other libraries that PLplot depends on just like they currently are used for > the Tcl and Tk libraries. Done. Hazen, please check that all continues to be well for Mac OS X. Our CBS now uses the pc_transform_link_flags macro which is (newly) defined in cmake/modules/pkg-config.cmake to do the transformation. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: <hba...@ma...> - 2006-11-07 04:24:46
|
On Nov 6, 2006, at 12:42 PM, Alan W. Irwin wrote: > On 2006-11-05 21:20-0800 Alan W. Irwin wrote: > >> Tomorrow, I will >> use the same "Apple" method to transform the data for the >> remaining *.pc >> files that we configure. It shouldn't make much difference to the >> result of >> the current install-tree builds on Mac OS X, but it will make >> those builds >> substantially cleaner and allow framework libraries to be used in >> future for >> other libraries that PLplot depends on just like they currently >> are used for >> the Tcl and Tk libraries. > > Done. Hazen, please check that all continues to be well for Mac OS X. Everything continues to work well for OS-X. I need some pointers to get the Tk driver to work on OS-X however. At present there are at least two problems: (1) plFindName and by extension, plFindCommand always fail on OS-X because it is not a OS of type __unix (src/plctrl.c), even though the command that is looking for, /usr/local/bin/plserver exists and OS-X is BSD unix (I think). (2) If I force it by changing plFindName to return 0 rather than 1 then the examples run. However, they will run the command plserver twice, the first instantiation will be have appropriate(?) menu titles (i.e. "x01c, File, Edit") but no window. The second instantiation will have the wrong(?) menu titles ("plserver, File, Edit") and a blank window with two selectors, one called File and the other called Help. Ideas? thanks, -Hazen |
From: Alan W. I. <ir...@be...> - 2006-11-07 05:37:03
|
On 2006-11-06 23:23-0500 hba...@ma... wrote: > > On Nov 6, 2006, at 12:42 PM, Alan W. Irwin wrote: > >> On 2006-11-05 21:20-0800 Alan W. Irwin wrote: >> >>> Tomorrow, I will >>> use the same "Apple" method to transform the data for the >>> remaining *.pc >>> files that we configure. It shouldn't make much difference to the >>> result of >>> the current install-tree builds on Mac OS X, but it will make >>> those builds >>> substantially cleaner and allow framework libraries to be used in >>> future for >>> other libraries that PLplot depends on just like they currently >>> are used for >>> the Tcl and Tk libraries. >> >> Done. Hazen, please check that all continues to be well for Mac OS X. > > Everything continues to work well for OS-X. > > I need some pointers to get the Tk driver to work on OS-X however. At > present there are at least two problems: > > (1) plFindName and by extension, plFindCommand always fail on OS-X > because it is not a OS of type __unix (src/plctrl.c), even though the > command that is looking for, /usr/local/bin/plserver exists and OS-X > is BSD unix (I think). Have a look at include/plplot.h. It has a whole series of defined's that it checks. If any of those are true it #define's __unix. I suspect you just have to add the appropriate check for Mac OS X to that list. Also, if you have any additional trouble after that, please post the results of the -debug option. Here are my results: software@starling> cd /tmp/examples/c software@starling> ./x01c -dev tk -debug software@starling> ./x01c -dev tk -debug PLplot library version: 5.6.1 plLoadDriver: Device not loaded! plLoadDriver: tag=tk, drvidx=9 plGetDrvDir: Trying to read env var PLPLOT_DRV_DIR plGetDrvDir: Will use drivers dir: /home/software/plplot_cvs/installcmake/lib/plplot5.6.1/driversd plLoadDriver: Trying to load tk on /home/software/plplot_cvs/installcmake/lib/plplot5.6.1/driversd/tk tcl_cmd: Evaluating command: rename exec {} tcl_cmd: Evaluating command: set client_name [winfo name .] tcl_cmd: Evaluating command: global auto_path; puts "auto_path: $auto_path" auto_path: /tmp/examples/c /home/software/tcl /home/software/plplot_cvs/installcmake/share/plplot5.6.1/tcl /usr/lib/tcl8.3 /usr/lib ./lib /usr/lib/tk8.3 tcl_cmd: Evaluating command: plclient_init init_server: /home/software/plplot_cvs/HEAD/plplot_cmake/drivers/tk.c -- PID: 20282, PGID: 20282, PPID: 30359 argument list: plserver -child -e plserver_init -file /dev/null -name x01c -client_name tk (null) plFindName: Trying to find ./plserver plFindName: ./plserver found but is not executable plFindName: Trying to find /home/software/plplot_cvs/installcmake/bin/plserver plFindName: /home/software/plplot_cvs/installcmake/bin/plserver may be the one... plFindName: /home/software/plplot_cvs/installcmake/bin/plserver is a regular file launch_server: Starting up /home/software/plplot_cvs/installcmake/bin/plserver tcl_cmd: Evaluating command: set server $server_name tcl_cmd: Evaluating command: rename open {} tcl_cmd: Evaluating command: rename rename {} server_cmd: Sending command: $plw_create_proc $plwindow [list $client] server_cmd: Sending command: $plwidget cmd plsetopt -debug server_cmd: Sending command: $plwidget cmd plsetopt -ncol0 16 server_cmd: Sending command: $plwidget cmd plsetopt -ncol1 128 server_cmd: Sending command: $plw_start_proc $plwindow Attempting to allocate r/o colors in cmap0. i=1, r=1, pixel=63488 i=2, r=1, pixel=65504 i=3, r=1, pixel=2016 i=4, r=1, pixel=32762 i=5, r=1, pixel=65048 i=6, r=1, pixel=63221 i=7, r=1, pixel=48631 i=8, r=1, pixel=41285 i=9, r=1, pixel=31 i=10, r=1, pixel=35163 i=11, r=1, pixel=2047 i=12, r=1, pixel=18201 i=13, r=1, pixel=63519 i=14, r=1, pixel=62478 i=15, r=1, pixel=65535 Allocated 16 colors in cmap0. CreatePixmap: creating pixmap: width = 640, height = 446, depth = 16 plLibOpenPdfstr: Found file /home/software/plplot_cvs/installcmake/share/plplot5.6.1/plxtnd5.fnt server_cmd: Sending command: $plwidget openlink fifo $fifoname plLibOpenPdfstr: Found file /home/software/plplot_cvs/installcmake/share/plplot5.6.1/plxtnd5.fnt LookupTkKeyEvent: KeyEH: stream: 0, Keyname Return, hex d, ASCII: tcl_cmd: Evaluating command: plclient_link_end Hope the plplot.h suggestion helps you to completely solve the problem. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Werner S. <sm...@ia...> - 2006-11-07 07:25:06
|
Hi, > Have a look at include/plplot.h. It has a whole series of defined's that > it checks. If any of those are true it #define's __unix. I suspect you just > have to add the appropriate check for Mac OS X to that list. I found this website ( http://predef.sourceforge.net/index.php ) which is very useful if you need to know predefined macros for your compiler. Maybe this is of any help. Regards, Werner -- Dipl. Ing. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria email: sm...@ia... 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 |
From: <hba...@ma...> - 2006-11-08 05:14:53
|
>> Everything continues to work well for OS-X. >> >> I need some pointers to get the Tk driver to work on OS-X however. At >> present there are at least two problems: >> >> (1) plFindName and by extension, plFindCommand always fail on OS-X >> because it is not a OS of type __unix (src/plctrl.c), even though the >> command that is looking for, /usr/local/bin/plserver exists and OS-X >> is BSD unix (I think). > > Have a look at include/plplot.h. It has a whole series of > defined's that > it checks. If any of those are true it #define's __unix. I > suspect you just > have to add the appropriate check for Mac OS X to that list. I added the check, so I think that we are now okay here. > Also, if you have any additional trouble after that, please post > the results > of the -debug option. Here are my results: > > software@starling> cd /tmp/examples/c > software@starling> ./x01c -dev tk -debug > software@starling> ./x01c -dev tk -debug > PLplot library version: 5.6.1 > plLoadDriver: Device not loaded! > plLoadDriver: tag=tk, drvidx=9 > plGetDrvDir: Trying to read env var PLPLOT_DRV_DIR > plGetDrvDir: Will use drivers dir: /home/software/plplot_cvs/ > installcmake/lib/plplot5.6.1/driversd > plLoadDriver: Trying to load tk on /home/software/plplot_cvs/ > installcmake/lib/plplot5.6.1/driversd/tk iMac /usr/local/share/plplot5.6.1/examples/c : ./x01c -dev tk -debug PLplot library version: 5.6.1 plLoadDriver: Device not loaded! plLoadDriver: tag=tk, drvidx=8 plGetDrvDir: Trying to read env var PLPLOT_DRV_DIR plGetDrvDir: Will use drivers dir: /usr/local/lib/plplot5.6.1/driversd plLoadDriver: Trying to load tk on /usr/local/lib/plplot5.6.1/ driversd/tk Bus error It seems to get a little further if I run it like this: iMac /usr/local/share/plplot5.6.1/examples/c : ./x01c -debug PLplot library version: 5.6.1 Plotting Options: < 1> xwin X-Window (Xlib) < 2> tk Tcl/TK Window < 3> plmeta PLplot Native Meta-File < 4> ps PostScript File (monochrome) < 5> psc PostScript File (color) < 6> xfig Fig file < 7> hp7470 HP 7470 Plotter File (HPGL Cartridge, Small Plotter) < 8> hp7580 HP 7580 Plotter File (Large Plotter) < 9> lj_hpgl HP Laserjet III, HPGL emulation mode <10> pbm PDB (PPM) Driver <11> png PNG file <12> jpeg JPEG file <13> null Null device <14> tkwin New tk driver <15> mem User-supplied memory device <16> gif GIF file <17> aqt AquaTerm (Mac OS X) Enter device number or keyword: 2 plLoadDriver: Device not loaded! plLoadDriver: tag=tk, drvidx=8 plGetDrvDir: Trying to read env var PLPLOT_DRV_DIR plGetDrvDir: Will use drivers dir: /usr/local/lib/plplot5.6.1/driversd plLoadDriver: Trying to load tk on /usr/local/lib/plplot5.6.1/ driversd/tk tcl_cmd: Evaluating command: rename exec {} tcl_cmd: Evaluating command: set client_name [winfo name .] tcl_cmd: Evaluating command: global auto_path; puts "auto_path: $auto_path" auto_path: /usr/local/share/plplot5.6.1/examples/c /Users/hbabcock/ tcl /usr/local/share/plplot5.6.1/tcl /System/Library/Frameworks/ Tcl.framework/Versions/8.4/Resources/Scripts /System/Library/ Frameworks/Tcl.framework/Versions/8.4/Resources ./lib ~/Library/Tcl / Library/Tcl /Network/Library/Tcl /System/Library/Tcl ~/Library/ Frameworks /Library/Frameworks /Network/Library/Frameworks /System/ Library/Frameworks /System/Library/Tcl/tcllib1.6 /System/Library/Tcl/ tklib0.2 /System/Library/Frameworks/Tk.framework/Versions/8.4/ Resources/Scripts tcl_cmd: Evaluating command: plclient_init init_server: /Users/hbabcock/Documents/OpenSource/PLplot/plplot-cvs/ drivers/tk.c -- PID: 6421, PGID: 6421, PPID: 270 argument list: plserver -child -e plserver_init -file /dev/null -name x01c - client_name tk (null) plFindName: Trying to find /usr/local/bin/plserver plFindName: /usr/local/bin/plserver may be the one... plFindName: /usr/local/bin/plserver is a regular file launch_server: Starting up /usr/local/bin/plserver It hangs here until I close the (blank) window it created, where upon it just exits. -Hazen |
From: Alan W. I. <ir...@be...> - 2006-11-07 15:36:32
|
On 2006-11-07 08:24+0100 Werner Smekal wrote: > Hi, > >> Have a look at include/plplot.h. It has a whole series of defined's that >> it checks. If any of those are true it #define's __unix. I suspect you just >> have to add the appropriate check for Mac OS X to that list. > > I found this website ( http://predef.sourceforge.net/index.php ) which > is very useful if you need to know predefined macros for your compiler. > Maybe this is of any help. Thanks, Werner. That looks like an extremely useful site. For example, it gives (http://predef.sourceforge.net/preos.html#sec17) the Mac OS X identification which should help Hazen test the idea above. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Alan W. I. <ir...@be...> - 2006-11-08 16:24:43
|
On 2006-11-08 00:13-0500 hba...@ma... wrote: > Alan wrote: >> Have a look at include/plplot.h. It has a whole series of defined's that >> it checks. If any of those are true it #define's __unix. I suspect you >> just >> have to add the appropriate check for Mac OS X to that list. > > I added the check, so I think that we are now okay here. > >> Also, if you have any additional trouble after that, please post the >> results >> of the -debug option. Here are my results: >> >> software@starling> cd /tmp/examples/c >> software@starling> ./x01c -dev tk -debug >> software@starling> ./x01c -dev tk -debug >> PLplot library version: 5.6.1 >> plLoadDriver: Device not loaded! >> plLoadDriver: tag=tk, drvidx=9 >> plGetDrvDir: Trying to read env var PLPLOT_DRV_DIR >> plGetDrvDir: Will use drivers dir: /home/software/plplot_cvs/ >> installcmake/lib/plplot5.6.1/driversd >> plLoadDriver: Trying to load tk on /home/software/plplot_cvs/ >> installcmake/lib/plplot5.6.1/driversd/tk > > iMac /usr/local/share/plplot5.6.1/examples/c : ./x01c -dev tk -debug > PLplot library version: 5.6.1 > plLoadDriver: Device not loaded! > plLoadDriver: tag=tk, drvidx=8 > plGetDrvDir: Trying to read env var PLPLOT_DRV_DIR > plGetDrvDir: Will use drivers dir: /usr/local/lib/plplot5.6.1/driversd > plLoadDriver: Trying to load tk on /usr/local/lib/plplot5.6.1/driversd/tk > Bus error + a different blank-screen result if you run it a different way. Bus errors for -dev tk and a different other bad (blank screen) result when interactively choosing dev tk from the menu are obviously not good signs. I suspect that we have been building the ABS version all this time on Mac OS X and nobody actually tested the Tk part of it. The reason I say that is because of the lack of Mac OS X identification in plplot.h that you just fixed. OTOH, Tk has worked for a long time on Linux with no segfaults or any other fundamental showstopper like you are encountering. So I think you are probably really close to getting it to work. I don't think there is anything more we can do in the linking department. One possibility is to try a different version of Tcl/Tk (the fink version if you got the above results with the Apple native version or vice versa). But if you get the same or related run-time problems with a different Tcl/Tk version then I think your only recourse is to do some run-time debugging to see exactly what the problem is. Good luck tracking this down. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: <hba...@ma...> - 2006-11-14 03:53:43
|
On Nov 8, 2006, at 11:23 AM, Alan W. Irwin wrote: > anything more we can do in the linking department. One possibility > is to > try a different version of Tcl/Tk (the fink version if you got the > above > results with the Apple native version or vice versa). But if you > get the > same or related run-time problems with a different Tcl/Tk version > then I > think your only recourse is to do some run-time debugging to see > exactly > what the problem is. It looks like it does work with the Fink Tk/Tcl. I can use the Tk driver now and the Tcl examples also seem to work. I have the following fink Tcl/Tk packages: tcltk, tcltk-dev and tcltk-shlibs, all version 8.4.6-2. I'll update the wiki accordingly. There is one bit of OS-X weirdness though. This works: ./examples/c/x01c, then choose the Tk device. However, this gives me a bus error: ./examples/c/x01c -dev tk As does this: ./examples/c/x01c -dev aqt But these don't: ./examples/c/x01c -dev xwin ./c/x01c -dev svg So it isn't something about Tk. I'd guess that it is something about command line arguments since I have lots of programs that specify these drivers in a non-interactive way and they work fine. -Hazen |
From: Alan W. I. <ir...@be...> - 2006-11-08 17:07:12
|
On 2006-11-08 08:23-0800 Alan W. Irwin wrote: > Bus errors for -dev tk and a different other bad (blank screen) result > when interactively choosing dev tk from the menu are obviously not good signs. > > I suspect that we have been building the ABS version all this time on Mac OS > X and nobody actually tested the Tk part of it. The reason I say that is > because of the lack of Mac OS X identification in plplot.h that you just > fixed. > > OTOH, Tk has worked for a long time on Linux with no segfaults or any other > fundamental showstopper like you are encountering. So I think you are > probably really close to getting it to work. I don't think there is > anything more we can do in the linking department. One possibility is to > try a different version of Tcl/Tk (the fink version if you got the above > results with the Apple native version or vice versa). But if you get the > same or related run-time problems with a different Tcl/Tk version then I > think your only recourse is to do some run-time debugging to see exactly > what the problem is. P.S. I have reconsidered, and there is at least two additional experiments you should run to isolate/simplify the problem better before you resort to run-time debugging. * -dev tk is a rather complicated way to run plserver so I suggest you try running plserver directly (in the installed examples tree) following the cookbook in README.tkdemos. * Another simplified method of using libplplottcltk is provided by the xtk?? examples (in the installed examples tree). What happens when you follow the cookbook in README.tkdemos for running xtk01, xtk02, and xtk04? If some of these experiments succeed and others not, then that gives us a good cross-bearing on exactly where the problem is occurring. If all these experiments fail, then I suggest the direct run-time debugging should be done on xtk01 since that implements simple, straightforward use of libplplttcltk. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |