[math/scilab] configuration failure by error in version check of hdf5
Mamoru Iwaki
1wkmmr at gmail.com
Thu Oct 24 11:43:35 UTC 2013
(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
-------------- next part --------------
--- ./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);
}
More information about the freebsd-ports
mailing list