Xcode 5 crashes when open external project

Sep 19, 2013 at 12:17am

Xcode 5 crashes when open external project

Hi all,

Xcode 5 is released today, so I tried to build example projects in SDK 6.1.3.
But, Xcode crashes always when I try to open any projects.
Someone has same issue or any solutions?
Here, I’ll attach the crash log.

Thanks.

Attachments:
  1. log.txt
#265689
Sep 19, 2013 at 6:35am

I haven’t tested on 10.8 but that looks like the same crash I’ve with the sea lion. For now you will have to keep using Xcode 4.x.

#265718
Sep 28, 2013 at 7:31pm

It seems to me that the C74_SYM_LINKER_FLAGS variable in the xcodeconfig gets XCode 5 crashed. Could it be that the maximum length of this config variables changed? There is a lot of data in this variable, I wonder if this could be organized somehow more efficiently (“Flags to enforce some build-time checks for the symbols used while not actually performing a hard link”).

#266534
Sep 30, 2013 at 1:59pm

That’s correct. We’ll look into it.

#266672
Oct 2, 2013 at 2:59pm

Any word on this? I seem to be having the same issue (same info in crash log), Xcode 5, external project…

#266884
Oct 3, 2013 at 5:31am

The simplest way around the Problem that works for me is to build the project without the additional linker flags (remove them from the configuration), and write the missing links from the error log into the C74_SYM_LINKER_FLAGS configuration variable. Depending on your setup you will need to remove the contents of C74_SYM_LINKER_FLAGS in the MaxMSP SDK distribution. I have my own xcconfig file that overwrites the one from the SDK (specifically this variable).

#266925
Oct 16, 2013 at 10:40am

Has anybody managed to build a Max/MSP example project with Xcode 5?
I did remove C74_SYM_LINKER_FLAGS and now I can open a project without crashing, however I cannot build it. I keep getting this linker error:

Undefined symbols for architecture x86_64:
“_object_method_imp”, referenced from:
_main in myobject.o

Has anybody already encountered this issue?
I am on MacOS 10.8.5 using Max/MSP SDK 6.1.3

- Luigi

#268214
Oct 16, 2013 at 12:53pm

We have an update SDK coming up soon. In the meantime, if you put the flags in a text file and set the C74_SYM_LINKER_FLAGS to point to that file, you should be able to open Xcode without crashing and even building ;-)

#268239
Oct 18, 2013 at 12:31am

Thanks for your reply Emmanuel,

I did what you suggested. The project opens but it still doesn’t compile.
Now the linker cannot find all of the functions specified in the file as flags.

If you have a .xcodeproj file that you can post, that could be of help.
Otherwise I will wait for the release of the new SDK.

Thanks again for your help

- Luigi

#268352
Oct 18, 2013 at 9:10am

You should be able to set the compiler to use Apple LLVM 5.0 and probably mess with the deployment target (you can’t build for 10.6 for instance).

#268376
Oct 18, 2013 at 2:38pm

Hey Luigi,
in the solution I suggested in #266925, you will have to write the missing linker flags (which are reported in the error log after building) into the C74_SYM_LINKER_FLAGS variable, i.e. like this:

C74_SYM_LINKER_FLAGS = -Wl,-U,_atom_getfloat,-U,_atom_getlong,-U,_atom_getsym,-U,_atom_setfloat,-U,_atom_setlong,-U,_atom_setsym and so on

basically you type -U,[name of the symbol that should be linked to],

In the attached xcconfig-file you see another example in the last few lines. Don’t just copy the file, it’s customized and might not work for your project :)

Cheers

#268418
Oct 18, 2013 at 2:44pm

For security reasons, I’m not allowed to upload an xcconfig-file… The interesting part of this file looks like this:

