ports/87484: [patch] devel/boehm-gc does not compile on amd64 with THREADING
Vasil Dimov
vd at datamax.bg
Sat Oct 15 14:10:16 UTC 2005
>Number: 87484
>Category: ports
>Synopsis: [patch] devel/boehm-gc does not compile on amd64 with THREADING
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Oct 15 14:10:15 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Vasil Dimov
>Release: FreeBSD 6.0-RC1 amd64
>Organization:
DataMax
>Environment:
System: FreeBSD qlovarnika.bg.datamax 6.0-RC1 FreeBSD 6.0-RC1 #0: Mon Oct 10 17:41:04 EEST 2005 root at qlovarnika.bg.datamax:/usr/obj/usr/src/sys/QLOVARNIKA amd64
>Description:
devel/boehm-gc fails to compile on amd64 when option THREADING is
defined.
Included patch just adds the missing macros. I have not tested it
in other means than: 1. it compiles ok; 2. make check does not
emit errors.
I indulged in adding a check target to aid with testing, fixing the
innocent configure warning and changing HAS_CONFIGURE to GNU_CONFIGURE,
because it is GNU configure we actually have.
>How-To-Repeat:
# uname -m
amd64
/usr/ports/devel/boehm-gc# make clean rmconfig
/usr/ports/devel/boehm-gc# make (turn on THREADING)
...
cc -DPACKAGE_NAME=\"gc\" -DPACKAGE_TARNAME=\"gc\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"gc 6.6\"" -DPACKAGE_BUGREPORT=\"Hans.Boehm at hp.com\" -DGC_VERSION_MAJOR=6 -DGC_VERSION_MINOR=6 -DPACKAGE=\"gc\" -DVERSION=\"6.6\" -DGC_FREEBSD_THREADS=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -I./include -pthread -fexceptions -pipe -g -march=athlon64 -fexceptions -MT pthread_support.lo -MD -MP -MF .deps/pthread_support.Tpo -c pthread_support.c -fPIC -DPIC -o .libs/pthread_support.lo
pthread_support.c: In function `GC_pthread_sigmask':
pthread_support.c:965: error: `SIGRTMIN' undeclared (first use in this function)
pthread_support.c:965: error: (Each undeclared identifier is reported only once
pthread_support.c:965: error: for each function it appears in.)
*** Error code 1
Stop in /usr/ports/devel/boehm-gc/work/gc6.6.
*** Error code 1
Stop in /usr/ports/devel/boehm-gc/work/gc6.6.
*** Error code 1
Stop in /usr/ports/devel/boehm-gc.
>Fix:
--- boehm-gc_threads-amd64.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/devel/boehm-gc/Makefile,v
retrieving revision 1.45
diff -u -r1.45 Makefile
--- Makefile 10 Oct 2005 13:06:07 -0000 1.45
+++ Makefile 15 Oct 2005 13:55:43 -0000
@@ -7,6 +7,7 @@
PORTNAME= boehm-gc
PORTVERSION= 6.6
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/
DISTNAME= gc${PORTVERSION:S/.a/alpha/}
@@ -17,7 +18,8 @@
USE_INC_LIBTOOL_VER= 13
USE_GNOME= lthack
USE_REINPLACE= yes
-HAS_CONFIGURE= yes
+GNU_CONFIGURE= yes
+CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
INSTALLS_SHLIB= yes
CONFIGURE_ARGS= --prefix=${PREFIX} --enable-cplusplus
OPTIONS= REDIRECT "Define malloc(3)-family replacements" off \
@@ -65,4 +67,7 @@
post-install:
${INSTALL_MAN} ${WRKSRC}/doc/gc.man ${PREFIX}/man/man3/gc.3
+check: build
+ @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} check)
+
.include <bsd.port.post.mk>
Index: files/patch-include-private-gcconfig.h
===================================================================
RCS file: /home/ncvs/ports/devel/boehm-gc/files/patch-include-private-gcconfig.h,v
retrieving revision 1.6
diff -u -r1.6 patch-include-private-gcconfig.h
--- files/patch-include-private-gcconfig.h 29 Jun 2005 16:29:45 -0000 1.6
+++ files/patch-include-private-gcconfig.h 15 Oct 2005 13:55:43 -0000
@@ -1,5 +1,5 @@
---- include/private/gcconfig.h.orig Sat May 21 05:48:29 2005
-+++ include/private/gcconfig.h Thu Jun 30 01:10:10 2005
+--- include/private/gcconfig.h.rorig Sat Oct 15 16:40:25 2005
++++ include/private/gcconfig.h Sat Oct 15 16:42:43 2005
@@ -62,7 +62,7 @@
/* Determine the machine type: */
# if defined(__arm__) || defined(__thumb__)
@@ -9,7 +9,7 @@
# define NOSYS
# define mach_type_known
# endif
-@@ -330,10 +330,22 @@
+@@ -334,10 +334,22 @@
# define X86_64
# define mach_type_known
# endif
@@ -33,7 +33,7 @@
# if defined(bsdi) && (defined(i386) || defined(__i386__))
# define I386
# define BSDI
-@@ -822,6 +834,16 @@
+@@ -845,6 +857,16 @@
# define DATASTART GC_data_start
# define DYNAMIC_LOADING
# endif
@@ -50,7 +50,7 @@
# ifdef NOSYS
# define ALIGNMENT 4
# define OS_TYPE "NOSYS"
-@@ -1782,6 +1804,17 @@
+@@ -1807,6 +1829,17 @@
# endif
# define USE_GENERIC_PUSH_REGS
# endif
@@ -67,8 +67,8 @@
+
# ifdef LINUX
# define OS_TYPE "LINUX"
- # define HEURISTIC1
-@@ -1932,6 +1965,15 @@
+ # define LINUX_STACKBOTTOM
+@@ -1957,6 +1990,17 @@
# ifdef __ELF__
# define DYNAMIC_LOADING
# endif
@@ -78,6 +78,8 @@
+# endif
+# ifdef FREEBSD
+# define OS_TYPE "FREEBSD"
++# define SIG_SUSPEND SIGUSR1
++# define SIG_THR_RESTART SIGUSR2
+# ifdef __ELF__
+# define DYNAMIC_LOADING
+# endif
--- boehm-gc_threads-amd64.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list