# Failed to build www/w3m within jail (poudriere)



## hedgehog (Oct 20, 2013)

Hi everyone,

I use ports-mgmt/poudriere to build packages. But after upgrading portstree to the most recent version, I can't build www/w3m with poudriere anymore. I noticed that it stopped building after it's dependency, devel/boehm-gc updated to 7.2d. I also tried to manually build www/w3m inside poudriere jail, but it failed too.


```
===>  Building for w3m-0.5.3_2
(echo '#define DEFUN(x,y,z) x y'; sed -ne '/^DEFUN/{p;n;/^[     ]/p;}' ./main.c ./menu.c) | cpp - |  awk '$1 ~ /^[_A-Za-z]/ {  for (i=2;i<=NF;i++) { print $i, $1}  }' > funcname.tab.tmp
funcname.tab updated
sort funcname.tab | /usr/bin/awk -f ./funcname1.awk > funcname1.h
cc  -I. -I. -O2 -pipe -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
main.c: In function 'getChar':
main.c:2264: warning: passing argument 1 of 'wtf_parse1' from incompatible pointer type
*** [main.o] Error code 1

Stop in /wrkdirs/usr/ports/www/w3m/work/w3m-0.5.3.
*** [do-build] Error code 1

Stop in /usr/ports/www/w3m.
===>  Cleaning for w3m-0.5.3_2
```

However, the port builds just fine outside jail... What could cause this issue? Both, my host and jail, are FreeBSD 9.2 amd64.


----------



## hedgehog (Oct 20, 2013)

Update: I just noticed I have an older devel/boehm-gc version installed on the host. Also: http://www.mail-archive.com/freebsd-ports@freebsd.org/msg52802.html

This patch solved the issue: http://lists.freebsd.org/pipermail/svn-ports-head/2013-October/032846.html


----------



## teknos (Oct 20, 2013)

Excellent! and just in time.  I've got a server to rebuild that needs to be up in 17 hours.  

Thanks so much for posting this!


----------



## jrm@ (Oct 20, 2013)

hedgehog said:
			
		

> This patch solved the issue: http://lists.freebsd.org/pipermail/svn-ports-head/2013-October/032846.html



Even though the port that fails to build is devel/boehm-gc, the patch is for www/w3m.  That threw me off for a moment.  So, just put the patch from the link above in a file called /usr/ports/www/w3m/files/patch-main.c and you're all set.


----------



## beatgammit (Oct 21, 2013)

*Error building www/w3m 0.5.3_2 from ports*

I've fixed this with the attached patch, so I've already marked this as solved. I've also sent this to the maintainer, nobutaka@FreeBSD.org, so hopefully it'll be fixed shortly.

When updating git to 1.8.4.1, I got this error building www/w3m from ports:


```
main.c:836:23: error: assigning to 'GC_warn_proc' (aka 'void (*)(char *, GC_word)') from incompatible type 'void'
    orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
```
I'm using 9.2-RELEASE and clang as my compiler, but I tried with gcc and it failed on the same line.

To apply the patch, I just copied it to /usr/ports/www/w3m/files and everything build appropriately. I hope this helps somebody. It's also on a gist in case someone who doesn't have an account here needs this: https://gist.github.com/anonymous/7086269


----------



## jrm@ (Oct 21, 2013)

Perhaps a thread merging is in order.  See [thread=42647]this thread[/thread].


----------



## beatgammit (Oct 21, 2013)

Sorry about the repost then. The post mentioned it worked outside a jail, but mine didn't, so I assumed it was something different (didn't even read the patch...). Apparently, the OP posted later that it wasn't specific to being in a jail.

Good news, however, is that my patch is exactly the same as the patch in the mailing list... *facepalm*

Sorry for the noise.


----------



## DutchDaemon (Oct 21, 2013)

[ merged ]


----------



## zeissoctopus (Oct 23, 2013)

The patch had committed to official port tree by maintainer.
SVN log of www/w3m


----------

