Octave 4.4. on MacOS 10.12.6 with GUI anyone?

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

Octave 4.4. on MacOS 10.12.6 with GUI anyone?

TomTr

I'm having no luck getting 4.4 installed with GUI through Homebrew.

The packaged 4.0.3 works to a degree, but I am struggling to install Signal
toolbox with:
pkg install -forge signal

Getting:
error: the following dependencies were unsatisfied:
   signal needs control >= 2.4.0

I'm also getting a lot of clang errors when trying to run:
pkg install -forge signal

Any tips, hints, tricks?

Thanks!



--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

Sebastian Schöps
TomTr wrote
> I'm having no luck getting 4.4 installed with GUI through Homebrew.
>
> [...]
>
> Any tips, hints, tricks?

There will be a macOS disk image from Andrew any time soon, however, you may
also have a look to https://www.schoeps.org/home/tag/octave/.

Best,
Sebastian



--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

AndrewJanke
Sebastian Schöps wrote
> There will be a macOS disk image from Andrew any time soon, however, you
> may
> also have a look to https://www.schoeps.org/home/tag/octave/.

A beta version of the macOS DMG is out:
https://github.com/octave-app/octave-app/releases/download/untagged-4e9d0ab25492be932368/Octave-4.4.0-beta2.dmg

Give that a try and let me know if you have any issues.

Cheers,
Andrew



--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

bpabbott
Administrator
> On Jun 26, 2018, at 9:15 PM, AndrewJanke <[hidden email]> wrote:
>
> Sebastian Schöps wrote
>> There will be a macOS disk image from Andrew any time soon, however, you
>> may
>> also have a look to https://www.schoeps.org/home/tag/octave/.
>
> A beta version of the macOS DMG is out:
> https://github.com/octave-app/octave-app/releases/download/untagged-4e9d0ab25492be932368/Octave-4.4.0-beta2.dmg
>
> Give that a try and let me know if you have any issues.
>
> Cheers,
> Andrew

Hi Andrew,

Have you looked into modifying the app to make it relocatable? i.e. able to run from anywhere?

Ben

Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

AndrewJanke


On 6/27/18 10:29 AM, Ben Abbott wrote:

>> On Jun 26, 2018, at 9:15 PM, AndrewJanke <[hidden email]> wrote:
>>
>> Sebastian Schöps wrote
>>> There will be a macOS disk image from Andrew any time soon, however, you
>>> may
>>> also have a look to https://www.schoeps.org/home/tag/octave/.
>> A beta version of the macOS DMG is out:
>> https://github.com/octave-app/octave-app/releases/download/untagged-4e9d0ab25492be932368/Octave-4.4.0-beta2.dmg
>>
>> Give that a try and let me know if you have any issues.
>>
>> Cheers,
>> Andrew
> Hi Andrew,
>
> Have you looked into modifying the app to make it relocatable? i.e. able to run from anywhere?
>
> Ben
Hi Ben,

I have. Unfortunately, that turns out to be quite difficult, because it
depends on making builds of GCC and Qt (and all the other Octave
dependencies) that are relocatable, which is no easy task, because
they're not designed for that.

Related issue:
https://github.com/octave-app/octave-app-bundler/issues/2, which is a
prerequisite for making Octave.app itself relocatable.

Sorry.

Cheers,
Andrew


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

bpabbott
Administrator
> On Jun 27, 2018, at 07:35, Andrew Janke <[hidden email]> wrote:
>
> On 6/27/18 10:29 AM, Ben Abbott wrote:
>>> On Jun 26, 2018, at 9:15 PM, AndrewJanke <[hidden email]> wrote:
>>>
>>> Sebastian Schöps wrote
>>>> There will be a macOS disk image from Andrew any time soon, however, you
>>>> may
>>>> also have a look to https://www.schoeps.org/home/tag/octave/.
>>> A beta version of the macOS DMG is out:
>>> https://github.com/octave-app/octave-app/releases/download/untagged-4e9d0ab25492be932368/Octave-4.4.0-beta2.dmg
>>>
>>> Give that a try and let me know if you have any issues.
>>>
>>> Cheers,
>>> Andrew
>> Hi Andrew,
>>
>> Have you looked into modifying the app to make it relocatable? i.e. able to run from anywhere?
>>
>> Ben
> Hi Ben,
>
> I have. Unfortunately, that turns out to be quite difficult, because it depends on making builds of GCC and Qt (and all the other Octave dependencies) that are relocatable, which is no easy task, because they're not designed for that.
>
> Related issue: https://github.com/octave-app/octave-app-bundler/issues/2, which is a prerequisite for making Octave.app itself relocatable.
>
> Sorry.
>
> Cheers,
> Andrew

