Bug 150429 - gaim build failure (glibc macro abuse)
Summary: gaim build failure (glibc macro abuse)
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gaim
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Warren Togami
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 149984
TreeView+ depends on / blocked
 
Reported: 2005-03-06 11:44 UTC by Warren Togami
Modified: 2007-11-30 22:11 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2005-03-06 23:29:04 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Warren Togami 2005-03-06 11:44:45 UTC
<warren> jakub,
http://people.redhat.com/wtogami/temp/gaim-535097-i386-tweety.build.redhat.com.log
Making all in novell
make[4]: Entering directory
`/usr/src/build/535101-i386/BUILD/gaim-1.1.4/src/protocols/novell'
[SNIP]
if /bin/sh ../../../libtool --silent --mode=compile --tag=CC
i386-redhat-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../../..  -I../../../src 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include     -O2 -Wall -g -pipe
-Wp,-D_FORTIFY_SOURCE=2 -m32 -march=i386 -mtune=pentium4 -Wall -g3 -MT nmrtf.lo
-MD -MP -MF ".deps/nmrtf.Tpo" -c -o nmrtf.lo nmrtf.c; \
then mv -f ".deps/nmrtf.Tpo" ".deps/nmrtf.Plo"; else rm -f ".deps/nmrtf.Tpo";
exit 1; fi
nmconn.c: In function 'nm_tcp_read':
nmconn.c:223: error: syntax error before '(' token
nmconn.c:223: error: '__nbytes_val' undeclared (first use in this function)
nmconn.c:223: error: (Each undeclared identifier is reported only once
nmconn.c:223: error: for each function it appears in.)
nmconn.c:223: warning: passing argument 1 of 'read' makes integer from pointer
without a cast
nmconn.c: At top level:
nmconn.c:223: error: syntax error before ')' token
make[4]: *** [nmconn.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory
`/usr/src/build/535101-i386/BUILD/gaim-1.1.4/src/protocols/novell'

This same thing built fine a few days ago, any idea what's up?
<jakub> warren: POSIX allows most of its functions to be defined also as
function like macros
<jakub> warren: the latest glibc defines read(fd, buf, len) as a macro
<jakub> warren: therefore, you need to either #undef read before you abuse read
for something else
<jakub> warren: or replace return (conn->ssl_conn->read(conn->ssl_conn->data,
buff, len));
<jakub> warren: with return (conn->ssl_conn->read)(conn->ssl_conn->data, buff, len);

Comment 1 Warren Togami 2005-03-06 21:16:08 UTC
<jakub> warren: it is an upstream change that's going to stay. though only under
-D_FORTIFY_SOURCE={1,2}
<jakub> warren: more code than just gaim is affected, e.g. binutils and make as well

Comment 2 Warren Togami 2005-03-06 23:27:34 UTC
Will be fixed in the next rawhide build.  Paco-Paco checked in upstream too.



Note You need to log in before you can comment on or make changes to this bug.