bugGNU Octave - Bugs: bug #47586, Duplicate signbit declarations on...

 
 

bug #47586: Duplicate signbit declarations on development branch with gcc 4.9.2

Submitted by:  Rafael López <rlopez>
Submitted on:  Thu 31 Mar 2016 04:16:26 PM UTC  
 
Category: Configuration and Build SystemSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Build Failure
Status: Works For MeAssigned to: None
Originator Name: Rafael LópezOpen/Closed: Closed
Release: devOperating System: GNU/Linux

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Sun 03 Apr 2016 03:48:34 PM UTC, comment #10:

If that's the file that produced the errors you showed in comment #6, then something really strange is going on that I can't help much with. The file clearly has defined yylex and yypstate at the top, so all the errors shown should not occur.

Mike Miller <mtmiller>
Project Administrator
Sun 03 Apr 2016 03:28:56 PM UTC, comment #9:

I have installed the bison included in the distribution:
version 3.0.4

I am uploading the libinterp/parse-tree/oct-parse.cc generated with octave-4.1.0+

(file #36828)

Rafael López <rlopez>
Sun 03 Apr 2016 03:16:51 PM UTC, comment #8:

We have at least one developer working on Mageia 5, so I would think it should be possible, but no personal experience.

The bison errors you got are also curious, what version of bison is on your Mageia system? Can you attach the libinterp/parse-tree/oct-parse.cc file that was generated?

Mike Miller <mtmiller>
Project Administrator
Sun 03 Apr 2016 03:09:08 PM UTC, comment #7:

I have tried with the tarball in a different platform with Ubuntu 15.10 and gcc 5.2.1

It installs and works fine.

Since you reported that it also works in Debian stable with gcc 4.9.2., I conclude that the reported problems can be related to my installation of Mageia 5 distribution.

Rafael López <rlopez>
Fri 01 Apr 2016 01:20:40 PM UTC, comment #6:

This morning I downloaded a fresh tarball from the wiki link and the same problem appeared.

I have also cloned from mercurial with:

hg clone http://hg.savannah.gnu.org/hgweb/octave/

and tried to build following your recipe:

./bootstrap
mkdir .build
cd .build
../configure
make

I got the following error:

CXX libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-oct-parse.lo
libinterp/parse-tree/oct-parse.cc: In function 'int yyparse(octave_base_parser&)':
libinterp/parse-tree/oct-parse.cc:3096:39: error: 'yylex' was not declared in this scope
yychar = yylex (&yylval, scanner);
^
libinterp/parse-tree/oct-parse.yy: In constructor 'octave_base_parser::octave_base_parser(octave_base_lexer&)':
libinterp/parse-tree/oct-parse.yy:2032:61: error: 'yypstate_new' was not declared in this scope
stmt_list (0), lexer (lxr), parser_state (yypstate_new ())
^
libinterp/parse-tree/oct-parse.yy: In destructor 'octave_base_parser::~octave_base_parser()':
libinterp/parse-tree/oct-parse.yy:2049:32: error: 'yypstate' does not name a type
yypstate_delete (static_cast<yypstate *> (parser_state));
^
libinterp/parse-tree/oct-parse.yy:2049:41: error: expected '>' before '*' token
yypstate_delete (static_cast<yypstate *> (parser_state));
^
libinterp/parse-tree/oct-parse.yy:2049:41: error: expected '(' before '*' token
libinterp/parse-tree/oct-parse.yy:2049:42: error: expected primary-expression before '>' token
yypstate_delete (static_cast<yypstate *> (parser_state));
^
libinterp/parse-tree/oct-parse.yy: In member function 'void octave_base_parser::reset()':
libinterp/parse-tree/oct-parse.yy:2073:32: error: 'yypstate' does not name a type
yypstate_delete (static_cast<yypstate *> (parser_state));
^
libinterp/parse-tree/oct-parse.yy:2073:41: error: expected '>' before '*' token
yypstate_delete (static_cast<yypstate *> (parser_state));
^
libinterp/parse-tree/oct-parse.yy:2073:41: error: expected '(' before '*' token
libinterp/parse-tree/oct-parse.yy:2073:42: error: expected primary-expression before '>' token
yypstate_delete (static_cast<yypstate *> (parser_state));
^
libinterp/parse-tree/oct-parse.yy:2074:32: error: 'yypstate_new' was not declared in this scope
parser_state = yypstate_new ();
^
libinterp/parse-tree/oct-parse.yy: In member function 'int octave_parser::run()':
libinterp/parse-tree/oct-parse.yy:4032:3: error: 'yypstate' was not declared in this scope
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4032:13: error: 'pstate' was not declared in this scope
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4032:34: error: 'yypstate' does not name a type
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4032:43: error: expected '>' before '*' token
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4032:43: error: expected '(' before '*' token
libinterp/parse-tree/oct-parse.yy:4032:44: error: expected primary-expression before '>' token
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4032:60: error: expected ')' before ';' token
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4036:48: error: 'octave_pull_parse' was not declared in this scope
status = octave_pull_parse (pstate, *this);
^
libinterp/parse-tree/oct-parse.yy: In member function 'int octave_push_parser::run(const string&, bool)':
libinterp/parse-tree/oct-parse.yy:4092:7: error: 'yypstate' was not declared in this scope
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4092:17: error: 'pstate' was not declared in this scope
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4092:38: error: 'yypstate' does not name a type
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4092:47: error: expected '>' before '*' token
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4092:47: error: expected '(' before '*' token
libinterp/parse-tree/oct-parse.yy:4092:48: error: expected primary-expression before '>' token
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4092:64: error: expected ')' before ';' token
yypstate pstate = static_cast<yypstate > (parser_state);
^
libinterp/parse-tree/oct-parse.yy:4096:66: error: 'octave_push_parse' was not declared in this scope
status = octave_push_parse (pstate, token, &lval, *this);
^
libinterp/parse-tree/oct-parse.yy:4121:20: error: 'YYPUSH_MORE' was not declared in this scope
while (status == YYPUSH_MORE);
^
Makefile:19044: recipe for target 'libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-oct-parse.lo' failed
make[2]: *** [libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-oct-parse.lo] Error 1
make[2]: Leaving directory '/scratch/octave_mercurial/octave/.build'
Makefile:25358: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/scratch/octave_mercurial/octave/.build'
Makefile:9671: recipe for target 'all' failed
make: *** [all] Error 2

Rafael López <rlopez>
Thu 31 Mar 2016 09:39:15 PM UTC, comment #5:

I have downloaded the source snapshot from the wiki link and I am still able to build on Debian stable with gcc 4.9.2.

Can you please try downloading another copy of the source tarball and building again? It's a daily build and the tarball may be different every time you download it. You may have gotten a bad build.

Mike Miller <mtmiller>
Project Administrator
Thu 31 Mar 2016 09:18:46 PM UTC, comment #4:

I downloaded the tarball form this webpage:

http://wiki.octave.org/Continuous_Build#Snapshot_Source_Tarball

In the link provided in the following paragraph:

Snapshot Source Tarball
A nice product of the Hydra continuous build of Octave is that there is always a "source snapshot" available for download...

Rafael López <rlopez>
Thu 31 Mar 2016 08:49:20 PM UTC, comment #3:

I am able to build on Debian stable with gcc 4.9.2.

When you say you are building the development version, can you confirm that you are building from an up-to-date hg clone and running the following:

If you got the Octave development sources from somewhere else, please let us know what the source is and we can see what's going on there.

Mike Miller <mtmiller>
Project Administrator
Thu 31 Mar 2016 08:10:24 PM UTC, comment #2:

Rafael: Where did you get "the tarball"? As far as I know, we are not distributing development sources in tar files. They are only available from the Mercurial archive.

John W. Eaton <jwe>
Project Administrator
Thu 31 Mar 2016 07:37:06 PM UTC, comment #1:

This is another manifestation of bug #47073.

Rik <rik5>
Project Administrator
Thu 31 Mar 2016 04:16:26 PM UTC, original submission:

Platform: Linux 64 bits
Distribution: Mageia 5
Desktop: 4.14.5
gcc version: 4.9.2

I have tried to install development version of octave-4.1.0+ from the tarball but the make failed giving the following message:

CXX liboctave/util/liboctave_util_libutil_la-sparse-util.lo
In file included from /usr/include/suitesparse/SuiteSparse_config.h:47:0,
from /usr/include/suitesparse/amd.h:46,
from liboctave/util/oct-sparse.h:29,
from liboctave/util/sparse-util.cc:31:
libgnu/math.h: In function 'int signbit(double)':
libgnu/math.h:2577:1: error: conflicting declaration of C function 'int
signbit(double)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
^
libgnu/math.h:2577:1: note: previous declaration 'int signbit(float)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
^
libgnu/math.h: In function 'int signbit(long double)':
libgnu/math.h:2577:1: error: conflicting declaration of C function 'int
signbit(long double)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
^
libgnu/math.h:2577:1: note: previous declaration 'int signbit(double)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
^
libgnu/math.h:2577:1: error: conflicting declaration of C function 'int
signbit(long double)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
^
libgnu/math.h:2577:1: note: previous declaration 'int signbit(float)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)

Configure displayed some warnings:

configure: WARNING: CAMD library not found. This will result in some lack of
functionality for sparse matrices.
configure: WARNING: COLAMD library not found. This will result in some lack
of functionality for sparse matrices.
configure: WARNING: CCOLAMD library not found. This will result in some lack
of functionality for sparse matrices.

Since I don't know whether they may have any relation with the error, I tried
configure using options:

--with-amd-includedir=/usr/include/suisparse
--with-amd-libdir=/usr/lib64
etc.

and using the respective --without-... options.

Nothing changed in either case. The error abode.

I had been able to install octave-4.0.1 in the same platform (same compilers, same autotools version, etc) without problems.

Rafael López <rlopez>

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #36828:  oct-parse.cc added by rlopez (315KiB - plain/text)

 

Digest:
   bug dependencies.

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by jwe (Posted a comment)
  • -unavailable- added by rik5 (Posted a comment)
  • -unavailable- added by rlopez (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 7 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 29 Apr 2016 09:36:12 PM UTCmtmillerOpen/ClosedOpen=>Closed
    Sun 03 Apr 2016 03:28:56 PM UTCrlopezAttached File-=>Added oct-parse.cc, #36828
    Thu 31 Mar 2016 08:49:20 PM UTCmtmillerStatusDuplicate=>Works For Me
      Releaseother=>dev
    Thu 31 Mar 2016 07:37:06 PM UTCrik5StatusNone=>Duplicate
      SummaryFailure in make of octave-4.1.0+ (development version)=>Duplicate signbit declarations on development branch with gcc 4.9.2
      Dependencies-=>Depends on bugs #47073

    Back to the top


    Powered by Savane 3.1-cleanup1