Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unable to compile unbuntu 13.04 86_64 relatedto #247 #327

Open
wirser opened this issue Mar 5, 2016 · 5 comments
Open

unable to compile unbuntu 13.04 86_64 relatedto #247 #327

wirser opened this issue Mar 5, 2016 · 5 comments

Comments

@wirser
Copy link

wirser commented Mar 5, 2016

i'm having issues trying to compile
1 if I compile without libmemcached it appears to compile and install, cmake does not fault
If I install libmemcached (ver 1.0.8-1ubuntu2) I get errors as in #247
"/build/io/addons/Memcached/source/IoMemcached.c:479:3: error: unknown type name ‘memcached_instance_st’
const memcached_instance_st *server = memcached_server_instance_by_position(DATA(self)->mc, pos);"

2 maybe a non issue cmake does not find or fault glib/gregex.h - located in "/usr/include/glib-2.0/glib/gregex.h"
3 I tried to "make uninstall" and had to manually remove while trying different combinations
4 "make install" didn't install headers

I became interested in IO trying to compile "Thunder and Lighting". Even with various efforts I can compil against IO source but get various linking errors related to IO and yes I did ldconfig and put /usr/local/lib in ld.so.config

@wirser
Copy link
Author

wirser commented Mar 11, 2016

I added a partial list of linking errors I've been getting
io-undefref.txt

@wirser
Copy link
Author

wirser commented Mar 11, 2016

I can't compile without io0dev deb or src deb I can compile with git from 2-23-2016however during linking I get undefined reference errors a sample which is below
______________________undefined reference to

IoState_symbolWithCString_
IoMessage_newWithName_label_
IoMessage_addCachedArg_
IoMessage_newWithName_label_
IoState_doFile_
IoState_tryToPerform
IoMessage_argCount
IoState_error_
IoMessage_locals_intArgAt_
IoMessage_locals_doubleArgAt_
IoObject_hasCloneFunc_
IoMessage_locals_quickValueArgAt_
IoMessage_locals_performOn_
IoState_protoWithId_
IOCLONE
IoState_registerProtoWithId_
IoObject_setSlot_to_
IoState_numberWithDouble_
IoState_callbackContext_
IoState_printCallback_
IoState_exceptionCallback_
IoState_new_atAddress
IoObject_new
IoTag_newWithName_
IoState_done
IoObject_addListener_
IoCoroutine_rawPrintBackTrace
IoState_exitCallback_
IoObject_removeListener_
IoObject_rawAppendProto_
IoObject_addTaglessMethodTable_
IoMessage_locals_numberArgAt_
IoNumber_asInt
IoNumber_asDouble
IoObject_addMethodTable_
IoObject_setSlot_to
IoObject_rawClonePrimitive

~/build/io/build/_build/headers/Stack_inline.h:77: undefined reference to `Stack_resize'

  From: PedroBatista <[email protected]>

To: stevedekorte/io [email protected]
Cc: wirser [email protected]
Sent: Monday, March 7, 2016 10:30 AM
Subject: Re: [io] unable to compile unbuntu 13.04 86_64 relatedto #247 (#327)

Io has always been difficult to compile in Ubuntu, mostly because of the addons, there's always some lib that isn't installed or the addon is expecting a lib of a specific version in some other place.Does installed the binary "solves" your problem? meaning you don't need Memcached or it is included in the binary.http://iolanguage.org/binaries.html—
Reply to this email directly or view it on GitHub.

@wirser
Copy link
Author

wirser commented Mar 19, 2016

Update
using git io source from 02-23-2016
I've compiled and installed using build.sh --linkinstall
note using sudo make install doesn't install headers for :basekit, coroutine, garbagecollector, iovm

anyways I've tried ro compile Tnl as follows
./configure --with-io-cflags=-I/home/none/build/io/build/_build/headers --with-opengl-cflags=-I/usr/include/GL --with-openal-cflags=-I/usr/include/AL --with-io-libs=-L/home/none/build/io/build/_build/dll/ LIBS=-lCEGUIBase
make >> ./make.out 2>&1
with the following results


first error
build/Thunder-Lightning-mod/TnL-source/src/game.cc:1092: undefined reference to `IoState_symbolWithCString_'

used grep
grep -r "IoState_symbolWithCString_" ~/build/io/build/_build/headers/

which returned
/home/none/build/io/build/build/headers/IoState_symbols.h:IOVM_API IoSymbol *IoState_symbolWithCString(IoState self, const char *s);
/home/none/build/io/build/build/headers/IoState_symbols.h:IOVM_API IoSymbol *IoState_symbolWithCString_length(IoState *self, const char *s, size_t length);
/home/none/build/io/build/build/headers/IoSeq.h:#define IOSYMBOL(s) IoState_symbolWithCString((IoState
)IOSTATE, (char *)(s))
/home/none/build/io/build/build/headers/IoState_inline.h:#define SIOSYMBOL(stringConstant) IoState_symbolWithCString(self, stringConstant)

in /src/game.cc added
#include <IoState_symbols.h>
no change: changed to
#include <IoSeq.h>
no change: changed to
#include <IoState_inline.h>


