octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building on OSX without package managers


From: Ben Abbott
Subject: Re: Building on OSX without package managers
Date: Mon, 24 Jan 2011 22:03:51 -0500

On Jan 24, 2011, at 9:49 PM, Richard Campbell wrote:

> On Jan 24, 2011, at 8:05 PM, Ben Abbott wrote:
> 
>> On Jan 24, 2011, at 6:24 PM, Richard Campbell wrote:
>> 
>>> All,
>>> 
>>> My coworkers and I rely heavily on Octave.app from octave.sourceforge.net 
>>> and I am becoming concerned that it's not being actively maintained. I am 
>>> willing to take over the building of Octave.app from source but I'm having 
>>> trouble with it and I want to know what the state of the art is for 
>>> compiling Octave on OSX. 
>>> 
>>> I need a solution that doesn't require a third party package manager like 
>>> Fink or Macports at either compile or runtime. I don't mind installing 
>>> compile-time dependencies on one machine, but once I compile it I'd like to 
>>> be able to package it up and run it on other Macs (like the existing 
>>> Octave.app). Can Octave.app be built easily once Octave builds?
>>> 
>>> I've seen mention of a Readme.MacOS file on this board. Neither the current 
>>> stable or testing source distributions from 
>>> http://www.gnu.org/software/octave/download.html have this file included in 
>>> them although I found the one at 
>>> http://hg.savannah.gnu.org/hgweb/octave/file/e0e50f48df37/README.MacOS and 
>>> it still says "TODO - add instructions" under "Building without a package 
>>> manager".
>>> 
>>> I would very much like to be able to address variables larger than 2 GB on 
>>> my machine with >>2 GB of RAM, so at a bare minimum I'd like to be able to 
>>> compile Octave for myself with --enable-64.
>>> 
>>> Some nitpicks about what I've seen so far in trying to compile Octave from 
>>> source:
>>> - Why shouldn't the included versions of autoconf, automake, readline, sed 
>>> &c. be sufficient for compiling Octave?
>>> - I don't want Aquaterm to be the default, as X11 does just fine and is 
>>> installed by default on all new Macs, and Aquaterm at first glance hasn't 
>>> been maintained in about 5 years.
>>> - The recommended Fortran compiler, which I already use for other things, 
>>> gives the first 'configure' error when I try to build Octave from source. 
>>> It's a different error wither or not I try --enable-64, but they're both 
>>> about integer size.
>>> 
>>> R Campbell
>> 
>> 
>> Welcome to the list.
>> 
>> I've been working on the README.MacOS file, and would greatly appreciate 
>> help in completing the TODO's. I hope to update the current version soon. 
>> Unfortunately, the update will  not include instructions on how to build 
>> Octave *without* Fink or Macports.
>> 
>> In the past, Thomas Trieichl had volunteered his time and effort to provide 
>> binary releases for MacOS. I've cc'd him in the event he would like to 
>> comment.
>> 
>> It's a bit dated, but in 2007 Thomas provided some documentation for how he 
>> built the app for MacOS.
>> 
>>      
>> https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2007-May/006648.html
>> 
>> Today things will be more difficult as MacOS 10.6 runs both 32 and 64 bit 
>> apps. This requires some special attention to ensure that the proper 
>> libraries are linked to. As a result, Thomas' instructions will not likely 
>> be sufficient, but should provide a good starting point.
>> 
>> Michael Godfrey offered some additional information back in January.
>> 
>>      
>> https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2010-January/018352.html
>> 
>> In the last few days Jarno Rajahalme also added some advice for building for 
>> 64bit.
>> 
>>      
>> https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2011-January/022393.html
>> 
>> Regarding your questions,
>> 
>>> - Why shouldn't the included versions of autoconf, automake, readline, sed 
>>> &c. be sufficient for compiling Octave?
>> 
>> The simple answer, is that the versions of the tools bundled with 
>> MacOS/Xcode are dated and do not include the functionality needed to build 
>> Octave. However, I'm not sure about sed, as I don't know what version is 
>> needed. It is possible that a inspired volunteer could modify the build 
>> process so that the tools provided by Apple are sufficient, but as these 
>> tools are only needed to build Octave, and are readily available, I don't 
>> see sufficient motivation for this change.
>> 
>>> - I don't want Aquaterm to be the default, as X11 does just fine and is 
>>> installed by default on all new Macs, and Aquaterm at first glance hasn't 
>>> been maintained in about 5 years.
>> 
>> The default terminal used by Gnuplot is easily modified by setting the 
>> environment variable "GNUTERM". If you place the following in ~/.octaverc 
>> then x11 will be used instead of aqua.
>> 
>>      setenv ("GNUTERM", "x11")
>> 
>>> - The recommended Fortran compiler, which I already use for other things, 
>>> gives the first 'configure' error when I try to build Octave from source. 
>>> It's a different error wither or not I try --enable-64, but they're both 
>>> about integer size.
>> 
>> I assume you are not using Fink or Macports, but have installed Xcode. Since 
>> Xcode does not include a fortran compiler, one must be installed. You can 
>> install a fortran compiler, which is compatible with Apple's version of gcc 
>> (bundled with Xcode), from the link below.
>> 
>>      http://r.research.att.com/tools/
>> 
>> Ben
> 
> The Fortran compiler from r.research.att.com is the one I'm using. I'm 
> attempting to build octave-3.3.54 with it and I'm getting the following 
> errors in configure, with and without --enable-64 respectively:
> 
> configure: error: in order to build octave with 64-bit indexing support your 
> Fortran compiler must have an option for setting the default integer size to 
> 8 bytes.  See the file INSTALL for more information.
> configure: error: your Fortran compiler must have an option to make integers 
> the same size as octave_idx_type (int).  See the file INSTALL for more 
> information.
> 
> I've had some success with building universal binaries with configure scripts 
> on 64-bit Macs in the past, so I expect that I can eventually get it to work. 
> It's also possible that a 64-bit-only version might be necessary. Does the 
> --enable-64 function for indexing integer size require that the binary itself 
> be 64-bit, though?
> 
> I have been using the GNUTERM variable to revert to X11. I seem to recall 
> that it used to be the default, but was switched to Aquaterm years ago. In my 
> opinion X11 should be the default again, to avoid dependencies on third party 
> projects and projects which may be unmaintained.
> 
> I'll look through the other links and see if I can resolve the other 
> dependencies.

I haven't attempted a 64bit build. Hopefully someone with some experience will 
comment.

Regarding the default gnuplot terminal, using Aqua appears to be preferred by 
most Mac users.

The next version of Octave will include a native graphics backend. Meaning 
gnuplot will not be needed to display graphics.

Ben

p.s. pls respond below so that those arriving late may easily follow along.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]