octave-maintainers
[Top][All Lists]
Advanced

[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


reply via email to

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