I have a script that will make an app and it’s libs relocatable. With a list of all binaries, all the binaries, they may also be relocated. However if there are any hard coded paths, it will not work (maybe shell scripts and such?).

I used it successfully in the past with Macports. I’ll dig up the script and email it to you when I’m in front of my Mac.

Ben

Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

AndrewJanke


On 6/27/18 10:57 AM, Ben Abbott wrote:

>> On Jun 27, 2018, at 07:35, Andrew Janke <[hidden email]> wrote:
>>
>> On 6/27/18 10:29 AM, Ben Abbott wrote:
>>>> On Jun 26, 2018, at 9:15 PM, AndrewJanke <[hidden email]> wrote:
>>>>
>>>> Sebastian Schöps wrote
>>>>> There will be a macOS disk image from Andrew any time soon, however, you
>>>>> may
>>>>> also have a look to https://www.schoeps.org/home/tag/octave/.
>>>> A beta version of the macOS DMG is out:
>>>> https://github.com/octave-app/octave-app/releases/download/untagged-4e9d0ab25492be932368/Octave-4.4.0-beta2.dmg
>>>>
>>>> Give that a try and let me know if you have any issues.
>>>>
>>>> Cheers,
>>>> Andrew
>>> Hi Andrew,
>>>
>>> Have you looked into modifying the app to make it relocatable? i.e. able to run from anywhere?
>>>
>>> Ben
>> Hi Ben,
>>
>> I have. Unfortunately, that turns out to be quite difficult, because it depends on making builds of GCC and Qt (and all the other Octave dependencies) that are relocatable, which is no easy task, because they're not designed for that.
>>
>> Related issue: https://github.com/octave-app/octave-app-bundler/issues/2, which is a prerequisite for making Octave.app itself relocatable.
>>
>> Sorry.
>>
>> Cheers,
>> Andrew
> I have a script that will make an app and it’s libs relocatable. With a list of all binaries, all the binaries, they may also be relocated. However if there are any hard coded paths, it will not work (maybe shell scripts and such?).
>
> I used it successfully in the past with Macports. I’ll dig up the script and email it to you when I’m in front of my Mac.
>
> Ben
Definitely interested in that.

Also relevant on the Homebrew front (Octave.app is using Homebrew to
install all the Octave dependencies):
https://github.com/Homebrew/brew/issues/4371
https://github.com/essandess/matryoshka-name-tool/blob/master/matryoshka_name_tool.py

Cheers,
Andrew


Reply | Threaded
Open this post in threaded view
|

Re: Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

John W. Eaton-3
In reply to this post by AndrewJanke
On 06/27/2018 10:35 AM, Andrew Janke wrote:

> I have. Unfortunately, that turns out to be quite difficult, because it
> depends on making builds of GCC and Qt (and all the other Octave
> dependencies) that are relocatable, which is no easy task, because
> they're not designed for that.

The Windows binary for Octave may be installed in any directory, so I
think it is possible, even for GCC, which is included with the Octave
Windows installer.

I also distribute (privately) binaries for older RHEL and SuSE systems
that can be installed anywhere.  They rely on a shell script to set some
environment variables before executing Octave.  That is all included in
the mxe-octave build system.  The shell script is here:

   http://hg.octave.org/mxe-octave/file/tip/octave-wrapper.in

You do have to edit the shell scripts to set the proper value of
OCTAVE_HOME, but that could be done by an installer script if needed.

jwe


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

AndrewJanke


On 6/27/18 2:23 PM, John W. Eaton wrote:

