[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Can't compile Octave source on Snow Leopard
From: |
Carlo de Falco |
Subject: |
Re: Can't compile Octave source on Snow Leopard |
Date: |
Mon, 1 Nov 2010 22:09:42 +0100 |
On 1 Nov 2010, at 08:24, c. wrote:
>
> On 1 Nov 2010, at 08:20, Jarno Rajahalme wrote:
>
>> 64-bit linking with the system vecLib does not work, due to a bug in Apple
>> 64-bit version of the vecLib. I've reported this to Apple earlier this year.
>> For 64-bit you have to use a separate BLAS/LAPACK library.
>>
>> Regards,
>>
>> Jarno
>
> Thanks.
> I am currently trying to build with goto blas, I will report back if I get
> any success.
> c.
Hi,
I managed to finish a build with large arrays enabled and I am reporting the
results to the list as promised.
Support for matrices larger than in the 32bit version seems to work:
>> version
ans = 3.2.3
>> a = ones (2^28, 1);
error: memory exhausted or requested size too large for range of Octave's index
type -- trying to return to prompt
>> version
ans = 3.3.53+
>> a = ones (2^30, 1);
>>
to complete the build I had to
1) patch gnulib as suggested by Jarno in a post to the gnulib_bug mailing list
(see attached gnulib_patch.txt)
2) apply the patch in the attached file octave_patch.txt to the octave sources.
I believe the changes to /liboctave/boolSparse.cc should be pushed in the
repository, but I'm not really sure about
those in /src/bitfcns.cc and /src/defun.cc .
as for the speed, although I didn't perform thorough testing,
the 64bit 3.3.53+ version linked to goto-blas seems to perform similarly to
3.2.3 linked to vecLib:
>> tic, full (diag (4*ones (3e3, 1))-diag (ones (3e3-1, 1), -1)-diag (ones
>> (3e3-1, 1), +1)) \ ones (3e3, 1); toc
Elapsed time is 2.15212 seconds.
>> version
ans = 3.2.3
>>
>> tic, full (diag (4*ones (3e3, 1))-diag (ones (3e3-1, 1), -1)-diag (ones
>> (3e3-1, 1), +1)) \ ones (3e3, 1); toc
Elapsed time is 2.115 seconds.
>> version
ans = 3.3.53+
>>
but there are still some problems left to solve:
>> rand(1)
Generator number out of range in SETCGN: Legal range is 1 to
32 -- ABORT!
error: Generator number out of range in SETCGN
terminate called after throwing an instance of 'octave_execution_exception'
panic: Abort trap -- stopping myself...
so I'm going to reinstall fink and switch back to 32bit, using the
configuration script provided by Ben for the time being.
Thanks to all for your help,
Carlo
octave_patch.txt
Description: Text document
gnulib_patch.txt
Description: Text document