Ticket #28803 (closed defect: fixed)
boehmgc 7.1 failed to build on leopard x86_64
| Reported by: | dtakahashi42@… | Owned by: | waqar@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.2 |
| Keywords: | Cc: | jeremyhu@… | |
| Port: | boehmgc |
Description
Since _NONSTD_SOURCE (enabled for platform darwine 9) is incompatible with __LP64__, boehmgc failed to build when x86_64 is enabled.
:info:build /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"gc\" -DPACKAGE_TARNAME=\"gc\" -DPACKAGE_VERSION=\"7.1\" "-DPACKAGE_STRING=\"gc 7.1\"" -DPACKAGE_BUGREPORT=\"Hans.Boehm@hp.com\" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 -DPACKAGE=\"gc\" -DVERSION=\"7.1\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -I./include -I/opt/local/include -fexceptions -I libatomic_ops/src -pipe -O2 -D_NONSTD_SOURCE -arch i386 -arch x86_64 -c allchblk.c -fno-common -DPIC -o .libs/allchblk.o :info:build In file included from /usr/include/sys/_types.h:32, :info:build from /usr/include/_types.h:27, :info:build from /usr/include/stdio.h:64, :info:build from allchblk.c:18: :info:build /usr/include/sys/cdefs.h:275:8: error: #error "Can't define both _NONSTD_SOURCE and any of _DARWIN_C_SOURCE, _XOPEN_SOURCE, _POSIX_C_SOURCE, or __LP64__"
Some manual compilations with different flags shows that a declaration of _XOPEN_SOURCE instead of _NONSTD_SOURCE (same as platform darwin 10) solved this problem on i386 and x86_64. However, to build with -arch ppc seems to require _NONSTD_SOURCE, not _XOPEN_SOURCE (because I don't have ppc mac, I can check only a build phase).
Attachments
Change History
comment:1 Changed 2 years ago by dtakahashi42@…
Here is a Portfile patch. I tested it for i386 and x86_64 architectures and got universal binaries without any problems. This patch also considers the requirement of _NONSTD_SOURCE on ppc architecture (but I cannot check if it works on ppc and ppc64). Thank you very much.
Note: See
TracTickets for help on using
tickets.

