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

install fails - imagekit protocol declarations cannot be found #149

Closed
ronaldoussoren opened this issue Apr 4, 2016 · 3 comments
Closed
Labels
bug Something isn't working

Comments

@ronaldoussoren
Copy link
Owner

Original report by Davis Thames (Bitbucket: davis_thames, ).


While running python2.7 pyobjc/install.py:

#!console

...
gcc -fno-strict-aliasing -I/Users/***/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv
 -O3 -Wall -Wstrict-prototypes -I/Users/***/anaconda/include/python2.7 -c Modules/
_imagekit.m -o build/temp.macosx-10.5-x86_64-2.7/Modules/_imagekit.o 
-DPyObjC_BUILD_RELEASE=1011 -isysroot /
In file included from Modules/_imagekit.m:9:
Modules/_ImageKit_protocols.m:11:28: error: cannot find protocol declaration for
      'IKCameraDeviceViewDelegate'
    p = PyObjC_IdToPython(@protocol(IKCameraDeviceViewDelegate)); Py_XDECREF(p);
                           ^
Modules/_ImageKit_protocols.m:12:28: error: cannot find protocol declaration for
      'IKDeviceBrowserViewDelegate'
    p = PyObjC_IdToPython(@protocol(IKDeviceBrowserViewDelegate)); Py_XDECREF(p);
                           ^
Modules/_ImageKit_protocols.m:13:28: error: cannot find protocol declaration for
      'IKScannerDeviceViewDelegate'
    p = PyObjC_IdToPython(@protocol(IKScannerDeviceViewDelegate)); Py_XDECREF(p);
                           ^
3 errors generated.
error: command 'gcc' failed with exit status 1
Installing 'pyobjc-framework-Quartz' failed (status 1)

I have anaconda python 2.7; El Capital 10.11.3; most recent xcode & CLT update. I have cloned the most recent version of the library... and this is pretty new to me.

pyobjc-framework-Quartz/Modules contains _ImageKit_protocols.m, which appears to result in the included protocol references being brought into _imagekit.m, but something is not being found after that.

IKCameraDeviceView.h is located at /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers

IKDeviceBrowserView.h is also located at /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers

and

IKScannerDeviceView.h is located at /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers

Each of these files defined the "...Delegate" protocol (for example, /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKDeviceBrowserView.h defines the @protocol IKCameraDeviceViewDelegate).

It seems that pyobjc/pyobjc-framework-Quartz/Lib/Quartz/ImageKit/__init__.py is looking for the framework at objc.pathForFramework("/System/Library/Frameworks/Quartz.framework/Frameworks/ImageKit.framework")

I can ls /System/Library/Frameworks/Quartz.framework/Frameworks/ImageKit.framework/Headers and see the header files.

@ronaldoussoren
Copy link
Owner Author

Original comment by Ronald Oussoren (Bitbucket: ronaldoussoren, GitHub: ronaldoussoren).


A workaround:

MACOSX_DEPLOYMENT_TARGET=10.11 python install.py

A future release will include a proper fix, but that needs a little more thought.

@ronaldoussoren
Copy link
Owner Author

Original comment by Ronald Oussoren (Bitbucket: ronaldoussoren, GitHub: ronaldoussoren).


#149: Fix install problems with Anaconda

Fixes #149

@ronaldoussoren
Copy link
Owner Author

Original comment by Ronald Oussoren (Bitbucket: ronaldoussoren, GitHub: ronaldoussoren).


Removing version: 3.1 (automated comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant