[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mac build script
From: |
Ben Abbott |
Subject: |
Re: Mac build script |
Date: |
Fri, 30 Jan 2015 15:10:35 -0500 |
> On Jan 30, 2015, at 2:53 PM, Ian Esten <address@hidden> wrote:
>
> On Fri, Jan 30, 2015 at 10:12 AM, Ben Abbott <address@hidden> wrote:
>>> On Jan 30, 2015, at 10:02 AM, Ian Esten <address@hidden> wrote:
>>>
>>> Hi all,
>>>
>>> I have a build script nearing completion that builds octave and its
>>> dependencies. It will be easy to add a packaging stage, too.
>>>
>>> The script builds everything and then creates a self contained app
>>> bundle. I have all the library relocation(*) working correctly. The
>>> remaining problem I am facing is that octave seems to be loading oct
>>> files (and maybe other dynamically loaded code) relative to $prefix as
>>> passed to configure. The comand line application loads fine, but the
>>> gui app does not. It tries to dynamically load something that is
>>> installed under $prefix, which fails because the dynamic code that is
>>> installed there has not been relocated(*). The dynamic code in
>>> question is something to do with fltk.
>>>
>>> So, my question is: is there a way to override octave looking for
>>> dynamic libraries under $prefix?
>>>
>>> Thanks,
>>> Ian
>>>
>>> * - when I say relocated, I am refering to using install_name_tool to
>>> make the linker point to the appropriate library in the app bundle.
>>
>> In the past, I had made a similar effort. I documented much of what I did
>> hoping it would be useful for others. If I've properly recognized the
>> problem you've encountered, the link below should be helpful.
>>
>>
>> http://wiki.octave.org/Create_a_MacOS_X_App_Bundle_Using_MacPorts#Fixing_.22dyld:_Library_not_loaded.22_Errors
>>
>> Ben
>>
> Hi Ben,
>
> Thanks for the reply. My build script does the same as your m files.
>
> Having another quick look, the problem is not with anything FLTK
> related. What is happening is that octave-3.8.2 is loading the
> octave-cli-3.8.2 binary in the installed location. I've taken a brief
> look at some of the octave code, and see that the install prefix gets
> used a lot as a hard coded path. I also see that some uses of the hard
> coded path look like they can be overridden with command line
> arguments. I don't know yet if that will be enough to solve the
> problems I describe.
>
> Ian
Hi Ian,
Please reply at the bottom to allow those who arrive late to read from top to
bottom.
I have other shell scripts to launch Octave from a bundle. The second link
below sets up the shell environment.
http://wiki.octave.org/Launch_octave
http://wiki.octave.org/MacOS_X_App_Octave_Shell_Script
This approach to setting up the environment for a relocatable bundle is clumsy,
but it looks preferable to other alternatives I've considered.
Ben