[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Relocatable octave
From: |
Thomas Treichl |
Subject: |
Re: Relocatable octave |
Date: |
Fri, 01 Jun 2007 21:59:08 +0200 |
User-agent: |
Thunderbird 1.5.0.12 (Macintosh/20070509) |
John W. Eaton schrieb:
On 1-Jun-2007, Thomas Treichl wrote:
| There are some entries left - I don't know if they should also be replaced (if
| you please could have a look at them):
|
| MKOCTFILE_DL_LDFLAGS = -bundle -bundle_loader \
| /tmp/octave-2.9.12/bin/octave-2.9.12
See the attached patch. I think this change will handle the current
case, but it is not exactly a general solution for this kind of
problem. We don't want to blindly apply the OCTAVE_HOME substitution
everywhere, so we have to arrange to build these kinds of variables
from others that we know are "safe" for substitution. I could not
find a better solution to handle the quoting. Maybe someone else
knows a better way?
The patch works very well, John. Did I understand the right way that this
changes are permanently added to the octave sources?
| SONAME_FLAGS = \
| -install_name /tmp/octave-2.9.12/lib/octave-2.9.12/oct-conf.h
I think this is just used while building of Octave and doesn't appear
in any generated script, so it is probably not necessary to change it.
Ok.
| config_opts = 'CC=gcc' 'CPP=cpp' 'CXX=g++' 'F77=gfortran' \
| 'CFLAGS=-I/opt/local/include' 'CPPFLAGS=-I/opt/local/include' \
| 'LDFLAGS=-L/opt/local/lib' '--enable-shared' '--disable-static' \
| '--prefix=/tmp/octave-2.9.12'
This is a record of the options that were passed to configure, so it
should not be changed.
Ok.
| A test gave me
|
| octave:14> mkoctfile oregonator.cc
| /usr/bin/ld: can't open: /tmp/octave-2.9.12/bin/octave-2.9.12 \
| (No such file or directory, errno = 2)
| collect2: ld returned 1 exit status
| warning: mkoctfile exited with failure status
|
| So I needed to set up (at least)
|
| export DL_LDFLAGS "-bundle -bundle_loader \
| /Users/MyHome/octave.app/Contents/Resources/bin/octave-2.9.12"
|
| but I do think that this isn't the right path I'm taking even if it does work
| with this environment variable (LDFLAGS -> bin)?!
I don't know what the purpose of the -bundle_loader option is, or why
its argument is the Octave binary itself.
jwe
I had a look at the Mac developer docs but I don't know if I understood
everything the right way. Personally I don't like this compiler option
"-framework" at all because it is so Mac specific - but this actually doesn't
matter. I try to explain:
It seems that some additional information about -framework vecLib (= Mac BLAS
library framework, like you search it in the ./configure script of octave) is
stored in the mach-o executable (octave itself). So the gcc compiler extracts
this information and then knows which libraries from disk to use!? Somehow like
this.
Nevertheless, thanks for the fix
Thomas