ERROR CHANGED TO
In file included from game.cc:49:0:
/home/none/build/io/build/build/headers/IoState_inline.h: In function ‘IoObject* IOTRUE(IoObject)’:
/home/none/build/io/build/build/headers/IoState_inline.h:41:20: error: redefinition of ‘IoObject IOTRUE(IoObject_)’
IOINLINE IoObject *IOTRUE(IoObject self)
^
In file included from /home/none/build/io/build/_build/headers/IoState.h:209:0,
from /home/none/build/io/build/_build/headers/IoObject_inline.h:12,
from /home/none/build/io/build/_build/headers/IoObject.h:243,
from ./interfaces/IActor.h:4,
from ./modules/collide/Collidable.h:5,
from ./modules/collide/CollisionManager.h:11,
from game.cc:25:
/home/none/build/io/build/build/headers/IoState_inline.h:41:20: error: ‘IoObject IOTRUE(IoObject
)’ previously defined here
IOINLINE IoObject *IOTRUE(IoObject *self)

posting to Tnl forum

I will post as news is avai;able

@wirser
Copy link
Author

wirser commented Mar 25, 2016

3-26-2016
IO language -Thunder and Lightning {Tnl} compilation progress report
Hi
buy stumbling on - software project Thunder and Lightning http://tnlgame.net/
I was introduced to IO http://iolanguage.org/
I have attempted to compile Tnl and reported my findings

As seen I am generating lots of data and am probably needing to find better avenues to report my findings
For Tnl I probably can do a separate topic on you forums
For IO I feel that using the Github issue feature may not be the best method I'd like not to get on facebook and either would like either a forum based methode or direct email

Developers please inform me of your preferences I am capable to generate lots of potentially useful data logs searches and such

At the moment I have lots of time but atm limited computer access, in a couple of weeks I will be able to increase availability of compilation resources however it will be only 32 bit but I will still have 64 bit limited access cross compiling will be possible

I hope tyo be helpfull to both projects
Phil Wirtz

_Latest compilation report_

attempting to use IO-git tag io-2010.06.06.zip was suggest as a possible remedy to compilation problems experienced attempting to compile tnl git from 2-22-2016 on ubuntu 14.04 86-64. This attempt failed for the following reasons (work arounds aloso included)

IO
make compiled without errors
sudo make install completed without errors
However the header files for the vm did not install

TnL

using
./configure --with-io-cflags=-I/home/none/build/io-2010.06.06/_build/headers --with-opengl-cflags=-I/usr/include/GL --with-openal-cflags=-I/usr/include/AL --with-io-libs=-L/home/none/build/io-2010.06.06/_build/dll/ LIBS=-lCEGUIBase

resulted in errors

g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../src -g -O2 -fpermissive -I/home/none/build/io-2010.06.06/build/headers -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/CEGUI -MT ActorMapping.o -MD -MP -MF .deps/ActorMapping.Tpo -c -o ActorMapping.o ActorMapping.cc
ActorMapping.cc: In static member function ‘static void {anonymous}::ActorMapping::addMapping(Ptr, IoState*)’:
ActorMapping.cc:25:48: error: ‘IoState_registerProtoWithId_’ was not declared in this scope
IoState_registerProtoWithId
(state, self, id);

In file included from ActorMapping.cc:10:0:
ActorMapping.cc: In static member function ‘static IoObject* {anonymous}::ActorMapping::create(Ptr, IoState*)’:
mappings.h:216:36: error: ‘IoState_protoWithId_’ was not declared in this scope
IoState_protoWithId_(state, (ID)));

using grep to attempt to locate the needed fil(s) to include resulted in no returns

grep -r "IoState_registerProtoWithId_" ~/build/io-2010.06.06/
grep -r "IoState_ProtoWithId_" ~/build/io-2010.06.06/


also reported but not tracked down were these errors among others which is identical to errors received compiled using IO git from 02-23-2016 which prohibits successful compilation on ubuntu linux


make[3]: Entering directory `/home/none/build/Thunder-Lightning-mod/TnL-source/src'
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -I/usr/include/GL -I/usr/include/AL -g -O2 -fpermissive -I/home/none/build/io-2010.06.06/build/headers -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/CEGUI -MT game.o -MD -MP -MF .deps/game.Tpo -c -o game.o game.cc
In file included from game.cc:49:0:
/home/none/build/io-2010.06.06/build/headers/IoState_inline.h: In function ‘IoObject* IOTRUE(IoObject)’:
/home/none/build/io-2010.06.06/build/headers/IoState_inline.h:41:20: error: redefinition of ‘IoObject IOTRUE(IoObject
)’
IOINLINE IoObject *IOTRUE(IoObject self)
^
In file included from /home/none/build/io-2010.06.06/_build/headers/IoState.h:200:0,
from /home/none/build/io-2010.06.06/_build/headers/IoObject_inline.h:12,
from /home/none/build/io-2010.06.06/_build/headers/IoObject.h:241,
from ./interfaces/IActor.h:4,
from ./modules/collide/Collidable.h:5,
from ./modules/collide/CollisionManager.h:11,
from game.cc:25:
/home/none/build/io-2010.06.06/build/headers/IoState_inline.h:41:20: error: ‘IoObject IOTRUE(IoObject
)’ previously defined here
IOINLINE IoObject *IOTRUE(IoObject *self)
^

@stevedekorte
Copy link
Member

Hi Phil,

You might want to talk to Jake Peck about compiling on Linux. He maintains the Io binary releases:

http://iolanguage.org/binaries.html

http://iobin.suspended-chord.info

Thanks for sharing your notes on your compilation issues. I'd welcome a patch to fix them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants