dircproxy fails to build on versions dircproxy-1.1.0-r1 and dircproxy-1.0.5 with same errors. Attachment with full log. #emerge --info Portage 2.1.1_pre2-r6 (default-linux/x86/2006.0, gcc-4.1.1/vanilla, glibc-2.4-r3, 2.6.17-gentoo-r1 i686) ================================================================= System uname: 2.6.17-gentoo-r1 i686 Intel(R) Celeron(TM) CPU 400MHz Gentoo Base System version 1.12.1 ccache version 2.4 [enabled] app-admin/eselect-compiler: 2.0.0_rc2-r1 dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r2 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.17 sys-devel/gcc-config: 2.0.0_rc1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=pentium3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.gentoo.mesh-solutions.com/gentoo " MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="x86 apache2 apm arts avi berkdb bitmap-fonts bzip2 clamav cli crypt cups dlloader dri eds emboss encode esd foomaticdb fortran gdbm gif gpm gstreamer gtk2 imlib isdnlog jpeg ldap libg++ libwww mad mikmod motif mp3 mpeg nls nptl nptlonly ogg opengl pam pcre pdflib perl png pppd python qt qt3 qt4 quicktime readline reflection samba session spl ssl tcpd threads truetype truetype-fonts type1-fonts udev vorbis xml xmms xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Created attachment 91406 [details] build-log dircproxy-1.1.0-r1
Created attachment 91407 [details] buildlog dircproxy-1.0.5
compiles with warning using gcc-3.4.4: irc_server.c:702: warning: use of conditional expressions as lvalues is deprecated must be an gcc4 issue. following patch compiles fine under gcc-4.1.1: diff -Naur dircproxy-1.1.0-r1/src/dcc_net.c new/dcc_net.c --- dircproxy-1.1.0-r1/src/dcc_net.c 2006-07-16 01:38:46.000000000 +0000 +++ new/dcc_net.c 2006-07-16 01:32:35.000000000 +0000 @@ -365,7 +365,7 @@ n = p->next; _dccnet_free(p); - p = (l ? l->next : proxies) = n; + if (l) l->next = n; else proxies = n; } else { l = p; p = p->next; diff -Naur dircproxy-1.1.0-r1/src/irc_server.c new/irc_server.c --- dircproxy-1.1.0-r1/src/irc_server.c 2006-07-16 01:38:40.000000000 +0000 +++ new/irc_server.c 2006-07-16 01:32:52.000000000 +0000 @@ -699,7 +699,7 @@ free(s); /* Was in the squelch list, so remove it and stop looking */ - s = (l ? l->next : p->squelch_modes) = n; + if (l) l->next = n; else p->squelch_modes = n; squelch = 1; break; } else { @@ -740,7 +740,7 @@ free(s); /* Was in the squelch list, so remove it and stop looking */ - s = (l ? l->next : p->squelch_modes) = n; + if (l) l->next = n; else p->squelch_modes = n; squelch = 1; break; } else { diff -Naur dircproxy-1.1.0-r1/src/net.c new/net.c --- dircproxy-1.1.0-r1/src/net.c 2006-07-16 01:38:49.000000000 +0000 +++ new/net.c 2006-07-16 01:32:44.000000000 +0000 @@ -459,7 +459,7 @@ return 0; } - l = &(buff == SB_IN ? s->in_buff_last : s->out_buff_last); + l = (buff == SB_IN) ? &s->in_buff_last : &s->out_buff_last; /* Check whether we can just add to the existing buffer */ if ((mode == SM_RAW) && *l && ((*l)->mode == mode)) {
Didn't look if the patch is the same, but the debian package for dircproxy has a patch to compile with gcc4 since dircproxy-1.0.5. It can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=285626 Lucas Chiesa
Here's dircproxy's official ticket on the issue for 1.0.5 http://dircproxy.securiweb.net/ticket/39 When is this going to be comited in the tree? I recall this being broken awhile ago, but didn't bother too look into it due to time restraints.
Added to both 1.0.5 and 1.1.0 version, plus bumped to 1.2.0-beta2. Thanks