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

Not buildling under Xcode 5.1 DP1 (Garbage collection issue) #533

Closed
Goles opened this issue Nov 25, 2013 · 22 comments
Closed

Not buildling under Xcode 5.1 DP1 (Garbage collection issue) #533

Goles opened this issue Nov 25, 2013 · 22 comments

Comments

@Goles
Copy link
Member

Goles commented Nov 25, 2013

Garbage collection is no longer supported on XCode 5.1 so I'm getting compiler errors when trying to build.

//:configuration = Debug
GCC_ENABLE_OBJC_GC = supported

//:configuration = Release
GCC_ENABLE_OBJC_GC = supported

//:completeSettings = some
GCC_ENABLE_OBJC_GC

_This is the error_

    error: garbage collection is no longer supported
@JohnTheAppleSeed
Copy link
Contributor

The patch is:

diff --git a/XVim.xcodeproj/project.pbxproj b/XVim.xcodeproj/project.pbxproj
index d69394c..70cda6f 100644
--- a/XVim.xcodeproj/project.pbxproj
+++ b/XVim.xcodeproj/project.pbxproj
@@ -1005,7 +1005,6 @@
                        buildSettings = {
                                ALWAYS_SEARCH_USER_PATHS = YES;
                                COMBINE_HIDPI_IMAGES = YES;
-                               GCC_ENABLE_OBJC_GC = supported;
                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
                                GCC_PREFIX_HEADER = "XVim/XVim-Prefix.pch";
                                GCC_PREPROCESSOR_DEFINITIONS = (
@@ -1027,7 +1026,6 @@
                        buildSettings = {
                                ALWAYS_SEARCH_USER_PATHS = YES;
                                COMBINE_HIDPI_IMAGES = YES;
-                               GCC_ENABLE_OBJC_GC = supported;
                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
                                GCC_PREFIX_HEADER = "XVim/XVim-Prefix.pch";
                                GCC_PREPROCESSOR_DEFINITIONS = "XVIM_XCODE_VERSION=5";

I'll push it to my buffer-refactor branch when I'm home

@Goles
Copy link
Member Author

Goles commented Nov 25, 2013

Applied the patch, compiled (was getting an error about not using a variable in a debug method, commented it out).

However XVim doesn't appear to work (getting the regular Xcode cursor).

JohnTheAppleSeed added a commit to JohnTheAppleSeed/XVim that referenced this issue Nov 25, 2013
@JohnTheAppleSeed
Copy link
Contributor

have you tried the top of my buffer-refactor branch?

I shall try to install XCode 5.1...

@Goles
Copy link
Member Author

Goles commented Nov 25, 2013

@JohnTheAppleSeed Yes, I tried that, re-install... it's complaining about some properties not being synthesized... (couldn't look too much at it since I'm at work)

Thanks for your efforts 👍

@JohnTheAppleSeed
Copy link
Contributor

huh, that doesn't make sense
I just fixed the Release build (the unused variable issue) but it builds fine for me

@Goles
Copy link
Member Author

Goles commented Nov 25, 2013

@JohnTheAppleSeed that's what I thought too, will take another look at it when I get home ;)

@JohnTheAppleSeed
Copy link
Contributor

oh wait, there must be some new UUID to add to the plist presumably, have you looked at your syslog to check whether XVim wasnt just ignored by XCode 5.1?

if Yes it logs about UUID strings that you should have in the plist for the plugin to load IIRC.

@Goles
Copy link
Member Author

Goles commented Nov 26, 2013

@JohnTheAppleSeed I think that could be the case, here's the message that I'm getting in the system log:

11/26/13 2:30:29.294 PM Xcode[99008]: [MT] PluginLoading: Required plug-in compatibility UUID 640F884E-CE55-4B40-87C0-8869546CAB7A for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XVim.xcplugin' not present in DVTPlugInCompatibilityUUIDs

@JohnTheAppleSeed
Copy link
Contributor

Then here is the patch you need, rebuild, install, and enjoy.
I'll add it to my branch as usual.

diff --git a/XVim/Info_Xcode5.plist b/XVim/Info_Xcode5.plist
index c8f3d5f..d01c3ab 100644
--- a/XVim/Info_Xcode5.plist
+++ b/XVim/Info_Xcode5.plist
@@ -22,6 +22,7 @@
        <array>
                <string>37B30044-3B14-46BA-ABAA-F01000C27B63</string>
                <string>63FC1C47-140D-42B0-BB4D-A10B2D225574</string>
+               <string>640F884E-CE55-4B40-87C0-8869546CAB7A</string>
        </array>
        <key>NSHumanReadableCopyright</key>
        <string>Copyright © 2012 JugglerShu.Net. All rights reserved.</string>

Alternatively you can edit ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/XVim.xcplugin/Contents/Info.plist which is what it will do eventually anyway

@Goles
Copy link
Member Author

Goles commented Nov 26, 2013

@JohnTheAppleSeed Hey there, you can proceed to reject my Pull Request then 👍 !

Thanks!

@JohnTheAppleSeed
Copy link
Contributor

This is now pushed, with other goodies, to my buffer-refactor branch

@JohnTheAppleSeed
Copy link
Contributor

Jeez, JohnTheAppleSeed/XVim@JugglerShu:develop...buffer-refactor begins to be pretty massive, I should consider a pull request at some point …

@Goles
Copy link
Member Author

Goles commented Nov 26, 2013

👍

maybe it would be a good idea...

@gitaarik
Copy link

@JohnTheAppleSeed I tried your buffer-refactor branch but I get these issues in XVimWindowEvaluator.m on a 64-bit Macbook with Mavericks:

Impilicit conversion changes signedness: 'NSInteger' (aka 'long') to 'unsigned long'

screen shot 2014-03-11 at 13 14 07

@Goles
Copy link
Member Author

Goles commented Mar 11, 2014

@gitaarik I don't remember exactly, but at some version of Xcode this warnings started to be treated as errors... perhaps @JohnTheAppleSeed wrote this code before that.

I think that I'm actually using his branch without issues.

@gitaarik
Copy link

@Goles I solved these issues and it's building successfully now, but XVim doesn't seem to get installed into XCode.

@evanbrass
Copy link

Not quite an expert yet, so I tried the patch fixes above, but still getting errors.
running mavericks 10.9.2 Xcode 5.1 (5B130a)
-first ran into Garbage collection errors so I deleted all instances of
GCC_ENABLE_OBJC_GC = supported;

  • then I edited Info_Xcode5.plist by adding the line:
    640F884E-CE55-4B40-87C0-8869546CAB7A

I get these errors:
screen shot 2014-03-12 at 2 02 52 pm

I really like the plugin - any help would be greatly appreciated,

@JugglerShu
Copy link
Contributor

Here's several things you can try.

  • Use A2E4D43F-41F4-4FB9-BB94-7177011C9AED as your UUID
  • Turn off "Treat warnings as errors"

@evanbrass
Copy link

tried Treat Errors as warnings - didn't help
I'm afraid of changing my UUID (don't know enough about them yet)
Ended up re-installing Xcode 5.02 and Xvim works fine with that version.
Thanks for your help, and for the great plugin-

@thomasztyler
Copy link

I've followed all the steps in this thread but am still unable to compile. I get linker errors on OBJC_CLASS$_DVTFoldingTextStorage.

I notice that in my Frameworks folder there are five frameworks listed in red:
IDESourceEditor.ideplugin
DVTFoundation.framework
DVTKit.framework
IDEFoundation.framework
IDEKit.framework

I tried to add them but they are not in the list of available frameworks. I'm not sure where to obtain them from.

Any possibility of issuing a new release any time soon that does not depend on garbage collection?

In any event, thanks for any help and for this plugin. It makes XCode an acceptable IDE.

@JugglerShu
Copy link
Contributor

@thomasztyler
Have you changed the scheme to XVim for Xcode5 ? It seems that you are building XVim for Xcode 4...

@thomasztyler
Copy link

Many thanks! That was the answer.

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

6 participants