From: Atri <bad...@ai...> - 2012-04-10 21:27:37
|
Hi! I have been trying to get the vanilla (i.e., without any patches) svn/trunk version of plplot (rev 12185) to build on openSUSE Factory (which will become the next openSUSE release later). For the most part the build system works great. Unfortunately there is one issue with the svn version that is not present with the 5.9.9 release. It is that the cmake build system fails to detect the presence of the gnat library in my (openSUSE) system and turns off the ada bindings automatically. ============================================== -- Build files have been written to: /home/abuild/rpmbuild/BUILD/plplot/builddir/language_tests/Ada -- Check for working Ada builder: /usr/bin/gnatmake -- Check for working Ada builder: /usr/bin/gnatmake -- works -- gnat version = -- WARNING: gnat library not found. Disabling ada bindings ============================================== With plplot 5.9.9 and a small patch [2], this used to work perfectly fine on all versions of openSUSE, i.e., the build system would detect the presence of gnat 4.6 just fine. Please note that gnat is provided in openSUSE by the package named libada46 which is pulled in automatically when one installs gcc-ada (gcc46-ada), i.e., gnat is installed in an openSUSE system as a dependency of gcc-ada. For now, I have simply turned off the ada bindings for plplot trunk on openSUSE. However, I would be grateful if someone could point me to a real fix for the issue, so that I can get the ada bindings back on again. Thanks a lot and bye. -- Atri [2] Patch is here: http://bit.ly/HzIcS8 |
From: Andrew R. <and...@us...> - 2012-04-11 08:57:01
|
On Wed, Apr 11, 2012 at 02:57:23AM +0530, Atri wrote: > Hi! > I have been trying to get the vanilla (i.e., without any patches) > svn/trunk version of plplot (rev 12185) to build on openSUSE Factory > (which will become the next openSUSE release later). For the most part > the build system works great. > > Unfortunately there is one issue with the svn version that is not > present with the 5.9.9 release. It is that the cmake build system fails > to detect the presence of the gnat library in my (openSUSE) system and > turns off the ada bindings automatically. > ============================================== > -- Build files have been written > to: /home/abuild/rpmbuild/BUILD/plplot/builddir/language_tests/Ada > -- Check for working Ada builder: /usr/bin/gnatmake > -- Check for working Ada builder: /usr/bin/gnatmake -- works > -- gnat version = > -- WARNING: gnat library not found. Disabling ada bindings > ============================================== > > With plplot 5.9.9 and a small patch [2], this used to work perfectly > fine on all versions of openSUSE, i.e., the build system would detect > the presence of gnat 4.6 just fine. Please note that gnat is provided in > openSUSE by the package named libada46 which is pulled in automatically > when one installs gcc-ada (gcc46-ada), i.e., gnat is installed in an > openSUSE system as a dependency of gcc-ada. > > For now, I have simply turned off the ada bindings for plplot trunk on > openSUSE. However, I would be grateful if someone could point me to a > real fix for the issue, so that I can get the ada bindings back on > again. > Dear Atri, Thanks for this. In svn there is an alternative fix to your patch which checks for the version of gnat detected then looks for the gnat-${VERSION} library. This avoids potential mismatches between gnat compiler and library. Obviously this isn't working on your system as the gnat version is given as blank above. Could you 1) Give me the output of gnatgcc --version. 2) Check what the gnat library is actually called. Should be something like libgnat or libgnat-4.6 3) Try modifying cmake/modules/ada to output what CMAKE_Ada_Compiler is actually set to (should be gnatgcc?) Thanks Andrew |
From: Atri <bad...@ai...> - 2012-04-11 10:56:04
|
On Wed, 2012-04-11 at 09:56 +0100, Andrew Ross wrote: > On Wed, Apr 11, 2012 at 02:57:23AM +0530, Atri wrote: > > > > Unfortunately there is one issue with the svn version that is not > > present with the 5.9.9 release. It is that the cmake build system fails > > to detect the presence of the gnat library in my (openSUSE) system and > > turns off the ada bindings automatically. > > ============================================== > > -- Build files have been written > > to: /home/abuild/rpmbuild/BUILD/plplot/builddir/language_tests/Ada > > -- Check for working Ada builder: /usr/bin/gnatmake > > -- Check for working Ada builder: /usr/bin/gnatmake -- works > > -- gnat version = > > -- WARNING: gnat library not found. Disabling ada bindings > > ============================================== > > > > With plplot 5.9.9 and a small patch [2], this used to work perfectly > > fine on all versions of openSUSE, i.e., the build system would detect > > the presence of gnat 4.6 just fine. Please note that gnat is provided in > > openSUSE by the package named libada46 which is pulled in automatically > > when one installs gcc-ada (gcc46-ada), i.e., gnat is installed in an > > openSUSE system as a dependency of gcc-ada. > > > > For now, I have simply turned off the ada bindings for plplot trunk on > > openSUSE. However, I would be grateful if someone could point me to a > > real fix for the issue, so that I can get the ada bindings back on > > again. > > > > Dear Atri, > > Thanks for this. In svn there is an alternative fix to your patch > which checks for the version of gnat detected then looks for > the gnat-${VERSION} library. This avoids potential mismatches between > gnat compiler and library. Obviously this isn't working on your > system as the gnat version is given as blank above. Could you > > 1) Give me the output of gnatgcc --version. All Ada/GNAT compilation in openSUSE is done, as far as I know, by invoking "gcc -c filename.adb" or "gnatmake". I could find no command called gnatgcc here. The version shown by the command "gnat" is:- GNAT 4.6.3 The gcc version is also the same: gcc version 4.6.3 > 2) Check what the gnat library is actually called. Should be > something like libgnat or libgnat-4.6 Then gnat library is indeed called libgnat-4.6 (file /usr/lib64/libgnat-4.6 on my system). > 3) Try modifying cmake/modules/ada to output what CMAKE_Ada_Compiler > is actually set to (should be gnatgcc?) > I had cmake print the output as you asked [1], and here is what it gives: CMAKE_Ada_COMPILER = /usr/bin/gcc This might therefore be the source of the problem, namely, that the next line in the ada.cmake file string(REGEX MATCH "gnatgcc [(][^)]*[)] ([0-9]*[.][0-9]*)[.][0-9]" ADA_OUTPUT_TRIM ${ADA_OUTPUT}) tries to do a regex matching with the string "gnatgcc *" which clearly fails on openSUSE due to the compiler being simply gcc instead of gnatgcc. > Thanks > > Andrew Hope that helps. Bye. -- Atri [1] I patched the ada.cmake file with the addition of the following line to print the ada compiler being used: message(STATUS "CMAKE_Ada_COMPILER = ${CMAKE_Ada_COMPILER}") |
From: Atri <bad...@ai...> - 2012-04-11 11:02:34
|
On Wed, 2012-04-11 at 16:25 +0530, Atri wrote: > Then gnat library is indeed called libgnat-4.6 > (file /usr/lib64/libgnat-4.6 on my system). > Sorry, I meant the file "/usr/lib64/libgnat-4.6.so" (and not /usr/lib64/libgnat-4.6) on my system provides the libgnat-4.6 library of course. -- Atri |
From: Andrew R. <and...@us...> - 2012-04-11 11:26:30
|
On Wed, Apr 11, 2012 at 04:25:32PM +0530, Atri wrote: > On Wed, 2012-04-11 at 09:56 +0100, Andrew Ross wrote: > > On Wed, Apr 11, 2012 at 02:57:23AM +0530, Atri wrote: > > > > > Thanks for this. In svn there is an alternative fix to your patch > > which checks for the version of gnat detected then looks for > > the gnat-${VERSION} library. This avoids potential mismatches between > > gnat compiler and library. Obviously this isn't working on your > > system as the gnat version is given as blank above. Could you > > > > 1) Give me the output of gnatgcc --version. > > All Ada/GNAT compilation in openSUSE is done, as far as I know, by > invoking "gcc -c filename.adb" or "gnatmake". I could find no command > called gnatgcc here. The version shown by the command "gnat" is:- > GNAT 4.6.3 > > The gcc version is also the same: > gcc version 4.6.3 > > > 2) Check what the gnat library is actually called. Should be > > something like libgnat or libgnat-4.6 > > Then gnat library is indeed called libgnat-4.6 > (file /usr/lib64/libgnat-4.6 on my system). > > > 3) Try modifying cmake/modules/ada to output what CMAKE_Ada_Compiler > > is actually set to (should be gnatgcc?) > > > > I had cmake print the output as you asked [1], and here is what it > gives: > CMAKE_Ada_COMPILER = /usr/bin/gcc > > This might therefore be the source of the problem, namely, that the next > line in the ada.cmake file > > string(REGEX MATCH "gnatgcc [(][^)]*[)] ([0-9]*[.][0-9]*)[.][0-9]" > ADA_OUTPUT_TRIM ${ADA_OUTPUT}) > > tries to do a regex matching with the string "gnatgcc *" which clearly > fails on openSUSE due to the compiler being simply gcc instead of > gnatgcc. You are right. This is indeed the issue. I've changed the string in the REGEX from gnatgcc to gcc, which should work in both cases, and committed this to svn. Could you try this minor change and check it fixes your problem? Thanks Andrew |
From: Atri <bad...@ai...> - 2012-04-11 14:52:13
|
On Wed, 2012-04-11 at 12:26 +0100, Andrew Ross wrote: > You are right. This is indeed the issue. I've changed the string in > the REGEX from gnatgcc to gcc, which should work in both cases, and > committed this to svn. Could you try this minor change and check it > fixes your problem? > > Thanks > > Andrew Thanks Andrew. I just tried svn rev 12189, and it does fix the issue on openSUSE and gets the ada bindings building again. Thanks to all of your fixes, the svn version of plplot now builds on openSUSE perfectly without any external patches being required. Hats off to you! Bye -- Atri |
From: Andrew R. <and...@us...> - 2012-04-11 19:26:57
|
On Wed, Apr 11, 2012 at 08:21:46PM +0530, Atri wrote: > On Wed, 2012-04-11 at 12:26 +0100, Andrew Ross wrote: > > > You are right. This is indeed the issue. I've changed the string in > > the REGEX from gnatgcc to gcc, which should work in both cases, and > > committed this to svn. Could you try this minor change and check it > > fixes your problem? > > > > Thanks > > > > Andrew > > Thanks Andrew. I just tried svn rev 12189, and it does fix the issue on > openSUSE and gets the ada bindings building again. Thanks to all of your > fixes, the svn version of plplot now builds on openSUSE perfectly > without any external patches being required. Hats off to you! No problem. Glad it's working. Our main Linux developers mostly use Debian (or derivatives) and RH (and derivatives) so testers on other distros are most useful. Andrew |
From: Alan W. I. <ir...@be...> - 2012-04-11 19:50:01
|
On 2012-04-11 20:26+0100 Andrew Ross wrote: > On Wed, Apr 11, 2012 at 08:21:46PM +0530, Atri wrote: >> On Wed, 2012-04-11 at 12:26 +0100, Andrew Ross wrote: >> >>> You are right. This is indeed the issue. I've changed the string in >>> the REGEX from gnatgcc to gcc, which should work in both cases, and >>> committed this to svn. Could you try this minor change and check it >>> fixes your problem? >>> >>> Thanks >>> >>> Andrew >> >> Thanks Andrew. I just tried svn rev 12189, and it does fix the issue on >> openSUSE and gets the ada bindings building again. Thanks to all of your >> fixes, the svn version of plplot now builds on openSUSE perfectly >> without any external patches being required. Hats off to you! > > No problem. Glad it's working. Our main Linux developers mostly use Debian > (or derivatives) and RH (and derivatives) so testers on other distros are > most useful. > > Andrew Hmm. I just responded to a much earlier mail in this thread without realizing there was a lot more in the thread that solved all issues. Sorry for that noise and many thanks to the two of you for dealing with these 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); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); 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 __________________________ |
From: Alan W. I. <ir...@be...> - 2012-04-11 19:40:55
|
On 2012-04-11 02:57+0530 Atri wrote: > Hi! > I have been trying to get the vanilla (i.e., without any patches) > svn/trunk version of plplot (rev 12185) to build on openSUSE Factory > (which will become the next openSUSE release later). For the most part > the build system works great. > > Unfortunately there is one issue with the svn version that is not > present with the 5.9.9 release. It is that the cmake build system fails > to detect the presence of the gnat library in my (openSUSE) system and > turns off the ada bindings automatically. > ============================================== > -- Build files have been written > to: /home/abuild/rpmbuild/BUILD/plplot/builddir/language_tests/Ada > -- Check for working Ada builder: /usr/bin/gnatmake > -- Check for working Ada builder: /usr/bin/gnatmake -- works > -- gnat version = > -- WARNING: gnat library not found. Disabling ada bindings > ============================================== > > With plplot 5.9.9 and a small patch [2], this used to work perfectly > fine on all versions of openSUSE, i.e., the build system would detect > the presence of gnat 4.6 just fine. Please note that gnat is provided in > openSUSE by the package named libada46 which is pulled in automatically > when one installs gcc-ada (gcc46-ada), i.e., gnat is installed in an > openSUSE system as a dependency of gcc-ada. Hi Atri: Thanks for your report. I think the fix here should be straightforward. Basically, all you have to do is make sure you have installed the appropriate library that is needed in lib*.so form, and then give CMake enough hints so that it can find that library. To proceed further I need some additional information. Does the patch you mentioned solve the issue? (You said the patch works for 5.9.9, but it appears you only tested vanilla plplot svn trunk version without the patch.) What is the exact filename (including the full path) of the library that is packaged by the libada46 package? Note, that CMake will look for development libraries with filenames in the form lib*.so. If libada46 does not include such a name form or set up a symlink with such a name form, then perhaps you should be installing the development version of the libada46 package? 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); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); 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 __________________________ |