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

Reply via email to