Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#8130 closed bug (duplicate)

Building hrev43271 in alpha 3 and hrev43255 fails

Reported by: taos Owned by: bonefish
Priority: normal Milestone: R1
Component: Build System Version: R1/alpha3
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Using hrev42211 (R1 alpha 3) and hrev43255 (both gcc2hybrid).

Building hrev43271 as gcc2hybrid fails with:

...failed Link /GIT/haiku/generated-gcc4/objects/haiku/x86/release/add-ons/translators/exr/openexr/ilmimf/libilmimf.so ...

Terminal output is attached for alpha3 ("alpha3_build_failure.txt") and hrev43255 ("hrev43255_build_failure.txt").

Attachments (2)

alpha3_build_failure.txt (527.1 KB ) - added by taos 8 years ago.
Terminal output when building in R1 alpha 3.
hrev43255_build_failure.txt (511.7 KB ) - added by taos 8 years ago.
Terminal output when building in hrev43255.

Download all attachments as: .zip

Change History (7)

by taos, 8 years ago

Attachment: alpha3_build_failure.txt added

Terminal output when building in R1 alpha 3.

by taos, 8 years ago

Attachment: hrev43255_build_failure.txt added

Terminal output when building in hrev43255.

comment:1 by Disreali, 8 years ago

Currently, you can't build hybrids on Haiku. This is caused by a problem with our gcc4 which is already a known issue.

This ticket is most likely a duplicate of ticket:7824.

comment:2 by bonefish, 8 years ago

Resolution: duplicate
Status: newclosed

Closing as duplicate of #7792 or #8093. The problem is that either your Haiku has not been built correctly (first ticket) or you didn't install gcc 4.5 correctly (second ticket). In the first case the only correct method of building Haiku is cross-compilation. Unfortunately that method is broken for Haiku as the build platform (#7824).

comment:3 by taos, 8 years ago

That's strange because all these tickets predate hrev43255 which was successfully built in alpha3 after the migration to git. How was it possible to build a gcc2hybrid in haiku at all?

comment:4 by bonefish, 8 years ago

The optional gcc 4 package was updated to 4.5 in hrev42292. From that point on, a correct Haiku could only be built with gcc 4.5. Assuming that you used an unmodified alpha 3 to build hrev43255, you were using gcc 4.4, though. This would result in an Haiku installation with a libstdc++ stemming from the gcc 4.4 build tools, but headers from 4.5. The installation itself would work, but C++ code built with the installed compiler would possibly fail to link correctly (which is the error you encountered).

I can't say why you get the same error when building on alpha 3 now. The error is a result of the aforementioned version mismatch between C++ headers (4.5) and libstdc++ (4.4). The output suggests you're building with gcc 4.4, so I wonder where the 4.5 headers would come from. Maybe you tried to update the gcc? At any rate, alpha 3 is done. We can't fix any problem now and AFAIK building Haiku from a current Haiku works fine. I haven't tried recently, but #8093 at least suggests that it works when the compiler versions match.

This version issue is a bit unfortunate and it is only an issue anyway, since the correct way of building on Haiku is broken ATM (due to #7824).

comment:5 by taos, 8 years ago

Thanks for the clarification! I usually use two different haiku installations (one alpha3, one with a recent nightly) to build new image files - so far, I've had no problems with both - but from now on I'll make sure that headers and libstdc++ match.

Note: See TracTickets for help on using tickets.