bugGNU Octave - Bugs: bug #43220, libgnu/math.h conflicting...

 
 

bug #43220: libgnu/math.h conflicting declaration of C function 'int signbit(double)'

Submitted by:  None
Submitted on:  Sun 14 Sep 2014 05:42:10 AM UTC  
 
Category: Configuration and Build SystemSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Build Failure
Status: DuplicateAssigned to: Mike Miller <mtmiller>
Originator Name: Originator Email: -unavailable-
Open/Closed: ClosedRelease: dev
Operating System: Any

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)

Fri 22 May 2015 12:44:17 PM UTC, comment #6:

Yes, I just downloaded SuiteSparse 4.3.1 and it looks like it is a bug in SuiteSparse 4.3.x. You will need to either patch one of the SuiteSparse header files or upgrade to a 4.4.x version. I'm going to close this report again since it's not a bug in Octave, it's a bug in the SuiteSparse library that has been fixed. If you need further help diagnosing or fixing this, please mail the help list.

Mike Miller <mtmiller>
Project AdministratorIn charge of this item.
Fri 22 May 2015 12:35:39 PM UTC, comment #5:

Yes, I have the same values.

The two configure output files are config.status and config.h, here's what I have in an unmodified configure of Octave:

It's possible that a bug was introduced in SuiteSparse 4.3.x, but I only have 4.2.x and 4.4.x easily available to me to test with. If it's possible for you to upgrade to 4.4.x, I would try that first and see if the error is resolved.

Mike Miller <mtmiller>
Project AdministratorIn charge of this item.
Fri 22 May 2015 05:32:50 AM UTC, comment #4:

I'm on gcc 4.8.2, Slackware64-14.1, have not tried SuiteSparse 4.4.x yet.

I tried removing AC_CHECK_FUNCS(signbit) and AC_CHECK_DECLS(signbit). The configure test failure goes away, but it still appears to be using gnulib's signbit and the build fails in the same spot.

I have these at the end of config.log, does yours match?

GNULIB_SIGNBIT='1'
REPLACE_SIGNBIT='0'
REPLACE_SIGNBIT_USING_GCC='1'
#define GNULIB_TEST_SIGNBIT 1

It'll be a few days before I can dig into this again.

Anonymous
Thu 21 May 2015 12:11:31 PM UTC, comment #3:

It can be reopened, but you're going to have to provide more information about this failure and how to fix it.

I see the exact same output in config.log and I do not have a compilation failure, so I think the results you are seeing in the configure stage are perfectly natural, this is not enough to indicate what the problem is.

What version of gcc and on what operating system are you building Octave? Have you tried SuiteSparse 4.4.x?

Mike Miller <mtmiller>
Project AdministratorIn charge of this item.
Thu 21 May 2015 06:13:28 AM UTC, comment #2:

I'm seeing this issue with 4.0.0-rc4 and suitesparse 4.3.x even though bug #43063 is closed. Can this be reopened?

More details: I'm thinking there is a problem with detecting if signbit exists, so it falls back to gnulib's implementation which causes more problems.

checking for signbit macro... yes
checking for signbit compiler built-ins... yes
...
checking for std::signbit in <cmath>... yes
checking for std::signbit (float variant) in <cmath>... yes
...
checking for signbit... no
...
checking whether signbit is declared... yes

I'm wondering if the last two are necessary. Here is the one that failed:

configure:70761: checking for signbit
configure:70761: gcc -o conftest -O2 -fPIC -pthread -fopenmp conftest.c -lm >&5
conftest.c:845:6: warning: conflicting types for built-in function 'signbit' [enabled by default]
char signbit ();
^
/tmp/ccoCkqt6.o: In function `main':
conftest.c:(.text.startup+0x7): undefined reference to `signbit'
collect2: error: ld returned 1 exit status

Anonymous
Mon 15 Sep 2014 03:12:28 PM UTC, comment #1:

Thanks for your bug report. This problem is already part of bug #43063 and fixes are under discussion there. Closing as a duplicate.

Mike Miller <mtmiller>
Project AdministratorIn charge of this item.
Sun 14 Sep 2014 05:42:10 AM UTC, original submission:

When compiling on os x 10.9.4, I encountered such errors:

In file included from /usr/local/include/SuiteSparse_config.h:47:0,
from /usr/local/include/amd.h:46,
from ./util/oct-sparse.h:33,
from numeric/sparse-base-chol.h:27,
from numeric/SparseCmplxCHOL.h:27,
from numeric/SparseCmplxCHOL.cc:28:
../libgnu/math.h: In function 'int signbit(double)':
../libgnu/math.h:2576:1: error: conflicting declaration of C function 'int signbit(double)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
^
../libgnu/math.h:2576: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:2576:1: error: conflicting declaration of C function 'int signbit(long double)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
^
../libgnu/math.h:2576:1: note: previous declaration 'int signbit(double)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
^
../libgnu/math.h:2576:1: error: conflicting declaration of C function 'int signbit(long double)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
^
../libgnu/math.h:2576:1: note: previous declaration 'int signbit(float)'
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)

and my configure option is:

./configure --prefix=/usr/local --disable-atomic-refcount --disable-octave-allocator --enable-bounds-check --disable-gui --with-shell=/usr/local/bin/bash --with-framework-opengl --with-lapack="-llapack" --with-colamd-libdir=/usr/local/lib --with-colamd-includedir=/usr/local/include --with-ccolamd-includedir=/usr/local/include --with-ccolamd-libdir=/usr/local/lib --with-arpack-includedir=/usr/local/include --with-arpack-libdir=/usr/local/lib --with-colamd="-lcolamd" --with-ccolamd="-lccolamd" --enable-readline

Anonymous

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #32090:  configured.log added by None (69KiB - application/octet-stream)

 

Digest:
   bug dependencies.

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mtmiller (Posted a comment)
  •  

    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 12 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 22 May 2015 12:44:17 PM UTCmtmillerStatusNeed Info=>Duplicate
      Open/ClosedOpen=>Closed
    Fri 22 May 2015 12:35:38 PM UTCmtmillerAssigned toNone=>mtmiller
      Operating SystemMac OS=>Any
    Thu 21 May 2015 12:11:50 PM UTCmtmillerOpen/ClosedClosed=>Open
    Thu 21 May 2015 12:11:31 PM UTCmtmillerStatusDuplicate=>Need Info
      Release3.8.2=>dev
    Mon 15 Sep 2014 03:12:28 PM UTCmtmillerCategoryPlotting with OpenGL=>Configuration and Build System
      StatusNone=>Duplicate
      Open/ClosedOpen=>Closed
      Dependencies-=>Depends on bugs #43063
    Sun 14 Sep 2014 05:42:11 AM UTCNoneAttached File-=>Added configured.log, #32090

    Back to the top


    Powered by Savane 3.1-cleanup1