ports/183156: [patch] www/w3m: fix to work with updated boehm-gc port
Oliver Fromme
oliver.fromme at secnetix.de
Mon Oct 21 12:20:01 UTC 2013
>Number: 183156
>Category: ports
>Synopsis: [patch] www/w3m: fix to work with updated boehm-gc port
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Oct 21 12:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Oliver Fromme
>Release: FreeBSD 9.1-STABLE-20130621 i386
>Organization:
secnetix GmbH & Co. KG
http://www.secnetix.de/bsd
>Environment:
System: FreeBSD grabthar.secnetix.de 9.1-STABLE-20130621 FreeBSD 9.1-STABLE-20130621 #0: Fri Jun 21 18:42:21 CEST 2013 olli at grabthar.secnetix.de:/usr/obj/usr/src/sys/GRABTHAR i386
>Description:
With the recend update of devel/boehm-gc, www/w3m does not
compile anymore. The reason is that the API of boehm-gc
has changed slightly:
Previously, the GC_set_warn_proc() function returned the old
value. Now it doesn't do that anymore, instead it returns
void, and you have to use the new GC_get_warn_proc() function
to retrieve the old value.
This API change breaks w3m.
>How-To-Repeat:
Make sure you have the updated version of devel/boehm-gc
(7.2d), then try to build w3m. You'll get this error:
cc -I. -I. -O2 -pipe -march=athlon-mp -fno-strict-aliasing -I./libwc -I/usr/include/openssl -I/usr/local/include -I/usr/local/include -DHAVE_CONFIG_H -DAUXBIN_DIR=\"/usr/local/libexec/w3m\" -DCGIBIN_DIR=\"/usr/local/libexec/w3m/cgi-bin\" -DHELP_DIR=\"/usr/local/share/w3m\" -DETC_DIR=\"/usr/local/etc\" -DCONF_DIR=\"/usr/local/etc/w3m\" -DRC_DIR=\"~/.w3m\" -DLOCALEDIR=\"/usr/local/share/locale\" -c main.c
main.c: In function 'main':
main.c:836: error: void value not ignored as it ought to be
The patch below fixes that.
>Fix:
--- main.c.orig 2011-01-04 10:42:19.000000000 +0100
+++ main.c 2013-10-21 13:43:11.000000000 +0200
@@ -833,7 +833,8 @@
mySignal(SIGPIPE, SigPipe);
#endif
- orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
+ orig_GC_warn_proc = GC_get_warn_proc();
+ GC_set_warn_proc(wrap_GC_warn_proc);
err_msg = Strnew();
if (load_argc == 0) {
/* no URL specified */
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list