On 2009-06-27 22:11-0500 Geoffrey Furnish wrote: > There seem to be some problems with autodetection. > > Using trunk tip (rev 10082), if I run cmake setting only a destination build > prefix, but leaving it to find things in all the system places (in other > words, my destination build prefix is empty in this case), I find: > > xiphi:t5/plplot/tmp | master cmake > -DCMAKE_INSTALL_PREFIX=$HOME/plplot/build/t5a .. |& tee cmake.out > ... > -- FOUND gnat library /usr/lib64/libgnat-4.4.so > -- Check for working Ada builder: GNAT_EXECUTABLE_BUILDER-NOTFOUND > -- Check for working Ada builder: GNAT_EXECUTABLE_BUILDER-NOTFOUND -- broken > CMake Error at cmake/modules/CMakeTestAdaCompiler.cmake:48 (MESSAGE): > The Ada builder "GNAT_EXECUTABLE_BUILDER-NOTFOUND" is not able to compile, > bind, and link a simple test program. > > It fails with the following output: > > Change Dir: /home/furnish/plplot/t5/plplot/tmp/CMakeFiles/CMakeTmp > ... > /home/furnish/plplot/t5/plplot/tmp/CMakeFiles/CMakeTmp/testadacompiler.adb > -o CMakeFiles/testadacompiler.dir/testadacompiler.o > > gcc: error trying to exec 'gnat1': execvp: No such file or directory > > gmake[2]: *** [CMakeFiles/testadacompiler.dir/testadacompiler.o] Error 1 > > gmake[2]: Leaving directory > `/home/furnish/plplot/t5/plplot/tmp/CMakeFiles/CMakeTmp' > > gmake[1]: *** [CMakeFiles/testadacompiler.dir/all] Error 2 > > gmake[1]: Leaving directory > `/home/furnish/plplot/t5/plplot/tmp/CMakeFiles/CMakeTmp' > > gmake: *** [all] Error 2 > > > > > > CMake will not be able to correctly generate this project. > Call Stack (most recent call first): > cmake/modules/ada.cmake:40 (enable_language) > cmake/modules/plplot.cmake:390 (include) > CMakeLists.txt:77 (include) > > > -- Configuring incomplete, errors occurred! > > So, somehow things went so wrong on F11 that it can't even just disable ada > and go on to looking at other stuff.
The CMake command you are looking for is enable_language. softw...@raven> grep -i enable_language cmake/modules/*.cmake cmake/modules/ada.cmake: enable_language(Ada) cmake/modules/d.cmake: enable_language(D) cmake/modules/fortran.cmake: enable_language(Fortran) cmake/modules/java.cmake: enable_language(Java) If you look in the cmake documentation, there is an OPTIONAL signature for that command to return a status so that our build system can recover if the compiler in question is not working/not available. But obviously from the above enable_language commands we have not used that signature so a non-working compiler becomes a fatal error. Obviously, this should be fixed. It should take someone experienced with our build system less than 10 minutes to change all the above commands to the OPTIONAL signature form, and turn off the bindings as appropriate, but it is not an overwhelmingly urgent matter since it is just a matter of convenience. Thus, I would like to leave this task to someone else who is less experienced with our build system but would like to learn more about it by taking on an easy task. If someone wants to volunteer for this, please indicate that here so there won't be duplication of effort. BTW, Geoffrey, if you want to take on this task wait to do the following so you can test that the build system logic works properly for your currently broken Ada compiler. But if you want to fix that compiler, then there is probably an Ada development package you forgot to to install for F11. > > If I start over, and shut off ada, I obtain: > > xiphi:t5/plplot/tmp | master cmake -DENABLE_ada=off > -DCMAKE_INSTALL_PREFIX=$HOME/plplot/build/t5a .. |& tee cmake.out > ... > -- QT_LIBRARIES = > /usr/lib64/libQtSvg.so;/usr/lib64/libQtGui.so;/usr/lib64/libpng.so;/usr/lib64/libSM.so;/usr/lib64/libICE.so;/usr/lib64/libXi.so;/usr/lib64/libXrender.so;/usr/lib64/libXrandr.so;/usr/lib64/libXcursor.so;/usr/lib64/libXinerama.so;/usr/lib64/libXfixes.so;/usr/lib64/libfreetype.so;/usr/lib64/libfontconfig.so;/usr/lib64/libXext.so;/usr/lib64/libX11.so;/usr/lib64/libm.so;/usr/lib64/libQtXml.so;/usr/lib64/libQtCore.so;/usr/lib64/libz.so;/usr/lib64/libgthread-2.0.so;/usr/lib64/libglib-2.0.so;/usr/lib64/librt.so;-lpthread;-ldl > CMake Warning (dev) at cmake/modules/drivers.cmake:90 (include): > A logical block opening on the line > > /home/furnish/plplot/t5/plplot/cmake/modules/qt.cmake:172 (if) > > closes on the line > > /home/furnish/plplot/t5/plplot/cmake/modules/qt.cmake:177 (endif) > > with mis-matching arguments. > Call Stack (most recent call first): > cmake/modules/plplot.cmake:419 (include) > CMakeLists.txt:77 (include) > This warning is for project developers. Use -Wno-dev to suppress it. > ... > ENABLE_qt: ON ENABLE_pyqt4: ON > > -- Configuring done > -- Generating done > -- Build files have been written to: /home/furnish/plplot/t5/plplot/tmp > > which looks a little worrisome, but at least it got through cmake without > catastrophe. I have now gotten rid of this warning (revision 10083) which I believe should be non-consequential. > But now when I build, I get: > > xiphi:t5/plplot/tmp | master make > ... > [ 12%] Building CXX object src/CMakeFiles/plplotd.dir/__/drivers/qt.cpp.o > [ 12%] Building CXX object > src/CMakeFiles/plplotd.dir/__/bindings/qt_gui/plqt.cpp.o > /home/furnish/plplot/t5/plplot/bindings/qt_gui/plqt.cpp:34:16: error: qt.h: > No such file or directory > /home/furnish/plplot/t5/plplot/bindings/qt_gui/plqt.cpp:38: error: > ?MasterHandler? does not name a type > /home/furnish/plplot/t5/plplot/bindings/qt_gui/plqt.cpp:41: error: ?QMutex? > does not name a type > /home/furnish/plplot/t5/plplot/bindings/qt_gui/plqt.cpp:43: error: > ?QtPLDriver? has not been declared > /home/furnish/plplot/t5/plplot/bindings/qt_gui/plqt.cpp:43: error: expected > constructor, destructor, or type conversion before ?(? token > [dozens more lines, then] > /home/furnish/plplot/t5/plplot/bindings/qt_gui/plqt.cpp:131: error: ?p? was > not declared in this scope > /home/furnish/plplot/t5/plplot/bindings/qt_gui/plqt.cpp:131: error: expected > primary-expression before ?const? > make[2]: *** [src/CMakeFiles/plplotd.dir/__/bindings/qt_gui/plqt.cpp.o] Error > 1 > make[1]: *** [src/CMakeFiles/plplotd.dir/all] Error 2 > make: *** [all] Error 2 I have been recently working on this area, and some parts of it have not yet been tested by me so all the help you can give me with testing some of the logic combinations is much appreciated. When you do report problems could you _always_ give make VERBOSE=1 results? Otherwise, I have to guess what is going on. I could not replicate your bug with default settings (shared libraries, dynamic devices, and ENABLE_qt ON which has been working well for me), but then I guessed a lot more, and finally came up with a similar error when ENABLE_qt was forced OFF. (You could have also gotten that error by default if ENABLE_qt was OFF for some other reason.) I have now fixed that case (revision 10088). Note, that the overall qt build system logic is controlled by various PLD_*qt variables. If all of those are turned off for some reason (say if you are missing some Qt build essential), then nothing related to qt will work so ENABLE_qt (which controls only whether libplplotqt(d) is built) is turned OFF automatically in this case. Furthermore, if the user forces ENABLE_qt OFF or it is turned OFF automatically, then ENABLE_pyqt4 (which controls whether the plplot_pyqt4 python extension module is built) will be turned OFF automatically. The ENABLE_pyqt4 logic was screwed up, but is now fixed in the latest revision. Could you please try again to see if all your recent qt problems are now fixed? 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 __________________________ ------------------------------------------------------------------------------ _______________________________________________ Plplot-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/plplot-devel
