14 Apr, 2009, Lobotomy wrote in the 1st comment:
Votes: 0
Over the last few days I've been toying with the idea of learning Io, with the creation of a mud server being either the end goal itself or just a byproduct. Among other avenues I'm persuing to that end, I decided I'd give a try to installing Io under AndLinux. This is something that I may need some advice/help on, as while the core vm installs alright, a key addon (among other addons) that I will need (the Socket object) does not properly compile.

make in AndLinux said:
(first error):
In file included from source/IoEventManager.h:16,
from source/IoEvent.c:75:
/usr/include/evhttp.h:106: error: expected specifier-qualifier-list before 'TAILQ_ENTRY'

(second error):
In file included from source/IoEventManager.h:16,
from source/IoEventManager.c:9:
/usr/include/evhttp.h:106: 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

The result of the failure to compile that file is that the Io interpreter can't load up the Socket object, i.e:
Io said:
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: IoEvent_proto'

I'm curious if anyone else has come across this problem before, and what remedy there may be, if any. From what little I've been able to get out of Google, it seems that TAILQ_ENTRY has something to do with a Linux "queue" command, to which I've attempted to find and install various possibly related packages through AndLinux's apt-get, though with no success thusfar. :thinking:
14 Apr, 2009, David Haley wrote in the 2nd comment:
Votes: 0
You could try using an older version of gcc that's less strict. It's somewhat disturbing that an error is showing up in the standard system headers. Maybe there's a syntax error in one of the Io headers; sometimes those propagate to other files in funny ways.
0.0/2