gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Further problems trying to build GNUstep with blocks/properties supp


From: Thomas Davie
Subject: Re: Further problems trying to build GNUstep with blocks/properties support
Date: Mon, 21 Jun 2010 18:07:32 +0100

> 
> More or less, although I'd recommend either setting CC=clang in project 
> makefiles or on the command line, rather than in config.make.  

Thanks David,

I've ended up creating a VM with a clean install of ubuntu (plus the deps for 
GNUstep) in it, and am testing it there, things are going much better.  I'm oh 
so close now... gnustep-base builds cleanly, and installs, but building my 
target still trips over in two interesting ways:

Firstly, clang seems to be finiky about it's argument order when linking, 
adding BDS_LDFLAGS to my GNUmakefile adds the arguments near the beginning of 
the command, and for some reason this generates link errors.  Because of this, 
I've copied and pasted the command that make runs from make messages=yes, and 
moved my link options to near the end.  This kills off a bunch of errors 
linking against libcrypto.  My question regarding this part, is, is it possible 
to get the GNUstep build system to stick my link options in near the end, or 
will I be forever typing my own link commands?

Secondly, blocks still aren't working quite right.  Here's my link command and 
it's output:

address@hidden:~/Documents/BattleDungeon$ clang  -rdynamic -shared-libgcc 
-fexceptions -fgnu-runtime -o obj/BDS ./obj/BDS.obj/serverMain.m.o 
./obj/BDS.obj/Classes/Database/BDDatabase.m.o 
./obj/BDS.obj/Classes/Database/Database.m.o 
./obj/BDS.obj/Classes/Database/DBQuery.m.o 
./obj/BDS.obj/Classes/CocoaExtensions/RectValue.m.o 
./obj/BDS.obj/Classes/CocoaExtensions/NSArrayWithMap.m.o 
./obj/BDS.obj/Classes/CocoaExtensions/PointValue.m.o 
./obj/BDS.obj/Classes/CocoaExtensions/NSSetWithSearch.m.o 
./obj/BDS.obj/Classes/CocoaExtensions/RGBColour.m.o 
./obj/BDS.obj/Classes/CocoaExtensions/GeometryStructures.m.o 
./obj/BDS.obj/Classes/CocoaExtensions/IntPointValue.m.o 
./obj/BDS.obj/Classes/Network/StringNetworking.m.o 
./obj/BDS.obj/Classes/Network/BDServerSession.m.o 
./obj/BDS.obj/Classes/Network/BDRequest.m.o 
./obj/BDS.obj/Classes/Network/BDNetworkCoder.m.o 
./obj/BDS.obj/Classes/Network/BDNetworkDecoder.m.o 
./obj/BDS.obj/Classes/Server/BDConfig.m.o 
./obj/BDS.obj/Classes/Server/BDServer.m.o 
./obj/BDS.obj/Classes/Server/BDConnectionManager.m.o 
./obj/BDS.obj/Classes/Server/BDConnection.m.o 
./obj/BDS.obj/Classes/Utilities/CommonC.m.o 
./obj/BDS.obj/Classes/Utilities/Pair.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Animation.m.o 
./obj/BDS.obj/Classes/Model/Immutable/AnimationNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/AnimationSet.m.o 
./obj/BDS.obj/Classes/Model/Immutable/ArbitrarySubTexture.m.o 
./obj/BDS.obj/Classes/Model/Immutable/ArbitraryTextureAtlas.m.o 
./obj/BDS.obj/Classes/Model/Immutable/AssignmentNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Campaign.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Creature.m.o 
./obj/BDS.obj/Classes/Model/Immutable/CreatureClass.m.o 
./obj/BDS.obj/Classes/Model/Immutable/DelayNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Effect.m.o 
./obj/BDS.obj/Classes/Model/Immutable/EntryPointNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Folder.m.o 
./obj/BDS.obj/Classes/Model/Immutable/IdentifiedObject.m.o 
./obj/BDS.obj/Classes/Model/Immutable/IfNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Item.m.o 
./obj/BDS.obj/Classes/Model/Immutable/ItemLevel.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Map.m.o 
./obj/BDS.obj/Classes/Model/Immutable/MapObject.m.o 
./obj/BDS.obj/Classes/Model/Immutable/ModifierNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/ModifyIconNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/NamedObject.m.o 
./obj/BDS.obj/Classes/Model/Immutable/RunEffectNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Script.m.o 
./obj/BDS.obj/Classes/Model/Immutable/ScriptNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Setup.m.o 
./obj/BDS.obj/Classes/Model/Immutable/Spell.m.o 
./obj/BDS.obj/Classes/Model/Immutable/SpellNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/StatementNode.m.o 
./obj/BDS.obj/Classes/Model/Immutable/SubTexture.m.o 
./obj/BDS.obj/Classes/Model/Immutable/TextureAtlas.m.o 
./obj/BDS.obj/Classes/Model/Immutable/TiledSubTexture.m.o 
./obj/BDS.obj/Classes/Model/Immutable/TileMap.m.o 
./obj/BDS.obj/Classes/Model/Immutable/TriggerNode.m.o 
./obj/BDS.obj/Classes/Model/Mutable/Game.m.o 
./obj/BDS.obj/Classes/Model/Mutable/Side.m.o 
./obj/BDS.obj/Classes/Model/Mutable/Player.m.o 
./obj/BDS.obj/Classes/Model/Mutable/Soldier.m.o -L/usr/local/ssl/lib64 -lcrypto 
-L/usr/lib -lmysqlclient -L/home/tatd2/GNUstep/Library/Libraries 
-L/usr/GNUstep/Local/Library/Libraries -L/usr/GNUstep/System/Library/Libraries  
   -lgnustep-base   -lpthread -lobjc   -lm
./obj/BDS.obj/Classes/Network/BDServerSession.m.o: In function 
`_i_BDServerSession__findExistingOrCreateGameMatchingStats_failureReason_':
/home/tatd2/Documents/BattleDungeon/Classes/Network/BDServerSession.m:231: 
undefined reference to `_NSConcreteStackBlock'
./obj/BDS.obj/Classes/Model/Immutable/Folder.m.o:(.data.rel.ro+0x0): undefined 
reference to `_NSConcreteGlobalBlock'
./obj/BDS.obj/Classes/Model/Immutable/Script.m.o: In function 
`_i_Script__newNodePosition':
/home/tatd2/Documents/BattleDungeon/Classes/Model/Immutable/Script.m:204: 
undefined reference to `_NSConcreteStackBlock'
collect2: ld returned 1 exit status
clang: error: linker command failed with exit code 1 (use -v to see invocation)

You seemed to indicate that NSConcreteGlobalBlock and NSConcreteStackBlock 
should be hiding away in libgnustep-base, but that doesn't seem to be the case:
address@hidden:~/Documents/BattleDungeon$ nm 
/usr/GNUstep/Local/Library/Libraries/libgnustep-base.so | grep "Concrete.*Block"
                 w _NSConcreteStackBlock

Any help getting over this last hurdle would be much appreciated.

Thanks

Tom Davie


reply via email to

[Prev in Thread] Current Thread [Next in Thread]