> On 06/27/2018 10:35 AM, Andrew Janke wrote:
>
>> I have. Unfortunately, that turns out to be quite difficult, because
>> it depends on making builds of GCC and Qt (and all the other Octave
>> dependencies) that are relocatable, which is no easy task, because
>> they're not designed for that.
>
> The Windows binary for Octave may be installed in any directory, so I
> think it is possible, even for GCC, which is included with the Octave
> Windows installer.
>
> I also distribute (privately) binaries for older RHEL and SuSE systems
> that can be installed anywhere.  They rely on a shell script to set
> some environment variables before executing Octave. That is all
> included in the mxe-octave build system.  The shell script is here:
>
>   http://hg.octave.org/mxe-octave/file/tip/octave-wrapper.in
>
> You do have to edit the shell scripts to set the proper value of
> OCTAVE_HOME, but that could be done by an installer script if needed.
>
> jwe
That's exciting: if it can be done on Linux, then it seems likely to be
feasible on macOS.

We're already making a wrapper script to deal with some environment
variables, so that wouldn't be a burden to expand. I'll have a look
through the MXE system and get familiar with it.

Thanks!

Andrew


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

John W. Eaton
Administrator
On 06/27/2018 02:29 PM, Andrew Janke wrote:
>

> That's exciting: if it can be done on Linux, then it seems likely to be
> feasible on macOS.
>
> We're already making a wrapper script to deal with some environment
> variables, so that wouldn't be a burden to expand. I'll have a look
> through the MXE system and get familiar with it.

Also, there are some old bug reports and patches that may be helpful or
at least relevant:

   https://savannah.gnu.org/patch/?8308
   https://savannah.gnu.org/bugs/?41574
   https://savannah.gnu.org/patch/?8314

We need a Mac expert to review and test.

jwe


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

bpabbott
Administrator
In reply to this post by AndrewJanke
On Jun 27, 2018, at 11:29 AM, Andrew Janke <[hidden email]> wrote:

On 6/27/18 2:23 PM, John W. Eaton wrote:
On 06/27/2018 10:35 AM, Andrew Janke wrote:

I have. Unfortunately, that turns out to be quite difficult, because it depends on making builds of GCC and Qt (and all the other Octave dependencies) that are relocatable, which is no easy task, because they're not designed for that.

The Windows binary for Octave may be installed in any directory, so I think it is possible, even for GCC, which is included with the Octave Windows installer.

I also distribute (privately) binaries for older RHEL and SuSE systems that can be installed anywhere.  They rely on a shell script to set some environment variables before executing Octave. That is all included in the mxe-octave build system.  The shell script is here:

  http://hg.octave.org/mxe-octave/file/tip/octave-wrapper.in

You do have to edit the shell scripts to set the proper value of OCTAVE_HOME, but that could be done by an installer script if needed.

jwe
That's exciting: if it can be done on Linux, then it seems likely to be feasible on macOS.

We're already making a wrapper script to deal with some environment variables, so that wouldn't be a burden to expand. I'll have a look through the MXE system and get familiar with it.

Thanks!

Andrew

Andrew,

The link below explains how to make apps relocatable.


The link below uses a python script to make a app relocatable.


I faintly recall that py2app didn’t do everything needed for Octave.

FreeCad uses the solution below.


In 2012 I wrote some m-file scripts to do the job and used MacPorts to create the bundle. The approach was never deployed due to problems making the app “Universal”. 


If I recall correctly, these scripts need to be modified. Since 2012, Apple made some changes to their preferred scheme for relative paths.

Ben



Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

bpabbott
Administrator
On Jun 27, 2018, at 8:23 PM, Ben Abbott <[hidden email]> wrote:

On Jun 27, 2018, at 11:29 AM, Andrew Janke <[hidden email]> wrote:

On 6/27/18 2:23 PM, John W. Eaton wrote:
On 06/27/2018 10:35 AM, Andrew Janke wrote:

I have. Unfortunately, that turns out to be quite difficult, because it depends on making builds of GCC and Qt (and all the other Octave dependencies) that are relocatable, which is no easy task, because they're not designed for that.

The Windows binary for Octave may be installed in any directory, so I think it is possible, even for GCC, which is included with the Octave Windows installer.

