XVimProject / XVim

Xcode plugin for Vim keybindings
MIT License
5.16k stars 595 forks source link

Build failure using Xcode 8.3 beta 3 #1050

Open kconner opened 7 years ago

kconner commented 7 years ago

Operation

After self-signing Xcode:

sudo xcode-select -s <path-to-xcode-8.3-beta-3>
make

Expected behaviour

Should build XVim and install it to Xcode's plugins.

Environments

Crash log (if any)

… (long build log) …

Ld build/Release/XVim.xcplugin/Contents/MacOS/XVim normal x86_64 cd /Users/kevinconner/src/XVimProject/XVim export MACOSX_DEPLOYMENT_TARGET=10.7 /Applications/Xcode-beta\ with\ XVim.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -bundle -isysroot /Applications/Xcode-beta\ with\ XVim.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -L/Users/kevinconner/src/XVimProject/XVim/build/Release -L/Applications/Xcode-beta\ with\ XVim.app/Contents/Developer/../PlugIns/IDESourceEditor.ideplugin/Contents/MacOS -F/Users/kevinconner/src/XVimProject/XVim/build/Release -F/Applications/Xcode-beta\ with\ XVim.app/Contents/Developer/../Frameworks -F/Applications/Xcode-beta\ with\ XVim.app/Contents/Developer/../PlugIns -F/Applications/Xcode-beta\ with\ XVim.app/Contents/Developer/../SharedFrameworks -filelist /Users/kevinconner/src/XVimProject/XVim/build/XVim.build/Release/XVim.build/Objects-normal/x86_64/XVim.LinkFileList -mmacosx-version-min=10.7 -Xlinker -object_path_lto -Xlinker /Users/kevinconner/src/XVimProject/XVim/build/XVim.build/Release/XVim.build/Objects-normal/x86_64/XVim_lto.o -fobjc-arc -fobjc-link-runtime -framework AppKit -framework Cocoa -framework IDEFoundation -framework IDEKit -framework DVTFoundation -framework DVTKit /Applications/Xcode-beta\ with\ XVim.app/Contents/PlugIns/IDELanguageSupportUI.ideplugin/Contents/MacOS/IDELanguageSupportUI /Applications/Xcode-beta\ with\ XVim.app/Contents/PlugIns/IDESourceEditor.ideplugin/Contents/MacOS/IDESourceEditor -Xlinker -dependency_info -Xlinker /Users/kevinconner/src/XVimProject/XVim/build/XVim.build/Release/XVim.build/Objects-normal/x86_64/XVim_dependency_info.dat -o /Users/kevinconner/src/XVimProject/XVim/build/Release/XVim.xcplugin/Contents/MacOS/XVim Undefined symbols for architecture x86_64: "_OBJCCLASS$_IDEPlaygroundEditor", referenced from: anon in IDEPlaygroundEditor+XVim.o lOBJC$_CATEGORYIDEPlaygroundEditor$_XVim in IDEPlaygroundEditor+XVim.o objc-class-ref in XVimHookManager.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

kconner commented 7 years ago

Building @pebble8888's commit solves the problem.

mna commented 7 years ago

Same for me (I ported the changes on XVim's master because the fork had a few more diffs, and it worked). Nice workaround until the changes are merged.

bitQ2019 commented 7 years ago

@pebble8888 done a great job ! thanks

keith commented 7 years ago

https://github.com/XVimProject/XVim/pull/1055 This PR has Xcode 8.3 compatibility

pbrewczynski commented 7 years ago

OK. But who have the privileges to merge it to this repository?

JugglerShu commented 7 years ago

Sorry but I don't have much time to merge it to master branch. The fix is already merged into develop branch.

CallumHoward commented 7 years ago

Got it working with Xcode 8.3 using the above, but now in Xcode 8.3.1, even though it builds, it doesn't seem to load XVim when using Xcode.

keithZumper commented 7 years ago

Builds but doesn't load in 8.3

JugglerShu commented 7 years ago

Did you guys re-sign the new Xcode??

CallumHoward commented 7 years ago

@JugglerShu Ah yes, resigning fixed it. Now XVim is working using xcode-8.3-release branch on Xcode 8.3.1. Thanks!

jduan commented 7 years ago

I'm on the latest master branch (4ac2725) and "make" fails for my xcode (8.3.1). Can anyone help?

Ld build/Release/XVim.xcplugin/Contents/MacOS/XVim normal x86_64
    cd /Users/jduan/github/XVim
    export MACOSX_DEPLOYMENT_TARGET=10.7
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -L/Users/jduan/github/XVim/build/Release -L/Applications/Xcode.app/Contents/Developer/../PlugIns/IDESourceEditor.ideplugin/Contents/MacOS -F/Users/jduan/github/XVim/build/Release -F/Applications/Xcode.app/Contents/Developer/../Frameworks -F/Applications/Xcode.app/Contents/Developer/../PlugIns -F/Applications/Xcode.app/Contents/Developer/../SharedFrameworks -filelist /Users/jduan/github/XVim/build/XVim.build/Release/XVim.build/Objects-normal/x86_64/XVim.LinkFileList -mmacosx-version-min=10.7 -Xlinker -object_path_lto -Xlinker /Users/jduan/github/XVim/build/XVim.build/Release/XVim.build/Objects-normal/x86_64/XVim_lto.o -fobjc-arc -fobjc-link-runtime -framework AppKit -framework Cocoa -framework IDEFoundation -framework IDEKit -framework DVTFoundation -framework DVTKit /Applications/Xcode.app/Contents/PlugIns/IDELanguageSupportUI.ideplugin/Contents/MacOS/IDELanguageSupportUI /Applications/Xcode.app/Contents/PlugIns/IDESourceEditor.ideplugin/Contents/MacOS/IDESourceEditor -Xlinker -dependency_info -Xlinker /Users/jduan/github/XVim/build/XVim.build/Release/XVim.build/Objects-normal/x86_64/XVim_dependency_info.dat -o /Users/jduan/github/XVim/build/Release/XVim.xcplugin/Contents/MacOS/XVim
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_IDEPlaygroundEditor", referenced from:
      anon in IDEPlaygroundEditor+XVim.o
      l_OBJC_$_CATEGORY_IDEPlaygroundEditor_$_XVim in IDEPlaygroundEditor+XVim.o
      objc-class-ref in XVimHookManager.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **

The following build commands failed:
        Ld build/Release/XVim.xcplugin/Contents/MacOS/XVim normal x86_64
(1 failure)
make: *** [release] Error 65
tidbeck commented 7 years ago

@jduan you need to build the develop branch to get support for Xcode 8.3.1 as IDEPlaygroundEditor has been removed. See #1055

jduan commented 7 years ago

@tidbeck thank you so much! I built the develop branch and it worked beautifully.

dgutyanghs commented 7 years ago

Also work in XCode8.3.2 , good job!

cor commented 7 years ago

@tidbeck Thanks a lot! Switching to the develop branch made it work in Xcode 8.3.2 for me.

ghost commented 7 years ago

how do you guys switch to a develop branch?

jduan commented 7 years ago

It's standard git operations:

13hoop commented 7 years ago

thx

8.3 worked!

Chan-Chun commented 7 years ago

1.use Xcode to open xVim project! 2.entry "/XVim/Event Dispatchers" and then delete "IDEPlaygroundEditor+Xvim.h” and “IDEPlaygroundEditor+Xvim.m"
3.and entry "XVimHookManager.m" to delete the reference of them .

it works!

BBHNation commented 7 years ago

As @Chan-Chun said, it works on 8.3.3