Ticket #499 (closed patch: fixed)

Opened 6 years ago

Last modified 6 years ago

Build failure on OpenBSD 4.5-beta

Reported by: darbelo Owned by:
Priority: major Milestone:
Component: core Version: trunk
Severity: high Keywords: OpenBSD
Cc: Language:
Patch status: applied Platform: openbsd

Description

As of 4.5-beta, OpenBSD's libm now has IEEE behabiour by default on atan2(), an no longer #defines _IEEE_, which causes an error building config/gen/platform/openbsd/math.c, the attached patch fixes things for me on OpenBSD i386 and should retain compatibility with older versions. "make test" passes.

Attachments

ieee-atan2.patch Download (376 bytes) - added by darbelo 6 years ago.

Change History

Changed 6 years ago by darbelo

  Changed 6 years ago by jkeenan

  • keywords OpenBSD added

  Changed 6 years ago by jkeenan

darbelo, a related question: Would you be able to provide us with regular  smoke reports at our Smolder server?

Our smoke reports for OpenBSD are very intermittent. If one tester's box is up, we get them hourly. If not, we can go days or weeks without such reports.

Such reports would be of considerable aid in handling the two or three tests -- including this one -- where OpenBSD has always failed (and the other *BSDs have not).

It's as simple as saying make smolder_test where you would normally say make test.

Thank you very much.
kid51

in reply to: ↑ description ; follow-up: ↓ 4   Changed 6 years ago by jkeenan

Replying to darbelo:

As of 4.5-beta, OpenBSD's libm now has IEEE behabiour by default on atan2(), an no longer #defines _IEEE_, which causes an error building config/gen/platform/openbsd/math.c,

Could you post the build error you got?

in reply to: ↑ 3   Changed 6 years ago by darbelo

Replying to jkeenan:

Replying to darbelo:

As of 4.5-beta, OpenBSD's libm now has IEEE behabiour by default on atan2(), an no longer #defines _IEEE_, which causes an error building config/gen/platform/openbsd/math.c,

Could you post the build error you got?

Sure:

config/gen/platform/openbsd/math.c:30: error: syntax error before "_LIB_VERSION" config/gen/platform/openbsd/math.c:30: warning: type defaults to int' in declaration of _LIB_VERSION' config/gen/platform/openbsd/math.c:30: error: `_IEEE_' undeclared here (not in a function) config/gen/platform/openbsd/math.c:30: warning: data definition has no type or storage class *** Error code 1

Stop in /home/darbelo/parrot/trunk (line 92 of /usr/share/mk/sys.mk).

This looks to be related to the libm rework that happened after the release of OpenBSD 4.4 (4.5 will be released in may) Just to be clear: Parrot is not at fault here, it is the OS that changed the way it did things.

-- darbelo

  Changed 6 years ago by Infinoid

  • status changed from new to closed
  • resolution set to fixed
  • patch set to applied

Patch applied as r38215. I'm unable to test it here, but the patch is dead simple and it's hard to imagine it breaking anything. Thanks!

Note: See TracTickets for help on using tickets.