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

 
 

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

Submitter:  Rafael López <rlopez>
Submitted:  Thu 31 Mar 2016 04:16:26 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Works For Me Assigned to:  None
Originator Name:  Rafael López 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

Thu 11 Apr 2019 01:50:07 PM UTC, comment #12: 

sorry for the noise it is closed.

Doug Stewart <dastew>
Thu 11 Apr 2019 01:42:06 PM UTC, comment #11: 

I believe this can be closed.

Doug Stewart <dastew>
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>
Group Member
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>
Group Member
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>
Group Member
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:


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


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>
Group Member
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>
Group administrator
Thu 31 Mar 2016 07:37:06 PM UTC, comment #1: 

This is another manifestation of bug #47073.

Rik <rik5>
Group 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 Files:
   
   
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
  • -email is unavailable- added by dastew (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by rlopez (Submitted 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 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-04-11 mtmiller Carbon-CopyRemoved 80942 -
    2016-04-29 mtmiller Open/ClosedOpen Closed
    2016-04-03 rlopez Attached File- Added oct-parse.cc, #36828
    2016-03-31 mtmiller StatusDuplicate Works For Me
        Releaseother dev
    2016-03-31 rik5 StatusNone 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.13-02a9.
    Corresponding source code