odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

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

odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Nir Krakauer-3
pkg install -forge odepkg also works for me with Homebrew's Octave (4.0.3-3). gcc and c++ are Apple LLVM version 7.3.0 (clang-703.0.31) and gfortran is GNU Fortran (Homebrew gcc 6.2.0) 6.2.0
Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

kingcrimson

On 9 Sep 2016, at 18:25, Nir Krakauer <[hidden email]> wrote:

> pkg install -forge odepkg also works for me with Homebrew's Octave (4.0.3-3). gcc and c++ are Apple LLVM version 7.3.0 (clang-703.0.31) and gfortran is GNU Fortran (Homebrew gcc 6.2.0) 6.2.0

Can someone please try the same with Octave 4.1 or 4.2rc1 ?
The issue Sebastian refers to never occurred on 4.0
 
c.



Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Mike Miller-4
On Fri, Sep 09, 2016 at 19:07:35 +0200, c. wrote:
>
> On 9 Sep 2016, at 18:25, Nir Krakauer <[hidden email]> wrote:
>
> > pkg install -forge odepkg also works for me with Homebrew's Octave (4.0.3-3). gcc and c++ are Apple LLVM version 7.3.0 (clang-703.0.31) and gfortran is GNU Fortran (Homebrew gcc 6.2.0) 6.2.0
>
> Can someone please try the same with Octave 4.1 or 4.2rc1 ?
> The issue Sebastian refers to never occurred on 4.0

With the released package version 0.8.5 or the latest sources from hg?

Do you expect that the issue is macOS- and/or clang-specific? Has anyone
other than Sebastian had this problem?

In bug #48380, there is a comment saying that the odepkg hg sources work
fine against Octave default [1]. But of course this is with gcc.

There is a patch in mxe-octave for odepkg [2], presumably containing
things that have been fixed in hg but not yet released.

[1]: https://savannah.gnu.org/bugs/?48380#comment10
[2]: http://hg.octave.org/mxe-octave/file/tip/src/of-odepkg-1-fixes.patch

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Nir Krakauer-3
With the released package version 0.8.5 or the latest sources from hg?

