Bug 1423093
| Summary: | Coin2: FTBFS in rawhide | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Fedora Release Engineering <releng> | ||||||||
| Component: | Coin2 | Assignee: | Ralf Corsepius <rc040203> | ||||||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
| Severity: | unspecified | Docs Contact: | |||||||||
| Priority: | unspecified | ||||||||||
| Version: | rawhide | CC: | jwakely, rc040203 | ||||||||
| Target Milestone: | --- | ||||||||||
| Target Release: | --- | ||||||||||
| Hardware: | Unspecified | ||||||||||
| OS: | Unspecified | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2017-02-17 17:15:47 UTC | Type: | --- | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Bug Depends On: | |||||||||||
| Bug Blocks: | 1423041 | ||||||||||
| Attachments: |
|
||||||||||
|
Description
Fedora Release Engineering
2017-02-17 02:46:00 UTC
Created attachment 1251048 [details]
build.log
Created attachment 1251049 [details]
root.log
Created attachment 1251050 [details]
state.log
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
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 (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 ;) (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. (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. Patch analogous to what I had applied to Coin3 applied. |