Octave 4.0 on Mac OS Yosemite (with gui!)

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

Octave 4.0 on Mac OS Yosemite (with gui!)

Sebastian Schöps
Akira posted a patch to fix the classdef headers for clang, see savannah. There is now also a first build script for homebrew. It already works with the gui, although this was not expected because the gui thread is still not the main thread. I suggest to use the mailing list to create instructions such that octave builds for all Mac users. First of all, it would be great if someone could verify that the homebrew formula works: brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Eugenio Gianniti-3
On 23/07/15 07:36, Sebastian Schöps wrote:

> Akira posted a patch to fix the classdef headers for clang, see savannah
> <https://savannah.gnu.org/bugs/?41178>. There is now also a first build
> script for homebrew
> <https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb>.
> It already works with the gui, although this was not expected because
> the gui thread is still not the main thread. I suggest to use the
> mailing list to create instructions such that octave builds for all Mac
> users. First of all, it would be great if someone could verify that the
> homebrew formula works: brew install
> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb

I have just tried, but it fails to build. I report the log [1]. Maybe it
is a problem with a dependency not listed in the formula? Anyway, I
guess that a more verbose would be better for understanding what is the
issue, but I do not know how to obtain it via brew. If you suggested how
to do so, I would be glad to provide you with a more verbose version.

Eugenio

