Bug 1423093 - Coin2: FTBFS in rawhide
Summary: Coin2: FTBFS in rawhide
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Coin2
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ralf Corsepius
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F26FTBFS
TreeView+ depends on / blocked
 
Reported: 2017-02-17 02:46 UTC by Fedora Release Engineering
Modified: 2017-02-17 17:15 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-02-17 17:15:47 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
build.log (960.59 KB, text/plain)
2017-02-17 02:46 UTC, Fedora Release Engineering
no flags Details
root.log (87.73 KB, text/plain)
2017-02-17 02:46 UTC, Fedora Release Engineering
no flags Details
state.log (615 bytes, text/plain)
2017-02-17 02:46 UTC, Fedora Release Engineering
no flags Details

Description Fedora Release Engineering 2017-02-17 02:46:00 UTC
Your package Coin2 failed to build from source in current rawhide.

https://koji.fedoraproject.org/koji/taskinfo?taskID=17699598

For details on mass rebuild see https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

Comment 1 Fedora Release Engineering 2017-02-17 02:46:07 UTC
Created attachment 1251048 [details]
build.log

Comment 2 Fedora Release Engineering 2017-02-17 02:46:10 UTC
Created attachment 1251049 [details]
root.log

Comment 3 Fedora Release Engineering 2017-02-17 02:46:13 UTC
Created attachment 1251050 [details]
state.log

Comment 4 Jonathan Wakely 2017-02-17 11:15:29 UTC
Fails to build because developers don't understand the difference between pointers and characters:

SoStream.cpp: In member function 'virtual SbBool SoStream::readInt8(int8_t&)':
SoStream.cpp:183:7: error: invalid conversion from 'char' to 'char*' [-fpermissive]
   s = '\0'; \
       ^

This should presumably be s = NULL or simply s = 0

Comment 5 Jonathan Wakely 2017-02-17 12:12:27 UTC
Coin3 was patched to do s = NULL; which is what older versions of GCC interpreted the code to do, but I think that's a bug in Coin. I've reported it as https://bitbucket.org/Coin3D/coin/issues/132/compilation-errors-with-gcc-7

Comment 6 Ralf Corsepius 2017-02-17 13:23:56 UTC
(In reply to Jonathan Wakely from comment #5)
> Coin3 was patched to do s = NULL; which is what older versions of GCC
> interpreted the code to do, but I think that's a bug in Coin.
Yep, I decided to go with s = NULL in Coin3, because I came to the same conclusion, as you, and wanted to stay "bugward"-compatible as much as possible, but haven't yet applied a corresponding patch to Coin2.

BTW, IIRC, the original reason for this '\0' was finding a "compromise" between char* = NULL, char* = 0, char* = '\0', which was accepted by both SGI's c++ and g++ and different implementations of NULL ( e.g. (char*)0 vs. (void*)0 ).

> I've reported
> it as
> https://bitbucket.org/Coin3D/coin/issues/132/compilation-errors-with-gcc-7
Thanks. Coin4 (which is what is in bitbucket) has the same problem ;)

Comment 7 Jonathan Wakely 2017-02-17 14:09:22 UTC
(In reply to Ralf Corsepius from comment #6)
> conclusion, as you, and wanted to stay "bugward"-compatible as much as

That's a great term.

> BTW, IIRC, the original reason for this '\0' was finding a "compromise"
> between char* = NULL, char* = 0, char* = '\0', which was accepted by both
> SGI's c++ and g++ and different implementations of NULL ( e.g. (char*)0 vs.
> (void*)0 ).

Ah, interesting! Good to know.

Comment 8 Ralf Corsepius 2017-02-17 14:22:16 UTC
(In reply to Jonathan Wakely from comment #7)
> (In reply to Ralf Corsepius from comment #6)
> > conclusion, as you, and wanted to stay "bugward"-compatible as much as
> 
> That's a great term.
I originally heard this term on some auto*tools list many (>>10) years ago ;)

> > BTW, IIRC, the original reason for this '\0' was finding a "compromise"
> > between char* = NULL, char* = 0, char* = '\0', which was accepted by both
> > SGI's c++ and g++ and different implementations of NULL ( e.g. (char*)0 vs.
> > (void*)0 ).
> 
> Ah, interesting! Good to know.
FWIW: I used to be a community contributor to Coin during the Coin1 and Coin2 phase. Esp. during the early Coin days (Coin1), the primary devs @sim.no primarily used IRIX boxes, because their goal for Coin was to implement a free replacement for then-CSS/commercial SGI-Inventor.

Comment 9 Ralf Corsepius 2017-02-17 17:15:47 UTC
Patch analogous to what I had applied to Coin3 applied.


Note You need to log in before you can comment on or make changes to this bug.