help-octave
[Top][All Lists]
Advanced

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

Re: Problem installing packages


From: Alexander Hansen
Subject: Re: Problem installing packages
Date: Mon, 21 May 2012 17:54:14 -0700
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:12.0) Gecko/20120428 Thunderbird/12.0.1

On 5/21/12 4:28 PM, notMyUsername wrote:
>> Strictly speaking, AFAIR, putting hard-coded '-march=native' is a bug -
> because it applies only to x86 and >x86_64 architectures. 
>>
>> Another issue is that llvm-g++-4.2doesn't understand it even though you are
> apparently using an x86 or >x86_64 machine. 
> 
> Yes. core i7 quad.
> 
> I don't know enough about how Homebrew works (or how Octave keeps track of
> what flags it uses to build packages) but on the Lion machine (core i7):
> 
> $ brew --env
> CC: /usr/bin/clang
> CXX: /usr/bin/clang++ => /usr/bin/clang
> LD: /usr/bin/clang
> CFLAGS: -Os -w -pipe -march=native -Qunused-arguments
> CXXFLAGS: -Os -w -pipe -march=native -Qunused-arguments
> MAKEFLAGS: -j8
> 
> So it looks kind-of like a catch 22 the way ut currently is - if I set CXX
> to g++ it will compile the package but won't accept the flags, but if I
> leave it alone the flags are OK but it generates errors on the package code.
> 
> So since none of these variables are set outside of Homebrew  I presume that
> what I need to do is get Homebrew to use different CXX and CSSFLAGS when it
> builds Octave in the first place?  Is that where Octave is getting those
> from?  

Yes.  Octave encodes the compilers and flags that you use to build it.

Or is there somewhere in Octave (after it's built) that I can get at
> those and set then appropriately? 
> 

Yes, at least to a certain degree.

You can edit mkoctfile-3.6.1  and change the  settings in that.
You can also edit oct-conf.h and do the same thing

I think most Octave Forge packages use the settings from mkoctfile, and
some may pick up oct-conf.h (I may be wrong about that).

However, if packages run Octave's "octave_config_info" option to get
information, that's encoded within Octave, and can't be modified easily
other than rebuilding it.  I'd thought I'd encountered at least one
package that did this, but maybe not.


> Thanks!
> 

In this case, the issue is specific to the miscellaneous package.  Most
of the other Octave Forge packages will work with clang, with the
exceptions of:

tsa, which wants omp.h, and that's not in the clang distribution
nan, which wants libgomp, which is also not in the clang distribution

-- 
Alexander Hansen, Ph.D.
Fink User Liaison
http://finkakh.wordpress.com/2012/02/21/got-job/


reply via email to

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