[1] brew install
https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
########################################################################
100.0%
==> Using Homebrew-provided fortran compiler.
This may be changed by setting the FC environment variable.
==> Building with an alternative Fortran compiler
This is unsupported.
==> Building with an alternative Fortran compiler
This is unsupported.
==> Building with an alternative Fortran compiler
This is unsupported.
==> Downloading http://ftpmirror.gnu.org/octave/octave-4.0.0.tar.gz
==> Downloading from
http://mirror2.mirror.garr.it/mirrors/gnuftp/gnu/octave/octave-4.0.0.tar.gz
########################################################################
100.0%
==> Downloading
https://gist.github.com/tchaikov/6ce5f697055b0756126a/raw/4fc94a1fa1d5b032f8586ce3ab0015b04351426f/octave-clang3.5-fix.patch
==> Downloading from
https://gist.githubusercontent.com/tchaikov/6ce5f697055b0756126a/raw/4fc94a1fa1d5b032f8586ce3ab0015b04351426f/octave-clang3.5-fix.patch
########################################################################
100.0%
==> Downloading https://savannah.gnu.org/patch/download.php?file_id=31072
==> Downloading from
https://savannah.gnu.org/file/mkoctfile.diff?file_id=31072
########################################################################
100.0%
==> Patching
patching file liboctave/operators/libcxx-fix.h
patching file liboctave/operators/module.mk
Hunk #1 succeeded at 35 with fuzz 2 (offset 1 line).
patching file liboctave/Makefile.in
Hunk #1 succeeded at 3864 with fuzz 2 (offset 676 lines).
patching file liboctave/operators/mx-inlines.cc
Hunk #1 succeeded at 307 (offset 1 line).
patching file src/mkoctfile.in.cc
Hunk #1 succeeded at 241 (offset 16 lines).
Hunk #2 succeeded at 491 (offset 22 lines).
patching file libinterp/corefcn/comment-list.h
patching file libinterp/corefcn/oct.h
patching file libinterp/octave-value/ov-classdef.cc
patching file libinterp/octave-value/ov-classdef.h
==> ./configure --prefix=/usr/local/Cellar/octave/4.0.0 --with-x=no
==> make all
make[3]: *** [dldfcn/dldfcn___osmesa_print___la-__osmesa_print__.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

READ THIS: https://git.io/brew-troubleshooting

Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Sebastian Schöps

> Am 23.07.2015 um 09:18 schrieb Eugenio Gianniti <[hidden email]>:
>
> brew install
> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb

Can you report the result of

"brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose"?

Also Ben seems to have issues with OSmesa. Maybe you guys have an old, possibly broken OSMesa installation somewhere?


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Eugenio Gianniti-3


On 23/07/15 12:02, "Dr. Sebastian Schöps" wrote:

>
>> Am 23.07.2015 um 09:18 schrieb Eugenio Gianniti <[hidden email]>:
>>
>> brew install
>> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
>
> Can you report the result of
>
> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose"?
>
> Also Ben seems to have issues with OSmesa. Maybe you guys have an old, possibly broken OSMesa installation somewhere?
>
I attach the verbose log and the files it mentions in the end.
As far as I can see, it is using the osmesa.h installed by XQuartz 2.7.7.

Eugenio

brew.log (170K) Download Attachment
01.configure (77K) Download Attachment
01.configure.cc (1M) Download Attachment
02.make (90K) Download Attachment
02.make.cc (2M) Download Attachment
config.log (2M) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Sebastian Schöps

> Am 23.07.2015 um 12:27 schrieb Eugenio Gianniti <[hidden email]>:
>
>
>
> On 23/07/15 12:02, "Dr. Sebastian Schöps" wrote:
>>
>>> Am 23.07.2015 um 09:18 schrieb Eugenio Gianniti <[hidden email]>:
>>>
>>> brew install
>>> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
>>
>> Can you report the result of
>>
>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose"?
>>
>> Also Ben seems to have issues with OSmesa. Maybe you guys have an old, possibly broken OSMesa installation somewhere?
>>
>
> I attach the verbose log and the files it mentions in the end.
> As far as I can see, it is using the osmesa.h installed by XQuartz 2.7.7.

Strange, I have XQuartz 2.7.8_rc1 but the configure script does not take notice of /opt/X11/include/GL/osmesa.h. I will investigate this. However, maybe you want to in the mean time to compile without OSmesa

"brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose --without-osmesa"

(I have update octave.rb such that osmesa can be disabled)
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Eugenio Gianniti-3


On 23/07/15 14:25, "Dr. Sebastian Schöps" wrote:

>
>> Am 23.07.2015 um 12:27 schrieb Eugenio Gianniti <[hidden email]>:
>>
>>
>>
>> On 23/07/15 12:02, "Dr. Sebastian Schöps" wrote:
>>>
>>>> Am 23.07.2015 um 09:18 schrieb Eugenio Gianniti <[hidden email]>:
>>>>
>>>> brew install
>>>> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
>>>
>>> Can you report the result of
>>>
>>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose"?
>>>
>>> Also Ben seems to have issues with OSmesa. Maybe you guys have an old, possibly broken OSMesa installation somewhere?
>>>
>>
>> I attach the verbose log and the files it mentions in the end.
>> As far as I can see, it is using the osmesa.h installed by XQuartz 2.7.7.
>
> Strange, I have XQuartz 2.7.8_rc1 but the configure script does not take notice of /opt/X11/include/GL/osmesa.h. I will investigate this. However, maybe you want to in the mean time to compile without OSmesa
>
> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose --without-osmesa"
>
> (I have update octave.rb such that osmesa can be disabled)
>
Now it built fine. It reports 30 unexpected failures.
I also started it and the GUI seems to work even if I am on Yosemite,
despite the caveat.
Unfortunately I cannot test it, because I have a deadline today.
At a first look I noticed that sub-windows, like Command Window,
Workspace, and the like, have labels printed right where the close and
maximize buttons are.
I attach also the successful log, in case it is useful for you.

Thank you for your valuable effort,
Eugenio

brew.log (376K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

bpabbott
Administrator
In reply to this post by Sebastian Schöps

> On Jul 23, 2015, at 8:25 AM, Dr. Sebastian Schöps <[hidden email]> wrote:
>
>> Am 23.07.2015 um 12:27 schrieb Eugenio Gianniti <[hidden email]>:
>>
>> On 23/07/15 12:02, "Dr. Sebastian Schöps" wrote:
>>>
>>>> Am 23.07.2015 um 09:18 schrieb Eugenio Gianniti <[hidden email]>:
>>>>
>>>> brew install
>>>> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
>>>
>>> Can you report the result of
>>>
>>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose"?
>>>
>>> Also Ben seems to have issues with OSmesa. Maybe you guys have an old, possibly broken OSMesa installation somewhere?
>>>
>>
>> I attach the verbose log and the files it mentions in the end.
>> As far as I can see, it is using the osmesa.h installed by XQuartz 2.7.7.
>
> Strange, I have XQuartz 2.7.8_rc1 but the configure script does not take notice of /opt/X11/include/GL/osmesa.h. I will investigate this. However, maybe you want to in the mean time to compile without OSmesa
>
> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose --without-osmesa"
>
> (I have update octave.rb such that osmesa can be disabled)

I have XQuartz 2.7.7 installed. The configure script does not find osmesa.h (configure indicates it did not find it), but the make tries to compile __osmesa_print__ anyway.

Because I’m using Fink (not Homebrew) my troubles may be different.

Ben
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

bpabbott
Administrator
In reply to this post by Sebastian Schöps
On Jul 23, 2015, at 1:36 AM, Sebastian Schöps <[hidden email]> wrote:

Akira posted a patch to fix the classdef headers for clang, see savannah. There is now also a first build script for homebrew. It already works with the gui, although this was not expected because the gui thread is still not the main thread.

The GUI works off the main thread, so it should run. But when the GUI is running neither the FLTK or Qt toolkits are on the main thread, so using either of those graphics toolkits should crash Octave.

Ben


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Alexander Hansen-2
In reply to this post by bpabbott

> On Jul 23, 2015, at 12:45, Ben Abbott <[hidden email]> wrote:
>
>
>> On Jul 23, 2015, at 8:25 AM, Dr. Sebastian Schöps <[hidden email]> wrote:
>>
>>> Am 23.07.2015 um 12:27 schrieb Eugenio Gianniti <[hidden email]>:
>>>
>>> On 23/07/15 12:02, "Dr. Sebastian Schöps" wrote:
>>>>
>>>>> Am 23.07.2015 um 09:18 schrieb Eugenio Gianniti <[hidden email]>:
>>>>>
>>>>> brew install
>>>>> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
>>>>
>>>> Can you report the result of
>>>>
>>>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose"?
>>>>
>>>> Also Ben seems to have issues with OSmesa. Maybe you guys have an old, possibly broken OSMesa installation somewhere?
>>>>
>>>
>>> I attach the verbose log and the files it mentions in the end.
>>> As far as I can see, it is using the osmesa.h installed by XQuartz 2.7.7.
>>
>> Strange, I have XQuartz 2.7.8_rc1 but the configure script does not take notice of /opt/X11/include/GL/osmesa.h. I will investigate this. However, maybe you want to in the mean time to compile without OSmesa
>>
>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose --without-osmesa"
>>
>> (I have update octave.rb such that osmesa can be disabled)
>
> I have XQuartz 2.7.7 installed. The configure script does not find osmesa.h (configure indicates it did not find it), but the make tries to compile __osmesa_print__ anyway.
>
> Because I’m using Fink (not Homebrew) my troubles may be different.
>
> Ben


Nice.  

I’m not sure how much time I can scrape together, but if you could send me your package description files at some point I can take a look at them, too.

--
Alexander Hansen, Ph.D.
Fink User Liaison


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Sebastian Schöps
In reply to this post by bpabbott
bpabbott wrote
The GUI works off the main thread, so it should run. But when the GUI is running neither the FLTK or Qt toolkits are on the main thread, so using either of those graphics toolkits should crash Octave.
I checked; basic plotting via qt works. I will do more tests but I am currently on a conference.

bpabbott wrote
I have XQuartz 2.7.7 installed. The configure script does not find osmesa.h (configure indicates it did not find it), but the make tries to compile __osmesa_print__ anyway.

Because I’m using Fink (not Homebrew) my troubles may be different.
Can you try to compile with "--without-OSMesa"?
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

bpabbott
Administrator
In reply to this post by Alexander Hansen-2
> On Jul 23, 2015, at 3:55 PM, Alexander Hansen <[hidden email]> wrote:
>
>> On Jul 23, 2015, at 12:45, Ben Abbott <[hidden email]> wrote:
>>
>>> On Jul 23, 2015, at 8:25 AM, Dr. Sebastian Schöps <[hidden email]> wrote:
>>>
>>>> Am 23.07.2015 um 12:27 schrieb Eugenio Gianniti <[hidden email]>:
>>>>
>>>> On 23/07/15 12:02, "Dr. Sebastian Schöps" wrote:
>>>>>
>>>>>> Am 23.07.2015 um 09:18 schrieb Eugenio Gianniti <[hidden email]>:
>>>>>>
>>>>>> brew install
>>>>>> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
>>>>>
>>>>> Can you report the result of
>>>>>
>>>>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose"?
>>>>>
>>>>> Also Ben seems to have issues with OSmesa. Maybe you guys have an old, possibly broken OSMesa installation somewhere?
>>>>
>>>> I attach the verbose log and the files it mentions in the end.
>>>> As far as I can see, it is using the osmesa.h installed by XQuartz 2.7.7.
>>>
>>> Strange, I have XQuartz 2.7.8_rc1 but the configure script does not take notice of /opt/X11/include/GL/osmesa.h. I will investigate this. However, maybe you want to in the mean time to compile without OSmesa
>>>
>>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose --without-osmesa"
>>>
>>> (I have update octave.rb such that osmesa can be disabled)
>>
>> I have XQuartz 2.7.7 installed. The configure script does not find osmesa.h (configure indicates it did not find it), but the make tries to compile __osmesa_print__ anyway.
>>
>> Because I’m using Fink (not Homebrew) my troubles may be different.
>>
>> Ben
>
> Nice.  
>
> I’m not sure how much time I can scrape together, but if you could send me your package description files at some point I can take a look at them, too.

Hi Alex,

I’m using FInk for the dependencies, and am attempting to build from my mercurial archive. Which means I don’t have an info-file setup. However, I am using scripts to patch, configure, and make. Once I’ve had a chance to review the scripts and clean up any obvious probelms I’ll email them to you.

Ben


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

bpabbott
Administrator
In reply to this post by Sebastian Schöps
> On Jul 23, 2015, at 4:49 PM, Sebastian Schöps <[hidden email]> wrote:

>
> bpabbott wrote
>> The GUI works off the main thread, so it should run. But when the GUI is
>> running neither the FLTK or Qt toolkits are on the main thread, so using
>> either of those graphics toolkits should crash Octave.
>
> I checked; basic plotting via qt works. I will do more tests but I am
> currently on a conference.
>
> bpabbott wrote
>> I have XQuartz 2.7.7 installed. The configure script does not find
>> osmesa.h (configure indicates it did not find it), but the make tries to
>> compile __osmesa_print__ anyway.
>>
>> Because I’m using Fink (not Homebrew) my troubles may be different.
>
> Can you try to compile with "--without-OSMesa”?
With that “make” does not try to build Octave's osmesa code. However, my build still fails.

I’ve attached the errors.

Perhaps my problems are due to using Apple’s clang? and using XQuartz 2.7.7.

clang --version
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.4.0
Thread model: posix

I’ll install XQuartx 2.7.1-rc1 and wait on comments regarding clang before changing anything.

Ben


Make_log.txt (16K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

bpabbott
Administrator
In reply to this post by bpabbott
> On Jul 23, 2015, at 8:24 PM, Ben Abbott <[hidden email]> wrote:

>
>> On Jul 23, 2015, at 3:55 PM, Alexander Hansen <[hidden email]> wrote:
>>
>>> On Jul 23, 2015, at 12:45, Ben Abbott <[hidden email]> wrote:
>>>
>>>> On Jul 23, 2015, at 8:25 AM, Dr. Sebastian Schöps <[hidden email]> wrote:
>>>>
>>>>> Am 23.07.2015 um 12:27 schrieb Eugenio Gianniti <[hidden email]>:
>>>>>
>>>>> On 23/07/15 12:02, "Dr. Sebastian Schöps" wrote:
>>>>>>
>>>>>>> Am 23.07.2015 um 09:18 schrieb Eugenio Gianniti <[hidden email]>:
>>>>>>>
>>>>>>> brew install
>>>>>>> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
>>>>>>
>>>>>> Can you report the result of
>>>>>>
>>>>>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose"?
>>>>>>
>>>>>> Also Ben seems to have issues with OSmesa. Maybe you guys have an old, possibly broken OSMesa installation somewhere?
>>>>>
>>>>> I attach the verbose log and the files it mentions in the end.
>>>>> As far as I can see, it is using the osmesa.h installed by XQuartz 2.7.7.
>>>>
>>>> Strange, I have XQuartz 2.7.8_rc1 but the configure script does not take notice of /opt/X11/include/GL/osmesa.h. I will investigate this. However, maybe you want to in the mean time to compile without OSmesa
>>>>
>>>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose --without-osmesa"
>>>>
>>>> (I have update octave.rb such that osmesa can be disabled)
>>>
>>> I have XQuartz 2.7.7 installed. The configure script does not find osmesa.h (configure indicates it did not find it), but the make tries to compile __osmesa_print__ anyway.
>>>
>>> Because I’m using Fink (not Homebrew) my troubles may be different.
>>>
>>> Ben
>>
>> Nice.  
>>
>> I’m not sure how much time I can scrape together, but if you could send me your package description files at some point I can take a look at them, too.
>
> Hi Alex,
>
> I’m using FInk for the dependencies, and am attempting to build from my mercurial archive. Which means I don’t have an info-file setup. However, I am using scripts to patch, configure, and make. Once I’ve had a chance to review the scripts and clean up any obvious probelms I’ll email them to you.
>
> Ben
Alex,

I’ve attached the scripts & patched I use to (attempt) to build Octave 4.0.x

Ben






for Alexander.zip (9K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Mike Miller-4
In reply to this post by bpabbott
On Thu, Jul 23, 2015 at 20:31:07 -0400, Ben Abbott wrote:
> I’ve attached the errors.

Ben, your errors look exactly like bug #41178 without the
ov-classdef.patch applied. In particular, the following

> ./libinterp/octave-value/ov-classdef.h:441:71: note: in instantiation of template class
>       'std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<cdef_class, std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >,
>       std::__1::__tree_node<std::__1::__value_type<cdef_class, std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, void *> *, long> >' requested here
>   void mark_as_constructed (const cdef_class& cls) { ctor_list.erase (cls); }

looks to me like your ov-classdef.h has not been patched at all. Are you
sure your build is applying the patch successfully?

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Sebastian Schöps
In reply to this post by bpabbott
Dear Ben,

I have the same Clang but running a release candidate of Yosemite 10.10.5. I will check tonight whether your scripts are working here.

Bye
Seb.

Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.5.0
Thread model: posix


> Am 24.07.2015 um 04:25 schrieb Ben Abbott <[hidden email]>:
>
>> On Jul 23, 2015, at 8:24 PM, Ben Abbott <[hidden email]> wrote:
>>
>>> On Jul 23, 2015, at 3:55 PM, Alexander Hansen <[hidden email]> wrote:
>>>
>>>> On Jul 23, 2015, at 12:45, Ben Abbott <[hidden email]> wrote:
>>>>
>>>>> On Jul 23, 2015, at 8:25 AM, Dr. Sebastian Schöps <[hidden email]> wrote:
>>>>>
>>>>>> Am 23.07.2015 um 12:27 schrieb Eugenio Gianniti <[hidden email]>:
>>>>>>
>>>>>> On 23/07/15 12:02, "Dr. Sebastian Schöps" wrote:
>>>>>>>
>>>>>>>> Am 23.07.2015 um 09:18 schrieb Eugenio Gianniti <[hidden email]>:
>>>>>>>>
>>>>>>>> brew install
>>>>>>>> https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb
>>>>>>>
>>>>>>> Can you report the result of
>>>>>>>
>>>>>>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose"?
>>>>>>>
>>>>>>> Also Ben seems to have issues with OSmesa. Maybe you guys have an old, possibly broken OSMesa installation somewhere?
>>>>>>
>>>>>> I attach the verbose log and the files it mentions in the end.
>>>>>> As far as I can see, it is using the osmesa.h installed by XQuartz 2.7.7.
>>>>>
>>>>> Strange, I have XQuartz 2.7.8_rc1 but the configure script does not take notice of /opt/X11/include/GL/osmesa.h. I will investigate this. However, maybe you want to in the mean time to compile without OSmesa
>>>>>
>>>>> "brew install https://raw.githubusercontent.com/schoeps/homebrew-science/octave/octave.rb --verbose --without-osmesa"
>>>>>
>>>>> (I have update octave.rb such that osmesa can be disabled)
>>>>
>>>> I have XQuartz 2.7.7 installed. The configure script does not find osmesa.h (configure indicates it did not find it), but the make tries to compile __osmesa_print__ anyway.
>>>>
>>>> Because I’m using Fink (not Homebrew) my troubles may be different.
>>>>
>>>> Ben
>>>
>>> Nice.  
>>>
>>> I’m not sure how much time I can scrape together, but if you could send me your package description files at some point I can take a look at them, too.
>>
>> Hi Alex,
>>
>> I’m using FInk for the dependencies, and am attempting to build from my mercurial archive. Which means I don’t have an info-file setup. However, I am using scripts to patch, configure, and make. Once I’ve had a chance to review the scripts and clean up any obvious probelms I’ll email them to you.
>>
>> Ben
>
> Alex,
>
> I’ve attached the scripts & patched I use to (attempt) to build Octave 4.0.x
>
> Ben
>
> <for Alexander.zip>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

bpabbott
Administrator
In reply to this post by Mike Miller-4
> On Jul 23, 2015, at 11:29 PM, Mike Miller <[hidden email]> wrote:

>
> On Thu, Jul 23, 2015 at 20:31:07 -0400, Ben Abbott wrote:
>> I’ve attached the errors.
>
> Ben, your errors look exactly like bug #41178 without the
> ov-classdef.patch applied. In particular, the following
>
>> ./libinterp/octave-value/ov-classdef.h:441:71: note: in instantiation of template class
>>      'std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<cdef_class, std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >,
>>      std::__1::__tree_node<std::__1::__value_type<cdef_class, std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, void *> *, long> >' requested here
>>  void mark_as_constructed (const cdef_class& cls) { ctor_list.erase (cls); }
>
> looks to me like your ov-classdef.h has not been patched at all. Are you
> sure your build is applying the patch successfully?
>
> --
> mike
Ok. Nice catch. I wrote a bash script to apply the patches. The classdef patch did not apply due to an error associated with the “include-fix.patch"

PatchFile2="../patches/include-fix.patch"
patch -p1 < ${PatchFile2}
patching file libinterp/corefcn/comment-list.h
patching file libinterp/corefcn/oct.h
patch unexpectedly ends in middle of line

I looked over the patch and have fixed the problem. I also had trouble with applying the clang patch. It patches liboctave/Makefile.in, which is no longer part of Octave’s sources.

I’m trying to build the default branch … so maybe something changed since 4.0 or maybe the clang patch is intended for 3.8.x? In either event, I’ve attached patches which apply for me.

My build eventually fails because icotool is missing.

./build-aux/missing: line 81: icotool: command not found
WARNING: 'icotool' is missing on your system.
         You might have modified some files without having the proper
         tools for further handling them.  Check the 'README' file, it
         often tells you about the needed prerequisites for installing
         this package.  You may also peek at any GNU archive site, in
         case some other package contains this missing 'icotool' program.
Makefile:28049: recipe for target 'etc/icons/octave-logo.ico' failed
make[2]: *** [etc/icons/octave-logo.ico] Error 127
make[2]: Leaving directory '/Users/bpabbott/Development/mercurial/default/sources'
Makefile:25736: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/Users/bpabbott/Development/mercurial/default/sources'
Makefile:9873: recipe for target 'all' failed
make: *** [all] Error 2

Even so, the gui runs and the qt toolkit functions!

For any Fink users, what I’ve done is …

hg purge
hg pull
hg update -C
./bootstrap
../fink_patch_octave.sh
../fink_configure_octave.sh
../fink_make_octave.sh

The shell scripts need to be placed in the parent directory of the Octave archive and the patches need to be placed in ../patches. Everything needed is bundled in the attached zip.

Ben





for fink.zip (8K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

bpabbott
Administrator
> On Jul 24, 2015, at 5:55 PM, Ben Abbott <[hidden email]> wrote:
>
>> On Jul 23, 2015, at 11:29 PM, Mike Miller <[hidden email]> wrote:
>>
>> On Thu, Jul 23, 2015 at 20:31:07 -0400, Ben Abbott wrote:
>>> I’ve attached the errors.
>>
>> Ben, your errors look exactly like bug #41178 without the
>> ov-classdef.patch applied. In particular, the following
>>
>>> ./libinterp/octave-value/ov-classdef.h:441:71: note: in instantiation of template class
>>>     'std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<cdef_class, std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >,
>>>     std::__1::__tree_node<std::__1::__value_type<cdef_class, std::__1::list<cdef_class, std::__1::allocator<cdef_class> > >, void *> *, long> >' requested here
>>> void mark_as_constructed (const cdef_class& cls) { ctor_list.erase (cls); }
>>
>> looks to me like your ov-classdef.h has not been patched at all. Are you
>> sure your build is applying the patch successfully?
>>
>> --
>> mike
>
> Ok. Nice catch. I wrote a bash script to apply the patches. The classdef patch did not apply due to an error associated with the “include-fix.patch"
>
> PatchFile2="../patches/include-fix.patch"
> patch -p1 < ${PatchFile2}
> patching file libinterp/corefcn/comment-list.h
> patching file libinterp/corefcn/oct.h
> patch unexpectedly ends in middle of line
>
> I looked over the patch and have fixed the problem. I also had trouble with applying the clang patch. It patches liboctave/Makefile.in, which is no longer part of Octave’s sources.
>
> I’m trying to build the default branch … so maybe something changed since 4.0 or maybe the clang patch is intended for 3.8.x? In either event, I’ve attached patches which apply for me.
>
> My build eventually fails because icotool is missing.
>
> ./build-aux/missing: line 81: icotool: command not found
> WARNING: 'icotool' is missing on your system.
>         You might have modified some files without having the proper
>         tools for further handling them.  Check the 'README' file, it
>         often tells you about the needed prerequisites for installing
>         this package.  You may also peek at any GNU archive site, in
>         case some other package contains this missing 'icotool' program.
> Makefile:28049: recipe for target 'etc/icons/octave-logo.ico' failed
> make[2]: *** [etc/icons/octave-logo.ico] Error 127
> make[2]: Leaving directory '/Users/bpabbott/Development/mercurial/default/sources'
> Makefile:25736: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/Users/bpabbott/Development/mercurial/default/sources'
> Makefile:9873: recipe for target 'all' failed
> make: *** [all] Error 2
>
> Even so, the gui runs and the qt toolkit functions!
>
> For any Fink users, what I’ve done is …
>
> hg purge
> hg pull
> hg update -C
> ./bootstrap
> ../fink_patch_octave.sh
> ../fink_configure_octave.sh
> ../fink_make_octave.sh
>
> The shell scripts need to be placed in the parent directory of the Octave archive and the patches need to be placed in ../patches. Everything needed is bundled in the attached zip.
>
> Ben

I edited the Makefile and commented out reference to ICOTOOL. The build process then ends when it is necessary to build eps-files.

  GEN      doc/interpreter/voronoi.eps
error: __osmesa_print__: support for offscreen rendering was disabled when Octave was built
error: called from
    __opengl_print__ at line 171 column 7
    print at line 431 column 14
    geometryimages at line 55 column 5
Makefile:27810: recipe for target 'doc/interpreter/voronoi.eps’ failed

For Mac OSX, support for osmesa and icotool is needed.

Ben


Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Mike Miller-4
On Fri, Jul 24, 2015 at 20:02:21 -0400, Ben Abbott wrote:
> > On Jul 24, 2015, at 5:55 PM, Ben Abbott <[hidden email]> wrote:
> > I looked over the patch and have fixed the problem. I also had
> > trouble with applying the clang patch. It patches
> > liboctave/Makefile.in, which is no longer part of Octave’s sources.

IIRC, you have clang 3.6, which means you shouldn't need the clang 3.5
patch at all (it was a bug in that version of the clang compiler only).

> I edited the Makefile and commented out reference to ICOTOOL.

You should be able to build with "make ICOTOOL=true", you'll just end up
with an empty octave.ico file.

> The build process then ends when it is necessary to build eps-files.
>
>   GEN      doc/interpreter/voronoi.eps
> error: __osmesa_print__: support for offscreen rendering was disabled when Octave was built
> error: called from
>     __opengl_print__ at line 171 column 7
>     print at line 431 column 14
>     geometryimages at line 55 column 5
> Makefile:27810: recipe for target 'doc/interpreter/voronoi.eps’ failed

There was a recent change that figures for the manual are built by the
default toolkit, which means qt if available, then fltk if available,
then gnuplot. But there is no check ensuring that you also have osmesa
present and working. I could see that as a worthy enhancement, fall back
to gnuplot if no osmesa.

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

Sebastian Schöps
Mike Miller-4 wrote
On Fri, Jul 24, 2015 at 20:02:21 -0400, Ben Abbott wrote:
> > On Jul 24, 2015, at 5:55 PM, Ben Abbott <[hidden email]> wrote:
> > I looked over the patch and have fixed the problem. I also had
> > trouble with applying the clang patch. It patches
> > liboctave/Makefile.in, which is no longer part of Octave’s sources.
Sorry, I possibly screwed up the patches. I will try to clean them up.

Mike Miller-4 wrote
IIRC, you have clang 3.6, which means you shouldn't need the clang 3.5
patch at all (it was a bug in that version of the clang compiler only).
I thought so too but it is not the case. Probably Apple is using a non-standard clang 3.6.

> I edited the Makefile and commented out reference to ICOTOOL.

Mike Miller-4 wrote
There was a recent change that figures for the manual are built by the
default toolkit, which means qt if available, then fltk if available,
then gnuplot. But there is no check ensuring that you also have osmesa
present and working. I could see that as a worthy enhancement, fall back
to gnuplot if no osmesa.

--
mike
That would be great. Getting osmesa seems to be problematic on several platforms (also ubuntu as seen in the other recent thread)
Reply | Threaded
Open this post in threaded view
|

Re: Octave 4.0 on Mac OS Yosemite (with gui!)

bpabbott
Administrator
> On Jul 25, 2015, at 5:42 AM, Sebastian Schöps <[hidden email]> wrote:
>
> Mike Miller-4 wrote
>> On Fri, Jul 24, 2015 at 20:02:21 -0400, Ben Abbott wrote:
>>>> On Jul 24, 2015, at 5:55 PM, Ben Abbott &lt;
>
>> bpabbott@
>
>> &gt; wrote:
>>>> I looked over the patch and have fixed the problem. I also had
>>>> trouble with applying the clang patch. It patches
>>>> liboctave/Makefile.in, which is no longer part of Octave’s sources.
>
> Sorry, I possibly screwed up the patches. I will try to clean them up.
>
> Mike Miller-4 wrote
>> IIRC, you have clang 3.6, which means you shouldn't need the clang 3.5
>> patch at all (it was a bug in that version of the clang compiler only).
>
> I thought so too but it is not the case. Probably Apple is using a
> non-standard clang 3.6.
>
>> I edited the Makefile and commented out reference to ICOTOOL.
>
> Mike Miller-4 wrote
>> There was a recent change that figures for the manual are built by the
>> default toolkit, which means qt if available, then fltk if available,
>> then gnuplot. But there is no check ensuring that you also have osmesa
>> present and working. I could see that as a worthy enhancement, fall back
>> to gnuplot if no osmesa.
>>
>> --
>> mike
>
> That would be great. Getting osmesa seems to be problematic on several
> platforms (also ubuntu as seen in the other recent thread)

Agreed. I would also like to be able to figure out how to use the osmesa support provided by XQuartz. Does anyone know if there are known issues, or are we just doing something wrong (not setting LDFLAGS or LIBS correctly?).

Ben
123