I also distribute (privately) binaries for older RHEL and SuSE systems that can be installed anywhere.  They rely on a shell script to set some environment variables before executing Octave. That is all included in the mxe-octave build system.  The shell script is here:

  http://hg.octave.org/mxe-octave/file/tip/octave-wrapper.in

You do have to edit the shell scripts to set the proper value of OCTAVE_HOME, but that could be done by an installer script if needed.

jwe
That's exciting: if it can be done on Linux, then it seems likely to be feasible on macOS.

We're already making a wrapper script to deal with some environment variables, so that wouldn't be a burden to expand. I'll have a look through the MXE system and get familiar with it.

Thanks!

Andrew

Andrew,

The link below explains how to make apps relocatable.


The link below uses a python script to make a app relocatable.


I faintly recall that py2app didn’t do everything needed for Octave.

FreeCad uses the solution below.


In 2012 I wrote some m-file scripts to do the job and used MacPorts to create the bundle. The approach was never deployed due to problems making the app “Universal”. 


If I recall correctly, these scripts need to be modified. Since 2012, Apple made some changes to their preferred scheme for relative paths.

Ben


Regarding the TODO list at the bottom of the wiki link, I recall that the mkoctfile problem was fixed, but I didn’t update the wiki. Many things about mkoctfile have been improved since 2012. It is possible it works now without any effort.

Ben



Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

Carlo de Falco-2
In reply to this post by John W. Eaton-3


> On 27 Jun 2018, at 20:23, John W. Eaton <[hidden email]> wrote:
>
> I also distribute (privately) binaries for older RHEL and SuSE systems that can be installed anywhere.  They rely on a shell script to set some environment variables before executing Octave.  That is all included in the mxe-octave build system.  The shell script is here:
>
>  http://hg.octave.org/mxe-octave/file/tip/octave-wrapper.in

This will very likely not work on recent versions of macos where the variable DYLD_LIBRARY_PATH is ignored when System Integrity Protection is enabled (which it is by default).

c.

Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

Carlo de Falco-2


> On 28 Jun 2018, at 11:45, Carlo De Falco <[hidden email]> wrote:
>
>
>
>> On 27 Jun 2018, at 20:23, John W. Eaton <[hidden email]> wrote:
>>
>> I also distribute (privately) binaries for older RHEL and SuSE systems that can be installed anywhere.  They rely on a shell script to set some environment variables before executing Octave.  That is all included in the mxe-octave build system.  The shell script is here:
>>
>> http://hg.octave.org/mxe-octave/file/tip/octave-wrapper.in
>
> This will very likely not work on recent versions of macos where the variable DYLD_LIBRARY_PATH is ignored when System Integrity Protection is enabled (which it is by default).


IIRC what happens is that DYLD_LIBRARY_PATH is removed from the environment when a script launches a process, so if you use a script to set DYLD_LIBRARY_PATH then launch Octave,
the environment variable will have no effect.

https://developer.apple.com/library/archive/documentation/Security/Conceptual/System_Integrity_Protection_Guide/RuntimeProtections/RuntimeProtections.html


c.



Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.4. on MacOS 10.12.6 with GUI anyone?

Carlo de Falco-2
In reply to this post by Carlo de Falco-2


> On 28 Jun 2018, at 11:45, Carlo De Falco <[hidden email]> wrote:
>
>
>
>> On 27 Jun 2018, at 20:23, John W. Eaton <[hidden email]> wrote:
>>
>> I also distribute (privately) binaries for older RHEL and SuSE systems that can be installed anywhere.  They rely on a shell script to set some environment variables before executing Octave.  That is all included in the mxe-octave build system.  The shell script is here:
>>
>> http://hg.octave.org/mxe-octave/file/tip/octave-wrapper.in
>
> This will very likely not work on recent versions of macos where the variable DYLD_LIBRARY_PATH is ignored when System Integrity Protection is enabled (which it is by default).


IIRC what happens is that DYLD_LIBRARY_PATH is removed from the environment when a script launches a process, so if you use a script to set DYLD_LIBRARY_PATH then launch Octave,
the environment variable will have no effect.

https://developer.apple.com/library/archive/documentation/Security/Conceptual/System_Integrity_Protection_Guide/RuntimeProtections/RuntimeProtections.html


c.