Bug 48798 - net-www/dillo-0.8.0-r1 fails with gcc-3.4: invalid operands to binary -
Bug#: 48798 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: All Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: gcc-porting@gentoo.org Reported By: ed@catmur.co.uk
Component: Applications
URL: 
Summary: net-www/dillo-0.8.0-r1 fails with gcc-3.4: invalid operands to binary -
Keywords:  
Status Whiteboard: 
Opened: 2004-04-23 10:30 0000
Description:   Opened: 2004-04-23 10:30 0000
gcc -DHAVE_CONFIG_H -I. -I. -I..  -DDILLORC_SYS='"/etc/dillorc"' 
-DLOCALEDIR='"/usr/share/locale"' -I/usr/local/include -I/usr/include/gtk-1.2
-I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include
-I/usr/include/libpng12 -O2 -I/usr/X11R6/include -I/usr/include/freetype2
-I/usr/include/freetype2/config -I/usr/X11R6/include -DENABLE_IPV6
-DENABLE_META_REFRESH -D_REENTRANT -D_THREAD_SAFE -Wall -W
-Wno-unused-parameter -Waggregate-return -c `test -f 'i18n.c' || echo
'./'`i18n.c
i18n.c: In function `a_I18n_get_encoding':
i18n.c:250: error: invalid operands to binary -
i18n.c:252: error: invalid operands to binary -
make[3]: *** [i18n.o] Error 1
make[3]: Leaving directory
`/var/tmp/portage/dillo-0.8.0-r1/work/dillo-0.8.0/src'

Blocker is bug 48797.

Workaround is to compile without -O CFLAGS (except -Os), or to define
__NO_STRING_INLINES to use the function definition of strpbrk instead of the
macro.

Suggest the latter. Will post ebuild patch.

------- Comment #1 From Ed Catmur 2004-04-23 10:32:33 0000 -------
Created an attachment (id=29902) [details]
Patch to net-www/dillo/dillo-0.8.0-r1.ebuild

------- Comment #2 From Ed Catmur 2004-04-23 10:37:26 0000 -------
Created an attachment (id=29903) [details]
Patch to net-www/dillo/dillo-0.8.0-r1.ebuild

Sorry, wrong patch.

------- Comment #3 From SpanKY 2004-04-27 00:34:54 0000 -------
added a slightly diff approach to portage, thanks :)

------- Comment #4 From Ed Catmur 2004-04-27 09:29:49 0000 -------
Reopening: your patch does not apply correctly. 

This is because src/i18n.c does not exist until ${DILLO_I18N_P}.diff is applied. ${DILLO_I18N_P}.diff.bz2 appears to be a patch from an external source, so we can't just modify it directly, which is a pity.

Need to swap the lines

    epatch ${FILESDIR}/${PV}-gcc34.patch
    epatch ../${DILLO_I18N_P}.diff

giving

    epatch ../${DILLO_I18N_P}.diff
    epatch ${FILESDIR}/${PV}-gcc34.patch

------- Comment #5 From SpanKY 2004-04-27 16:36:44 0000 -------
resolved at a different bug