Fortran libraries in odepkg (Octave 4.1.0+)

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

Fortran libraries in odepkg (Octave 4.1.0+)

Sebastian Schöps
Dear Carlo,

I have seen that you started fixing the fortran libraries in the devel-branch of odepkg. Is it already supposed to work? See below the output of a recent Octave 4.1.0+.

Thanks,
Sebastian

> octave:1> pkg install odepkg.tar.gz
> In file included from odepkg_octsolver_mebdfdae.cc:45:
> /usr/local/Cellar/octave/HEAD-469c817eb2560e93208a10b267c35c4bccd46bf3/include/octave-4.1.0+/octave/f77-fcn.h:327:2: error: "unknown C++ to Fortran calling convention"
> #error "unknown C++ to Fortran calling convention"
>  ^
> /usr/local/Cellar/octave/HEAD-469c817eb2560e93208a10b267c35c4bccd46bf3/include/octave-4.1.0+/octave/f77-fcn.h:362:1: error: unknown type name 'F77_RET_T'
> F77_RET_T
> ^
> /usr/local/Cellar/octave/HEAD-469c817eb2560e93208a10b267c35c4bccd46bf3/include/octave-4.1.0+/octave/f77-fcn.h:363:11: error: C++ requires a type specifier for all declarations
> F77_FUNC (xstopx, XSTOPX) (F77_CONST_CHAR_ARG_DECL
>           ^
> /usr/local/Cellar/octave/HEAD-469c817eb2560e93208a10b267c35c4bccd46bf3/include/octave-4.1.0+/octave/f77-fcn.h:363:19: error: unknown type name 'XSTOPX'
> F77_FUNC (xstopx, XSTOPX) (F77_CONST_CHAR_ARG_DECL
>                   ^
> /usr/local/Cellar/octave/HEAD-469c817eb2560e93208a10b267c35c4bccd46bf3/include/octave-4.1.0+/octave/f77-fcn.h:363:28: error: unknown type name 'F77_CONST_CHAR_ARG_DECL'
> F77_FUNC (xstopx, XSTOPX) (F77_CONST_CHAR_ARG_DECL
>                            ^
> /usr/local/Cellar/octave/HEAD-469c817eb2560e93208a10b267c35c4bccd46bf3/include/octave-4.1.0+/octave/f77-fcn.h:363:10: error: function cannot return function type 'int (int)'
> F77_FUNC (xstopx, XSTOPX) (F77_CONST_CHAR_ARG_DECL
>          ^
> odepkg_octsolver_mebdfdae.cc:65:3: error: unknown type name 'F77_RET_T'
>   F77_RET_T F77_FUNC (mebdf, MEBDF) // 3 arguments per line
>   ^
> odepkg_octsolver_mebdfdae.cc:65:23: error: C++ requires a type specifier for all declarations
>   F77_RET_T F77_FUNC (mebdf, MEBDF) // 3 arguments per line
>                       ^
> odepkg_octsolver_mebdfdae.cc:65:30: error: unknown type name 'MEBDF'
>   F77_RET_T F77_FUNC (mebdf, MEBDF) // 3 arguments per line
>                              ^
> odepkg_octsolver_mebdfdae.cc:65:22: error: function cannot return function type 'int (const octave_idx_type &, const double &, const double &, const double *, const double &,
>       const double &, const octave_idx_type &, octave_idx_type &, const octave_idx_type &, const octave_idx_type &, const double *, const octave_idx_type &, const
>       octave_idx_type *, const octave_idx_type *, const octave_idx_type *, const octave_idx_type &, const octave_idx_type &, const double *, const double *, const double *,
>       const octave_idx_type *, odepkg_mebdfdae_usrtype, odepkg_mebdfdae_jactype, odepkg_mebdfdae_masstype, octave_idx_type &)' (aka 'int (const int &, const double &, const
>       double &, const double *, const double &, const double &, const int &, int &, const int &, const int &, const double *, const int &, const int *, const int *, const int
>       *, const int &, const int &, const double *, const double *, const double *, const int *, int (*)(const int &, const double &, const double *, double *, const int *,
>       const double *, const int &), int (*)(const double &, const double *, double *, const int &, const int &, const int *, const double *, const int &), int (*)(const int &,
>       double *, const int *, const double *, const int *, const int &), int &)')
>   F77_RET_T F77_FUNC (mebdf, MEBDF) // 3 arguments per line
>                      ^
> odepkg_octsolver_mebdfdae.cc:602:13: error: use of undeclared identifier 'mebdf'
>   F77_XFCN (mebdf, MEBDF, // Keep 5 arguments per line here
>             ^
> odepkg_octsolver_mebdfdae.cc:602:20: error: use of undeclared identifier 'MEBDF'
>   F77_XFCN (mebdf, MEBDF, // Keep 5 arguments per line here
>                    ^
> odepkg_octsolver_mebdfdae.cc:632:17: error: use of undeclared identifier 'mebdf'
>       F77_XFCN (mebdf, MEBDF, // Keep 5 arguments per line here
>                 ^
> odepkg_octsolver_mebdfdae.cc:632:24: error: use of undeclared identifier 'MEBDF'
>       F77_XFCN (mebdf, MEBDF, // Keep 5 arguments per line here
>                        ^
> odepkg_octsolver_mebdfdae.cc:679:17: error: use of undeclared identifier 'mebdf'
>       F77_XFCN (mebdf, MEBDF, // Keep 5 arguments per line here
>                 ^
> odepkg_octsolver_mebdfdae.cc:679:24: error: use of undeclared identifier 'MEBDF'
>       F77_XFCN (mebdf, MEBDF, // Keep 5 arguments per line here
>                        ^
> 16 errors generated.
> make: *** [odepkg_octsolver_mebdfdae.o] Error 1
> Unpacking external packages: hairer.tgz
> Unpacking external packages: cash.tgz
> Unpacking external packages: daskr.tgz
> Applying patches from file: hairer.diff
> Applying patches from file: cash.diff
> (Stripping trailing CRs from patch.)
> patching file cash/mebdfdae.f
> (Stripping trailing CRs from patch.)
> patching file cash/mebdfi.f
> Applying patches from file: daskr.diff
> (Stripping trailing CRs from patch.)
> patching file daskr/ddaskr.f
> (Stripping trailing CRs from patch.)
> patching file daskr/dlinpk.f
> /usr/local/Cellar/octave/HEAD-469c817eb2560e93208a10b267c35c4bccd46bf3/bin/mkoctfile-4.1.0+ -c odepkg_octsolver_mebdfdae.cc -o odepkg_octsolver_mebdfdae.o
>
> pkg: error running `make' for the odepkg package.
> error: called from
>     install at line 200 column 5
>     pkg at line 392 column 9
> octave:1>
>


Reply | Threaded
Open this post in threaded view
|

Re: Fortran libraries in odepkg (Octave 4.1.0+)

Carlo de Falco-2

On 9 Aug 2016, at 14:12, Sebastian <[hidden email]> wrote:

> Dear Carlo,
>
> I have seen that you started fixing the fortran libraries in the devel-branch of odepkg. Is it already supposed to work? See below the output of a recent Octave 4.1.0+.
>
> Thanks,
> Sebastian

Hi,

I tried with Octave HGID 7a6279f4018f and odepkg HGID 3f74a6.
I get a warning about help stirngs (jacopo has been working to fix this ...)
but no error:

but no error:

>> version
ans = 4.1.0+
>> (octave_config_info).hg_id
ans = 7a6279f4018f
>> pkg install odepkg.tar.gz
warning: doc_cache_create: unusable help text found in file 'dldsolver'
For information about changes from previous versions of the odepkg package, run 'news odepkg'.

My latest changes to odepkg were meant to deal with changes introduced in Octave here:
http://hg.savannah.gnu.org/hgweb/octave/rev/a51d5c5c71e6

the fix seems to be enough for g++, if you still see problems I am afraid that might
be related to cang++ only ...

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

Re: Fortran libraries in odepkg (Octave 4.1.0+)

Jacopo Corno

Dear Carlo,


On 18/08/2016 17:05, Carlo De Falco wrote:
On 9 Aug 2016, at 14:12, Sebastian [hidden email] wrote:

Dear Carlo, 

I have seen that you started fixing the fortran libraries in the devel-branch of odepkg. Is it already supposed to work? See below the output of a recent Octave 4.1.0+. 

Thanks,
Sebastian 
Hi,

I tried with Octave HGID 7a6279f4018f and odepkg HGID 3f74a6.
I get a warning about help stirngs (jacopo has been working to fix this ...)
but no error:

but no error:

version
ans = 4.1.0+
(octave_config_info).hg_id
ans = 7a6279f4018f
pkg install odepkg.tar.gz 
warning: doc_cache_create: unusable help text found in file 'dldsolver'
For information about changes from previous versions of the odepkg package, run 'news odepkg'.

My latest changes to odepkg were meant to deal with changes introduced in Octave here:
http://hg.savannah.gnu.org/hgweb/octave/rev/a51d5c5c71e6

the fix seems to be enough for g++, if you still see problems I am afraid that might
be related to cang++ only ...

I get the same error as Sebastian and Marco

mkoctfile: no way to compile Fortran file cash/mebdfdae.f

with Octave 4.1.0+ (hg_id = 029c5f4eac3a+) and g++ (version 5.3)


c.
Jack

Reply | Threaded
Open this post in threaded view
|

Re: Fortran libraries in odepkg (Octave 4.1.0+)

Carlo de Falco-2

I now get the same as Marco I didn't before because I had set explicitly the value of F77 in my environment.


Il 19 ago 2016 10:42 AM, "Jacopo Corno" <[hidden email]> ha scritto:

Dear Carlo,


On 18/08/2016 17:05, Carlo De Falco wrote:
On 9 Aug 2016, at 14:12, Sebastian [hidden email] wrote:

Dear Carlo, 

I have seen that you started fixing the fortran libraries in the devel-branch of odepkg. Is it already supposed to work? See below the output of a recent Octave 4.1.0+. 

Thanks,
Sebastian 
Hi,

I tried with Octave HGID 7a6279f4018f and odepkg HGID 3f74a6.
I get a warning about help stirngs (jacopo has been working to fix this ...)
but no error:

but no error:

version
ans = 4.1.0+
(octave_config_info).hg_id
ans = 7a6279f4018f
pkg install odepkg.tar.gz 
warning: doc_cache_create: unusable help text found in file 'dldsolver'
For information about changes from previous versions of the odepkg package, run 'news odepkg'.

My latest changes to odepkg were meant to deal with changes introduced in Octave here:
http://hg.savannah.gnu.org/hgweb/octave/rev/a51d5c5c71e6 the fix seems to be enough for g++, if you still see problems I am afraid that might be related to cang++ only ...

I get the same error as Sebastian and Marco

mkoctfile: no way to compile Fortran file cash/mebdfdae.f

with Octave 4.1.0+ (hg_id = 029c5f4eac3a+) and g++ (version 5.3)


c.
Jack