I get the following error:
ld: duplicate symbol
_TTCreateNonRetainingArray in /Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20Core.a(TTGlobalCore.o)
and
../three20/Build/Products/Debug-iphoneos/libThree20Core.a(TTGlobalCore.o)
collect2: ld returned 1 exit status
Command
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2
failed with exit code 1
It seems to be referring to the same .o from an absolute and relative paths.
Ld
build/DFJ.build/Debug-iphoneos/DFJ.build/Objects-normal/armv6/DFJ
normal armv6 cd
/Users/macuser/Dropbox/DFJ/DFJ setenv
IPHONEOS_DEPLOYMENT_TARGET 3.2 setenv
PATH
“/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin”
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2
-arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk
-L/Users/macuser/Dropbox/DFJ/DFJ/build/Debug-iphoneos
-F/Users/macuser/Dropbox/DFJ/DFJ/build/Debug-iphoneos
-F/Users/macuser/Dropbox/DFJ/DFJ/../../../Downloads/gdata-objectivec-client-1.11.0/Source/build/Debug
-filelist /Users/macuser/Dropbox/DFJ/DFJ/build/DFJ.build/Debug-iphoneos/DFJ.build/Objects-normal/armv6/DFJ.LinkFileList
-dead_strip -force_load ../three20/Build/Products/Debug-iphoneos/libThree20Core.a
-force_load ../three20/Build/Products/Debug-iphoneos/libThree20UICommon.a
-force_load ../three20/Build/Products/Debug-iphoneos/libThree20Launcher.a
-force_load ../three20/Build/Products/Debug-iphoneos/libThree20UINavigator.a
-force_load ../three20/Build/Products/Debug-iphoneos/libThree20.a
-force_load ../three20/Build/Products/Debug-iphoneos/libThree20UI.a
-force_load ../three20/Build/Products/Debug-iphoneos/libThree20Network.a
-force_load ../three20/Build/Products/Debug-iphoneos/libThree20Style.a
-all_load -miphoneos-version-min=3.2 /Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20Core.a
/Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20UICommon.a
/Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20Launcher.a
/Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20UINavigator.a
/Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20.a
/Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20UI.a
/Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20Network.a
/Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20Style.a
-framework QuartzCore -framework Foundation -framework UIKit -framework
CoreGraphics -lsqlite3.0 -framework
MobileCoreServices -lxml2 -framework
Security -framework
SystemConfiguration -framework OpenAL
-framework CoreAudio -framework AudioToolbox -o
/Users/macuser/Dropbox/DFJ/DFJ/build/DFJ.build/Debug-iphoneos/DFJ.build/Objects-normal/armv6/DFJld: duplicate symbol
_TTCreateNonRetainingArray in /Users/macuser/Dropbox/DFJ/three20/Build/Products/Debug-iphoneos/libThree20Core.a(TTGlobalCore.o)
and
../three20/Build/Products/Debug-iphoneos/libThree20Core.a(TTGlobalCore.o)
collect2: ld returned 1 exit status
Command
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2
failed with exit code 1
See the last message of the developer of Three20 here. Basically, download the newest Three20 sources and follow closely the steps described in their README.
If you are following a Three20 tutorial that is not coming from the developer, chances are it’s outdated.