Trouble building Socket addon with Ubuntu 9.04:
It seems to start with /usr/include/evhttp.h:111: error: expected specifier-qualifier-list before `TAILQ_ENTRY' and goes downhill from there. (Maybe they changed something in the version of libevent-dev that I have?)
Socket actually completes the build (with errors) but doesn't work at runtime. Here's the section of the output from "make test" (oddly Socket gets an exception but still is marked "PASSED"!):
Socket -
Exception: Error loading object '/usr/local/lib/io/addons/Socket/_build/dll/libIoSocket.so': '/usr/local/lib/io/addons/Socket/_build/dll/libIoSocket.so: undefined symbol: IoEvRequest_proto'
---------
open AddonLoader.io 65
Object Socket SocketTest.io 1
TestSuite run run.io 2
PASSED
Here's the output from running "make Socket":
dennis@dennis-desktop:~/io$ make Socket
./_build/binaries/io_static build.io -a Socket
--- Socket --------------------------------------------------------------------
build.io: Entering directory `addons/Socket'
cp source/*.h _build/headers
cc -Os -g -Wall -pipe -fno-strict-aliasing -DSANE_POPEN -DIOBINDINGS -I../../libs/garbagecollector/_build/headers -I../../libs/coroutine/_build/headers -I../../libs/basekit/_build/headers -I../../libs/iovm/_build/headers -I/usr/local/include -I/usr/include -I/usr/include/python2.6 -I/usr/include/cairo -I/usr/include/freetype2 -I. -fPIC -c -o _build/objs/IoEvent.o source/IoEvent.c
In file included from source/IoEventManager.h:16,
from source/IoEvent.c:75:
/usr/include/evhttp.h:111: error: expected specifier-qualifier-list before `TAILQ_ENTRY'
cc -Os -g -Wall -pipe -fno-strict-aliasing -DSANE_POPEN -DIOBINDINGS -I../../libs/garbagecollector/_build/headers -I../../libs/coroutine/_build/headers -I../../libs/basekit/_build/headers -I../../libs/iovm/_build/headers -I/usr/local/include -I/usr/include -I/usr/include/python2.6 -I/usr/include/cairo -I/usr/include/freetype2 -I. -fPIC -c -o _build/objs/IoEventManager.o source/IoEventManager.c
In file included from source/IoEventManager.h:16,
from source/IoEventManager.c:9:
/usr/include/evhttp.h:111: error: expected specifier-qualifier-list before `TAILQ_ENTRY'
source/IoEventManager.c: In function `IoEventManager_proto':
source/IoEventManager.c:95: warning: implicit declaration of function `evhttp_new'
source/IoEventManager.c:95: warning: assignment makes pointer from integer without a cast
cc -Os -g -Wall -pipe -fno-strict-aliasing -DSANE_POPEN -DIOBINDINGS -I../../libs/garbagecollector/_build/headers -I../../libs/coroutine/_build/headers -I../../libs/basekit/_build/headers -I../../libs/iovm/_build/headers -I/usr/local/include -I/usr/include -I/usr/include/python2.6 -I/usr/include/cairo -I/usr/include/freetype2 -I. -fPIC -c -o _build/objs/IoSocketInit.o source/IoSocketInit.c
cc -Os -g -Wall -pipe -fno-strict-aliasing -DSANE_POPEN -DIOBINDINGS -I../../libs/garbagecollector/_build/headers -I../../libs/coroutine/_build/headers -I../../libs/basekit/_build/headers -I../../libs/iovm/_build/headers -I/usr/local/include -I/usr/include -I/usr/include/python2.6 -I/usr/include/cairo -I/usr/include/freetype2 -I. -fPIC -c -o _build/objs/IoEvRequest.o source/IoEvRequest.c
In file included from source/IoEvRequest.h:18,
from source/IoEvRequest.c:6:
/usr/include/evhttp.h:111: error: expected specifier-qualifier-list before `TAILQ_ENTRY'
source/IoEvRequest.c: In function `IoEvRequest_RequestDoneCallback':
source/IoEvRequest.c:104: error: `struct evhttp_request' has no member named `output_headers'
source/IoEvRequest.c:105: error: `struct evhttp_request' has no member named `input_buffer'
source/IoEvRequest.c:112: error: `struct evhttp_request' has no member named `response_code'
source/IoEvRequest.c: In function `IoEvRequest_send':
source/IoEvRequest.c:153: error: `struct evhttp_request' has no member named `output_buffer'
source/IoEvRequest.c:164: error: `struct evhttp_request' has no member named `output_headers'
cc -Os -g -Wall -pipe -fno-strict-aliasing -DSANE_POPEN -DIOBINDINGS -I../../libs/garbagecollector/_build/headers -I../../libs/coroutine/_build/headers -I../../libs/basekit/_build/headers -I../../libs/iovm/_build/headers -I/usr/local/include -I/usr/include -I/usr/include/python2.6 -I/usr/include/cairo -I/usr/include/freetype2 -I. -fPIC -c -o _build/objs/IoEvConnection.o source/IoEvConnection.c
In file included from source/IoEvConnection.h:18,
from source/IoEvConnection.c:6:
/usr/include/evhttp.h:111: error: expected specifier-qualifier-list before `TAILQ_ENTRY'
source/IoEvConnection.c: In function `IoEvConnection_setLocalAddress_':
source/IoEvConnection.c:93: warning: implicit declaration of function `evhttp_connection_set_local_address'
source/IoEvConnection.c: In function `IoEvConnection_connect':
source/IoEvConnection.c:117: warning: implicit declaration of function `evhttp_connection_set_base'
ar rcu _build/lib/libIoSocket.a _build/objs/*.o
ranlib _build/lib/libIoSocket.a
cc -shared -o _build/dll/libIoSocket.so _build/objs/*.o -L/usr/local/lib -L/usr/lib -levent -L../../_build/dll -liovmall
build.io: Leaving directory `addons/Socket'
dennis@dennis-desktop:~/io$