C74_SYM_LINKER_FLAGS = -Wl,-U,_atom_getfloat,-U,_atom_getlong,-U,_atom_getsym,-U,_atom_setfloat,-U,_atom_setlong,-U,_atom_setsym,-U,_class_addmethod,-U,_class_new,-U,_class_register,-U,_defer,-U,_error,-U,_gensym,-U,_listout,-U,_locatefile_extended,-U,_object_alloc,-U,_object_error,-U,_object_free,-U,_object_method,-U,_object_post,-U,_object_warn,-U,_open_dialog,-U,_outlet_anything,-U,_outlet_list,-U,_path_toabsolutesystempath,-U,_path_topathname,-U,_qelem_free,-U,_qelem_new,-U,_qelem_set,-U,_systhread_create,-U,_systhread_exit,-U,_systhread_join,-U,_systhread_mutex_free,-U,_systhread_mutex_lock,-U,_systhread_mutex_new,-U,_systhread_mutex_unlock,-U,_object_method_imp
OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)"

Cheers

#268419
Oct 20, 2013 at 5:57pm

ok, changing the deployment target to 10.8 and adding the missing linker flags did the trick.
Now the project opens and compiles perfectly. Thank you EJ and CSAudioDesign for your help.

Best

- Luigi

#268560
Oct 28, 2013 at 2:28pm

SDK update for Xcode 5 compatibility is now available:

http://cycling74.com/download/MaxSDK-6.1.4.zip

- .. –

#269405
Nov 6, 2013 at 9:13pm

I’ve updated to the new SDK and although I can now open my older projects without crashing, I can no longer build my projects. I changed my user-defined C74_SYM_LINKER_FLAGS build setting to point to the c74_linker_flags.txt file (my project is an obj-c framework that is “wrapped” by a max external), but Xcode (v5.0.1) complains that the “file was built for unsupported file format”… I don’t imagine this should be particularly hard to fix, but I’m a bit stumped. Other than the linker flags build setting, nothing else should have changed in the project, which worked fine in Xcode 4.6.3.

ld: warning: ignoring file /Users/jbmaxwell/Documents/xcode/rubato_git/MusiCog_(optimized)/MusiCog/../../MaxSDK-6.1.1/c74support/max-includes/c74_linker_flags.txt, file was built for unsupported file format ( 0×27 0x2D 0×57 0x6C 0x2C 0x2D 0×55 0x2C 0x5F 0×61 0×64 0×64 0×62 0×61 0x6E 0×67 ) which is not the architecture being linked (x86_64): /Users/jbmaxwell/Documents/xcode/rubato_git/MusiCog_(optimized)/MusiCog/../../MaxSDK-6.1.1/c74support/max-includes/c74_linker_flags.txt
Undefined symbols for architecture x86_64:
“_object_method_imp”, referenced from:
-[mcMusiCogController logToMax:] in mcMusiCogController.o
-[mcMusiCogController sendOutputEvent] in mcMusiCogController.o
-[mcMusiCogController finishBang] in mcMusiCogController.o
ld: symbol(s) not found for architecture x86_64

It seems to think I’m trying to link to 32-bit max, but I can’t understand why…

Any thoughts appreciated.

J.

#270380
Nov 7, 2013 at 6:28am

@JBM:
If I remember correctly this made somehow the difference in my tests:
C74_SYM_LINKER_FLAGS = @$(C74SUPPORT)/max-includes/c74_linker_flags.txt

Remember to include the @ character before the dollar sign or you will see that error…

- Luigi

#270418
Nov 7, 2013 at 10:08am

Ah, thanks Luigi. That got me much closer (my framework now compiles!).

However, I’m now getting errors trying to build the external: ‘MacTypes.h’ file not found.
I’ve seen the various threads on this, and it seemed to be related to older Carbon stuff, and was purported to be solved by building with the 10.7 base SDK. I didn’t have that option in my Xcode 5 install, so I copied over the one from Xcode 4.6.3. It does show up in Xcode, and I can select it, but the build error remains! (Well, that’s not entirely true; the error shifted slightly from ‘Files.h’ not found to ‘MacTypes.h’ not found… ugh…)

Any idea what else I might try?

#270444
Nov 7, 2013 at 10:57am

Ugh… okay, I’ve descended to new levels of hackishness and copied my FlatCarbon folder (from 10.7 sdk) into max-includes. It compiles, and the external works, but any thoughts about avoiding this kind of ugliness in future would still be appreciated.

J.

#270454

You must be logged in to reply to this topic.