I installed the current release, 0.8.5​
Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Sebastian Schöps
In reply to this post by Mike Miller-4
> Am 09.09.2016 um 19:35 schrieb Mike Miller <[hidden email]>:
>
> On Fri, Sep 09, 2016 at 19:07:35 +0200, c. wrote:
>>
>> On 9 Sep 2016, at 18:25, Nir Krakauer <[hidden email]> wrote:
>>
>>> pkg install -forge odepkg also works for me with Homebrew's Octave (4.0.3-3). gcc and c++ are Apple LLVM version 7.3.0 (clang-703.0.31) and gfortran is GNU Fortran (Homebrew gcc 6.2.0) 6.2.0
>>
>> Can someone please try the same with Octave 4.1 or 4.2rc1 ?
>> The issue Sebastian refers to never occurred on 4.0
>
> With the released package version 0.8.5 or the latest sources from hg?
Please install from the repository, the old 0.8.5 is broken with Octave >=4.1 (I think the odepkg repository is git but this doesn't matter anyway).

> Do you expect that the issue is macOS- and/or clang-specific? Has anyone
> other than Sebastian had this problem?
No, I think nobody tried so far to install odepkg with clang or mac for octave>=4.1. We are trying to replicate this for some time...
I (we?) suspect that there is something wrong with octave's configure and clang. My "octave-config.h" does not contain any "#  define F77..." statements.

@Mike: can you check this with your Debian installation?

> In bug #48380, there is a comment saying that the odepkg hg sources work
> fine against Octave default [1]. But of course this is with gcc.
GCC on Linux has been reported by Jacopo and Carlo to work if you set "configure F77=gfortran". Otherwise it fails.

> There is a patch in mxe-octave for odepkg [2], presumably containing
> things that have been fixed in hg but not yet released.
Yes, it looks like Carlo's recent changes.

@Carlo: can you release a beta version of odepkg such that testers can just download it?

Bye
Sebastian



Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

kingcrimson
In reply to this post by Mike Miller-4

On 9 Sep 2016, at 19:35, Mike Miller <[hidden email]> wrote:

> On Fri, Sep 09, 2016 at 19:07:35 +0200, c. wrote:
>>
>> On 9 Sep 2016, at 18:25, Nir Krakauer <[hidden email]> wrote:
>>
>>> pkg install -forge odepkg also works for me with Homebrew's Octave (4.0.3-3). gcc and c++ are Apple LLVM version 7.3.0 (clang-703.0.31) and gfortran is GNU Fortran (Homebrew gcc 6.2.0) 6.2.0
>>
>> Can someone please try the same with Octave 4.1 or 4.2rc1 ?
>> The issue Sebastian refers to never occurred on 4.0
>
> With the released package version 0.8.5 or the latest sources from hg?
>
> Do you expect that the issue is macOS- and/or clang-specific? Has anyone
> other than Sebastian had this problem?
>
> In bug #48380, there is a comment saying that the odepkg hg sources work
> fine against Octave default [1]. But of course this is with gcc.
>
> There is a patch in mxe-octave for odepkg [2], presumably containing
> things that have been fixed in hg but not yet released.
>
> [1]: https://savannah.gnu.org/bugs/?48380#comment10
> [2]: http://hg.octave.org/mxe-octave/file/tip/src/of-odepkg-1-fixes.patch

Mike,

There are different issues with compiling fortran routines included in odepkg
that surfaced with recent changes to the configure and build system in core octave,
some where already fixed in the odepkg repository in preparation for Octave 4.2

The particular one that Sebastian refers to can be tracked down to the fact that
none of the macros F77_USES_*_CALLING_CONVENTION is defined in octave-config.log

This issue is similar to what was discussed here: https://savannah.gnu.org/bugs/?48559
and apparently fixed with this changeset by jwe: http://hg.savannah.gnu.org/hgweb/octave/rev/1bd872efdab5

Indeed on my own laptop (OSX 10.9.5, macports, gcc-4.8) after configure I get:
$ grep -i f77_uses octave-config.h
/* #  undef F77_USES_CRAY_CALLING_CONVENTION */
/* #  undef F77_USES_F2C_CALLING_CONVENTION */
#  define F77_USES_GFORTRAN_CALLING_CONVENTION 1
/* #  undef F77_USES_VISUAL_FORTRAN_CALLING_CONVENTION */
 $ grep -i f77_uses config.h
/* #undef F77_USES_CRAY_CALLING_CONVENTION */
/* #undef F77_USES_F2C_CALLING_CONVENTION */
#define F77_USES_GFORTRAN_CALLING_CONVENTION 1
/* #undef F77_USES_VISUAL_FORTRAN_CALLING_CONVENTION */

therefore I never managed to reproduce the issue here.

on the mac-mini at EPFL thoug (OSX 10.11, homebrew, glang) I get:

bash-3.2$ grep -i f77_uses octave-config.h
bash-3.2$ grep -i f77_uses config.h
/* #undef F77_USES_CRAY_CALLING_CONVENTION */
/* #undef F77_USES_F2C_CALLING_CONVENTION */
#define F77_USES_GFORTRAN_CALLING_CONVENTION 1
/* #undef F77_USES_VISUAL_FORTRAN_CALLING_CONVENTION */
bash-3.2$

so, for some reason the move of those definitions is not working there ...

c.







Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Mike Miller-4
In reply to this post by Sebastian Schöps
On Fri, Sep 09, 2016 at 20:01:42 +0200, Sebastian wrote:
> > Am 09.09.2016 um 19:35 schrieb Mike Miller <[hidden email]>:
> > Do you expect that the issue is macOS- and/or clang-specific? Has anyone
> > other than Sebastian had this problem?
> No, I think nobody tried so far to install odepkg with clang or mac for octave>=4.1. We are trying to replicate this for some time...
> I (we?) suspect that there is something wrong with octave's configure and clang. My "octave-config.h" does not contain any "#  define F77..." statements.
>
> @Mike: can you check this with your Debian installation?

I will try building odepkg against Octave compiled with clang soon. Your
Fortran compiler *is* gfortran, right?

I can show you the following excerpt from my octave-config.h from a
build of Octave from about 2 weeks ago with clang 3.7:

/* #  undef F77_USES_CRAY_CALLING_CONVENTION */
/* #  undef F77_USES_F2C_CALLING_CONVENTION */
#  define F77_USES_GFORTRAN_CALLING_CONVENTION 1
/* #  undef F77_USES_VISUAL_FORTRAN_CALLING_CONVENTION */

#  define F77_FUNC(name,NAME) name ## _
#  define F77_FUNC_(name,NAME) name ## _

If the errors you see are entirely due to those macros missing, then
it's a good bet that I won't be able to reproduce here. If that's the
problem, then let's tackle it at the source, why is octave-config.h
wrong on your system? Is it another case of sed vs ${SED}?

> > In bug #48380, there is a comment saying that the odepkg hg sources work
> > fine against Octave default [1]. But of course this is with gcc.
> GCC on Linux has been reported by Jacopo and Carlo to work if you set "configure F77=gfortran". Otherwise it fails.

This is a separate issue that has already been fixed in Octave, passing
F77=gfortran should no longer be necessary.

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

kingcrimson
In reply to this post by Sebastian Schöps

On 9 Sep 2016, at 20:01, Sebastian <[hidden email]> wrote:

>> With the released package version 0.8.5 or the latest sources from hg?
> Please install from the repository, the old 0.8.5 is broken with Octave >=4.1 (I think the odepkg repository is git but this doesn't matter anyway).
No, it is actually mercurial: http://hg.code.sf.net/p/octave/odepkg

> @Carlo: can you release a beta version of odepkg such that testers can just download it?
it is available here:
https://gitserver.mate.polimi.it/redmine/attachments/download/30/odepkg-0.9.1.tar.gz

> Bye
> Sebastian
c.
Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Carlo de Falco-2
In reply to this post by Mike Miller-4

On 9 Sep 2016, at 20:15, Mike Miller <[hidden email]> wrote:

> Is it another case of sed vs ${SED}?

I already suggested that...

@Sebastian, you say you checked, didn't you?
What did you do exactly to check?

c.

Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Sebastian Schöps
> On 9 Sep 2016, at 20:15, Mike Miller <[hidden email]> wrote:
Compilation seems to work with Mike's octave-config.h settings

/* #  undef F77_USES_CRAY_CALLING_CONVENTION */
/* #  undef F77_USES_F2C_CALLING_CONVENTION */
#  define F77_USES_GFORTRAN_CALLING_CONVENTION 1
/* #  undef F77_USES_VISUAL_FORTRAN_CALLING_CONVENTION */

#  define F77_FUNC(name,NAME) name ## _
#  define F77_FUNC_(name,NAME) name ## _

>> Is it another case of sed vs ${SED}?
>
> I already suggested that...
>
> @Sebastian, you say you checked, didn't you?
> What did you do exactly to check?

Yes you did and I made sure that GNU sed was in the path and BSD sed not. However, maybe configure found BSD sed nonetheless. Can I force Octave to use a particular sed? (e.g. "gsed"?). I will do further experiments.

If sed is crucial, would it not makes ende not check for BSD sed in configure and complain?

Sebastian
Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

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

On 9 Sep 2016, at 20:22, Carlo De Falco <[hidden email]> wrote:

>
> On 9 Sep 2016, at 20:15, Mike Miller <[hidden email]> wrote:
>
>> Is it another case of sed vs ${SED}?
>
> I already suggested that...
>
> @Sebastian, you say you checked, didn't you?
> What did you do exactly to check?

I tried the following :

- change any occurrence of 'sed' to ${SED} in build-aux/mk-octave-config-h.sh
- ln -s /usr/local/bin/gsed /usr/local/bin/sed
- ./configure SED=/usr/local/bin/gsed

but still the macros to not appear in octave-config-h

c.

Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Sebastian Schöps
> Am 09.09.2016 um 20:44 schrieb Carlo De Falco <[hidden email]>:
>
>
> On 9 Sep 2016, at 20:22, Carlo De Falco <[hidden email]> wrote:
>
>>
>> On 9 Sep 2016, at 20:15, Mike Miller <[hidden email]> wrote:
>>
>>> Is it another case of sed vs ${SED}?
>>
>> I already suggested that...
>>
>> @Sebastian, you say you checked, didn't you?
>> What did you do exactly to check?
>
> I tried the following :
>
> - change any occurrence of 'sed' to ${SED} in build-aux/mk-octave-config-h.sh
> - ln -s /usr/local/bin/gsed /usr/local/bin/sed
> - ./configure SED=/usr/local/bin/gsed
>
> but still the macros to not appear in octave-config-h
>
> c.

I checked on my machine, too. Configure reports "checking for a usable sed... /usr/local/opt/gnu-sed/bin/gsed". So it should be correct? Any other idea?

Sebastian
Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Carlo de Falco-2
In reply to this post by Sebastian Schöps

On 9 Sep 2016, at 20:40, Sebastian <[hidden email]> wrote:

> Yes you did and I made sure that GNU sed was in the path and BSD sed not. However, maybe configure found BSD sed nonetheless. Can I force Octave to use a particular sed? (e.g. "gsed"?). I will do further experiments.
>
> If sed is crucial, would it not makes ende not check for BSD sed in configure and complain?
>
> Sebastian

This was already discussed here:
https://savannah.gnu.org/bugs/?func=detailitem&item_id=40273

c.



Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Sebastian Schöps
> Am 09.09.2016 um 20:48 schrieb Carlo De Falco <[hidden email]>:
>
>
> On 9 Sep 2016, at 20:40, Sebastian <[hidden email]> wrote:
>
>> Yes you did and I made sure that GNU sed was in the path and BSD sed not. However, maybe configure found BSD sed nonetheless. Can I force Octave to use a particular sed? (e.g. "gsed"?). I will do further experiments.
>>
>> If sed is crucial, would it not makes ende not check for BSD sed in configure and complain?
>>
>> Sebastian
>
> This was already discussed here:
> https://savannah.gnu.org/bugs/?func=detailitem&item_id=40273
>
> c.

Could there be an awk/gawk problem, too?

Seb.
Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Mike Miller-4
In reply to this post by Sebastian Schöps
On Fri, Sep 09, 2016 at 20:47:02 +0200, Sebastian wrote:

> > Am 09.09.2016 um 20:44 schrieb Carlo De Falco <[hidden email]>:
> >
> >
> > On 9 Sep 2016, at 20:22, Carlo De Falco <[hidden email]> wrote:
> >
> >>
> >> On 9 Sep 2016, at 20:15, Mike Miller <[hidden email]> wrote:
> >>
> >>> Is it another case of sed vs ${SED}?
> >>
> >> I already suggested that...
> >>
> >> @Sebastian, you say you checked, didn't you?
> >> What did you do exactly to check?
> >
> > I tried the following :
> >
> > - change any occurrence of 'sed' to ${SED} in build-aux/mk-octave-config-h.sh
> > - ln -s /usr/local/bin/gsed /usr/local/bin/sed
> > - ./configure SED=/usr/local/bin/gsed
> >
> > but still the macros to not appear in octave-config-h
> >
> > c.
>
> I checked on my machine, too. Configure reports "checking for a usable sed... /usr/local/opt/gnu-sed/bin/gsed". So it should be correct? Any other idea?
That is not enough in this case. That confirms that the variable SED is
set to gsed, but what happens if a script doesn't use it and calls sed
directly?

Please try building from scratch with the attached patch.

--
mike

oct-sed.patch (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Sebastian Schöps
> Am 10.09.2016 um 00:22 schrieb Mike Miller <[hidden email]>:
>
> On Fri, Sep 09, 2016 at 20:47:02 +0200, Sebastian wrote:
>>> Am 09.09.2016 um 20:44 schrieb Carlo De Falco <[hidden email]>:
>>>
>>>
>>> On 9 Sep 2016, at 20:22, Carlo De Falco <[hidden email]> wrote:
>>>
>>>>
>>>> On 9 Sep 2016, at 20:15, Mike Miller <[hidden email]> wrote:
>>>>
>>>>> Is it another case of sed vs ${SED}?
>>>>
>>>> I already suggested that...
>>>>
>>>> @Sebastian, you say you checked, didn't you?
>>>> What did you do exactly to check?
>>>
>>> I tried the following :
>>>
>>> - change any occurrence of 'sed' to ${SED} in build-aux/mk-octave-config-h.sh
>>> - ln -s /usr/local/bin/gsed /usr/local/bin/sed
>>> - ./configure SED=/usr/local/bin/gsed
>>>
>>> but still the macros to not appear in octave-config-h
>>>
>>> c.
>>
>> I checked on my machine, too. Configure reports "checking for a usable sed... /usr/local/opt/gnu-sed/bin/gsed". So it should be correct? Any other idea?
>
> That is not enough in this case. That confirms that the variable SED is
> set to gsed, but what happens if a script doesn't use it and calls sed
> directly?
>
> Please try building from scratch with the attached patch.

Yes, the patch works! Indeedm Carlo and you were right. I hope the patch goes straight into 4.2rc2 :)

Bye
Sebastian
Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

Mike Miller-4
On Sat, Sep 10, 2016 at 15:09:30 +0200, Sebastian wrote:
> Yes, the patch works! Indeedm Carlo and you were right. I hope the patch goes straight into 4.2rc2 :)

Done

http://hg.savannah.gnu.org/hgweb/octave/rev/6f5cde55e225

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: odepkg on Mac (was: Octave 4.2.0 release candidate 1 available for ftp)

marco atzeri-2
In reply to this post by kingcrimson
On 09/09/2016 20:18, c. wrote:

>
> On 9 Sep 2016, at 20:01, Sebastian <[hidden email]> wrote:
>
>>> With the released package version 0.8.5 or the latest sources from hg?
>> Please install from the repository, the old 0.8.5 is broken with Octave >=4.1 (I think the odepkg repository is git but this doesn't matter anyway).
> No, it is actually mercurial: http://hg.code.sf.net/p/octave/odepkg
>
>> @Carlo: can you release a beta version of odepkg such that testers can just download it?
> it is available here:
> https://gitserver.mate.polimi.it/redmine/attachments/download/30/odepkg-0.9.1.tar.gz
>
>> Bye
>> Sebastian
> c.
>

any more recent version to test ?

I am updating all packages for 4.2.0 on cygwin.

Regards
Marco