Re: Now, help plz w/ mult. defs. of sym. errs.
Re: Now, help plz w/ mult. defs. of sym. errs.
- Subject: Re: Now, help plz w/ mult. defs. of sym. errs.
- From: David Goldsmith <email@hidden>
- Date: Sat, 06 Oct 2007 23:34:35 -0700
Greg Guerin wrote:
The first thing I notice is another clue that your Xcode project started
life in an earlier version of Xcode,
I'm almost positive that's indeed the case.
and has been converted or upgraded for
Xcode 2.4.1. The clue this time is the presence of "Development" builds in
the build directory, rather than "Debug" builds. The earlier clue was the
fact that you had a jam target that had to be upgraded to native.
I note this for later reference, and to ask a couple questions:
1. Which version of Xcode was the project first created with?
2. Which version of Xcode did it last build correctly under?
Caitlin?
Second, I don't see anything wrong with the CompileC steps. There's only
one -arch option, and it's for i386, which I presume is the native arch,
this being a Development build.
Actually, Caitlin will correct me if I'm wrong, but I think the
successful builds have been on PPC arch, whereas I'm definitely working
on an Intel Mac.
Third, we come to the linker stage.
To me, it looks like one of several things is happening:
A) Some other dependent target is compiling into the Source/CompCore dir.
There were only the two targets in this project (i.e., the jam one and
the updated one).
B) The CompCore/CatsApp..o was dragged into the project as a "source" file.
That's a possibility - I'll check.
C) The Source/CompCore dir is being passed to the linker.
You could check A by doing a Clean All, then BEFORE doing another Build,
use 'ls -la' to look in the Source/CompCore dir for a CatsApp.o file.
There should NOT be one. If you then do a Build and look in
Source/CompCore again, and there IS a CatsApp.o file, then you have to
figure out which dependent target was built that's writing to
Source/CompCore. It will be a DEPENDENT target, not an INDEPENDENT one,
because if it were independent, it wouldn't have to be built before the
"(Upgraded)" target. A dependent target will appear under the upgraded
target when you click its disclosure triangle. It will also be listed in
the Direct Dependencies list of the General tab when you double-click on
the upgraded target.
However, if after a Clean All, the ls -la shows there ARE .o files in
Source/CompCore, then you need to figure out how they got there. I can
only guess: maybe you checked them out from SCM, or they came along with
the conversions from earlier Xcode project upgrades. That's one reason I
asked what the original version of Xcode was.
You can check B by looking in your project's source files. There should be
any Source/CompCore/*.o files at all. If there are, they have almost
certainly been added to the target, and will be linked against, thus
resulting in multiply defined symbols. If you have .o files in the project
source, remove them.
I checked for C, but didn't see anything in the Ld step that uses the
Source/CompCore dir as a library or any other datasource for linkable
files. It could still be there, in the filelist, but Xcode normally builds
that itself, so unless something is wrong in another target or build phase,
that filelist should be correct. You can check it manually. Open the
following file in a text editor or an Xcode window:
/Users/dg/Documents/NOAA/Projects/CATS/code/wxCats/trunk/Source/build/
wxCATS.build/Development/xcodeCATS (Upgraded).build/Objects-normal/i386/xcodeCATS.LinkFileList
You should see ONLY the .o's in the Objects-normal/i386 dir, and NONE from
Source/CompCore. If you DO see ones from Source/CompCore, you need to
figure out how they got there. My first guess would be item B from my list
of what might be happening, and my second guess would be item A.
Thanks for the detailed prescriptions regarding how to verify/eliminate
these hypotheses - it'll take me a little while before I can follow up
on them, but I'll be sure to report back one way or another. Thanks again!
DG
-- GG
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
--
ERD/ORR/NOS/NOAA <http://response.restoration.noaa.gov/emergencyresponse/>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden