bugGNU Octave - Bugs: bug #59159, [octave forge] (gsl) Installation...

 
 

bug #59159: [octave forge] (gsl) Installation error using clang

Submitter:  None
Submitted:  Tue 22 Sep 2020 06:17:48 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Installation Failure
Status:  Duplicate Assigned to:  None
Originator Name:  Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * dev
Operating System:  * GNU/Linux Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Wed 11 Jan 2023 09:48:54 AM UTC, comment #9: 

closing as duplicate of bug #61668.

Carlo de Falco <cdf>
Group Member
Wed 16 Nov 2022 12:06:30 PM UTC, comment #8: 
Marius Schamschula <mschamschula>
Wed 16 Nov 2022 09:57:47 AM UTC, comment #7: 

this patch seems to fix the compilations issues with clang++ on macosx for me


--- configure.ac.bak        2022-11-16 10:49:42.000000000 +0100
+++ configure.ac        2022-11-16 10:50:11.000000000 +0100
@@ -86,7 +86,7 @@ AC_COMPILE_IFELSE(
   [AC_LANG_SOURCE(
      [[
 #include "ov-scalar.h"
-main()
+int main()
 {
   octave_scalar x (1.234);
   bool y = x.isreal ();
@@ -106,7 +106,7 @@ AC_COMPILE_IFELSE(
 #include "ov-scalar.h"
 #include "ovl.h"
 #include "parse.h"
-main()
+int main()
 {
   octave_value_list ovl = octave::feval ("sin", octave_value (1.234));
   return 0;


Carlo de Falco <cdf>
Group Member
Thu 18 Aug 2022 07:14:54 AM UTC, comment #6: 

I am using octave provided by homebrew on an M1 Mac.
The package gsl is successfully installed by running the following command in the terminal (not in the octave).




env CPPFLAGS='-DOCTAVE_HAS_OV_ISREAL_METHOD -DOCTAVE_HAS_FEVAL_IN_OCTAVE_NAMESPACE' CXXFLAGS=-I/opt/homebrew/include LDFLAGS=-L/opt/homebrew/lib octave --eval='pkg install -forge gsl'

Anonymous
Sat 19 Dec 2020 07:15:42 PM UTC, comment #5: 

By "check for them" I meant check for those features and define the macros in its own build system.

John W. Eaton <jwe>
Group administrator
Sat 19 Dec 2020 07:14:45 PM UTC, comment #4: 

Were the macros

OCTAVE_HAS_OV_ISREAL_METHOD
OCTAVE_HAS_FEVAL_IN_OCTAVE_NAMESPACE

ever defined in an Octave config file?  I suspect those were used by an external package, not defined by Octave itself, and that the gsl package was supposed to check for them in its configure script.


John W. Eaton <jwe>
Group administrator
Fri 18 Dec 2020 10:47:31 PM UTC, comment #3: 

Apparently, it doesn't check for OCTAVE_HAS_OV_ISREAL_METHOD either...

See: https://github.com/macports/macports-ports/commit/ee3838a933bc94c79f560a8d94c5ab9502532d85

Marius Schamschula <mschamschula>
Fri 18 Dec 2020 10:25:17 PM UTC, comment #2: 

Unfortunately, switching compilers is not an option under macOS, as gcc links to an incompatible clib. We only use gcc for Fortran.

BTW:octave 6.1.0 has OCTAVE_HAS_FEVAL_IN_OCTAVE_NAMESPACE, but configure doesn't check for it or set it.

Marius Schamschula <mschamschula>
Tue 22 Sep 2020 07:51:16 PM UTC, comment #1: 

Using an idea from Bug #59160, this problem only happens on building with Clang and not with GCC. Changed compiler to GCC and this package builds properly! Thank you to Markus Mützel.

Anonymous
Tue 22 Sep 2020 06:17:48 PM UTC, original submission:  


octave:7> pkg install -forge gsl
gsl_sf.cc:53:3: error: use of undeclared identifier 'feval'; did you mean 'octave::feval'?
  feval ("help", octave_value ("gsl_sf"));
  ^~~~~
  octave::feval
/usr/local/include/octave-7.0.0/octave/../octave/parse.h:700:3: note: 'octave::feval' declared here
  feval (const char *name,
  ^
gsl_sf.cc:124:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:222:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:317:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:412:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:510:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:608:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:706:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:804:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:902:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:1000:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:1098:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:1196:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:1294:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:1392:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:1497:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:1592:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:1687:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
gsl_sf.cc:1782:11: error: no member named 'is_real_type' in 'octave_value'
    if (! ISREAL(args(i)))
          ^~~~~~~~~~~~~~~
gsl_sf.cc:32:24: note: expanded from macro 'ISREAL'
#define ISREAL(x) ((x).is_real_type ())
                   ~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Makefile:29: gsl_sf.oct] Error 1
make: Entering directory '/tmp/oct-ZYKJWT/gsl-2.1.1/src'
/usr/local/bin/mkoctfile-7.0.0  gsl_sf.cc -lgsl
make: Leaving directory '/tmp/oct-ZYKJWT/gsl-2.1.1/src'

error: pkg: error running 'make' for the gsl package.
error: called from
    configure_make at line 110 column 9
    install at line 196 column 7
    pkg at line 568 column 9


Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Digest:
   bug dependencies.

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by cdf (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by mschamschula (Posted a comment)
  • -email is unavailable- added by mschamschula
  • -email is unavailable- added by siko1056 (Updated the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-01-11 mmuetzel Dependencies- Depends on bugs #61668
    2023-01-11 cdf StatusNone Duplicate
        Open/ClosedOpen Closed
    2020-12-18 mschamschula Carbon-Copy- Added mschamschula
    2020-09-23 siko1056 Item GroupUnexpected Error or Warning Installation Failure
    2020-09-23 siko1056 CategoryNone Octave Package
    2020-09-23 siko1056 Summary[Forge] Error installing gsl package, namespace collisions [octave forge] (gsl) Installation error using clang

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code