Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Oct 2013 20:43:29 +0900
From:      Mamoru Iwaki <1wkmmr@gmail.com>
To:        Max Brazhnikov <makc@freebsd.org>, freebsd-ports@freebsd.org
Cc:        ports@freebsd.org, Don Lewis <truckman@freebsd.org>, iwaki@eng.niigata-u.ac.jp
Subject:   Re: [math/scilab] configuration failure by error in version check of hdf5
Message-ID:  <526907E1.6010207@gmail.com>
In-Reply-To: <4269055.QsbE8oRuxU@mercury.ph.man.ac.uk>
References:  <201310222319.r9MNJtYs078148@gw.catspoiler.org> <4269055.QsbE8oRuxU@mercury.ph.man.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------070104080201020509010600
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

(2013/10/23 22:10), Max Brazhnikov wrote:
> On Tue, 22 Oct 2013 16:19:55 -0700 Don Lewis wrote:
>> On  9 Oct, Mamoru Iwaki wrote:
>>> Hi,
>>>
>>> Re: math/scilab (Revision 327746)
>>>
>>> I have failed to configure this port in compilation stage these days.
>>> It is caused by an error in version check code for hdf5.  Because the
>>> code writen in Java uses String.compareTo() for numeric comparision,
>>> "1.8.10" is not recognized as a newer one than "1.8.4".
>>> Could somebody correct this easy bug?
>>
>> Scilab 5.4.1 is out now, so the port should probably be updated.  This
>> version of scilab removed the version check for hdf5.
>>
>> This is the patch that I'm using with the current port.  Just drop it in
>> the files directory, run "make clean", and then rebuild.
>>
>> --- configure.orig	2013-10-09 00:04:19.000000000 -0700
>> +++ configure	2013-10-09 10:41:39.000000000 -0700
>> @@ -12226,14 +12226,15 @@
>>
>>   public class conftest {
>>       public static void main(String[] argv) {
>> -        String minVersion="1.8.4";
>> +        int minVersion=10804;
>>                               int[] vers = new int[3];
>>                   try { H5.H5get_libversion(vers); }
>>                   catch (Throwable ex) {System.exit(-1);}
>>                   String ver = vers[0] + "."+ vers[1] +"."+vers[2];
>> +                int Version = 10000*vers[0] + 100*vers[1] + vers[2];
>>
>>                               System.out.println(ver);
>> -                                  if (minVersion.compareTo(ver) > 0) {
>> +                                  if (minVersion > Version) {
>>                                      System.exit(-1);
>>                                   }
>
> I've committed this patch, thanks!
>
> Max
>

Thanks, but the committed patch looks different from Don's original 
patch.  Unfortunately, the committed patch still causes version check 
error in configuration stage, and the patch does not work as expected. 
We can find two very similar conftest codes around there.  The original 
patch fixed the bug around line 12226 as above, howver the comitted one 
did around line 12281.  I think the conftest around line 12226 (or both 
conftests around lines 12226 and ass81) should be corrected.  The 
attached patch could be a candidate to correct both conftests.

Cheers
-- 
-----
Mamoru Iwaki
Japan

--------------070104080201020509010600
Content-Type: text/plain; charset=Shift_JIS;
 name="patch-configure"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="patch-configure"

--- ./configure.orig	2011-07-20 08:15:42.000000000 +0000
+++ ./configure	2013-10-23 11:59:48.722499060 +0000
@@ -12226,14 +12226,15 @@
 
 public class conftest {
     public static void main(String[] argv) {
-        String minVersion="1.8.4";
+        int minVersion=10804;
                             int[] vers = new int[3];
                 try { H5.H5get_libversion(vers); }
                 catch (Throwable ex) {System.exit(-1);}
                 String ver = vers[0] + "."+ vers[1] +"."+vers[2];
+                int Version = 10000*vers[0] + 100*vers[1] + vers[2];
 
                             System.out.println(ver);
-                                  if (minVersion.compareTo(ver) > 0) {
+                                  if (minVersion > Version) {
                                    System.exit(-1);
                                 }
 
@@ -12281,14 +12281,15 @@
 
 public class conftest {
     public static void main(String[] argv) {
-        String minVersion="1.8.4";
+        int minVersion=10804;
                             int[] vers = new int[3];
                 try { H5.H5get_libversion(vers); }
                 catch (Throwable ex) {System.exit(-1);}
                 String ver = vers[0] + "."+ vers[1] +"."+vers[2];
+                int Version = 10000*vers[0] + 100*vers[1] + vers[2];
 
                             System.out.println(ver);
-                                  if (minVersion.compareTo(ver) != 0) {
+                                  if (minVersion > Version) {
                                    System.exit(-1);
                                 }
 

--------------070104080201020509010600--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?526907E1.6010207>