I tried to install pybluez using following commands.
pip install pybluez sudo easy_install pybluez
But for both commands I end up in errors.
Environment:
Mac OSX 10.9.1 Python 2.7
Pip Logs :
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -I/System/Library/Frameworks/IOBluetooth.framework/Headers -I/System/Library/Frameworks/CoreFoundation.framework/Headers -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c osx/_osxbt.c -o build/temp.macosx-10.9-intel-2.7/osx/_osxbt.o clang: warning: argument unused during compilation: '-mno-fused-madd' osx/_osxbt.c:676:5: error: unknown type name 'IOBluetoothDeviceInquiryRef'; did you mean 'IOBluetoothDeviceRef'? IOBluetoothDeviceInquiryRef inquiry; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ IOBluetoothDeviceRef /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/IOBluetooth.framework/Headers/IOBluetoothUserLib.h:34:47: note: 'IOBluetoothDeviceRef' declared here typedef struct OpaqueIOBluetoothObjectRef * IOBluetoothDeviceRef; ^ osx/_osxbt.c:688:17: error: unknown type name 'IOBluetoothDeviceInquiryRef'; did you mean 'IOBluetoothDeviceRef'? IOBluetoothDeviceInquiryRef inquiryRef, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ IOBluetoothDeviceRef /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/IOBluetooth.framework/Headers/IOBluetoothUserLib.h:34:47: note: 'IOBluetoothDeviceRef' declared here typedef struct OpaqueIOBluetoothObjectRef * IOBluetoothDeviceRef; ^ osx/_osxbt.c:703:19: warning: implicit declaration of function 'IOBluetoothDeviceInquiryCreateWithCallbackRefCon' is invalid in C99 [-Wimplicit-function-declaration] dd->inquiry = IOBluetoothDeviceInquiryCreateWithCallbackRefCon (&dd); ^ osx/_osxbt.c:703:17: warning: incompatible integer to pointer conversion assigning to 'IOBluetoothDeviceRef' (aka 'struct OpaqueIOBluetoothObjectRef *') from 'int' [-Wint-conversion] dd->inquiry = IOBluetoothDeviceInquiryCreateWithCallbackRefCon (&dd); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osx/_osxbt.c:705:5: warning: implicit declaration of function 'IOBluetoothDeviceInquirySetCompleteCallback' is invalid in C99 [-Wimplicit-function-declaration] IOBluetoothDeviceInquirySetCompleteCallback (dd->inquiry, ^ osx/_osxbt.c:717:5: warning: implicit declaration of function 'IOBluetoothDeviceInquiryStart' is invalid in C99 [-Wimplicit-function-declaration] IOBluetoothDeviceInquiryStart (dd->inquiry); ^ osx/_osxbt.c:721:5: warning: implicit declaration of function 'IOBluetoothDeviceInquiryDelete' is invalid in C99 [-Wimplicit-function-declaration] IOBluetoothDeviceInquiryDelete (dd->inquiry); ^ 5 warnings and 2 errors generated. error: command 'cc' failed with exit status 1 ---------------------------------------- Cleaning up... Removing temporary dir /private/var/folders/f0/ldyq8xbx0fvckg001kk64j7r0000gn/T/pip_build_~... Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/f0/ldyq8xbx0fvckg001kk64j7r0000gn/T/pip_build_~/pybluez/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/f0/ldyq8xbx0fvckg001kk64j7r0000gn/T/pip-j1ASQD-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/f0/ldyq8xbx0fvckg001kk64j7r0000gn/T/pip_build_~/pybluez Exception information: Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip-1.5.2-py2.7.egg/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/Library/Python/2.7/site-packages/pip-1.5.2-py2.7.egg/pip/commands/install.py", line 279, in run requirement_set.install(install_options, global_options, root=options.root_path) File "/Library/Python/2.7/site-packages/pip-1.5.2-py2.7.egg/pip/req.py", line 1380, in install requirement.install(install_options, global_options, *args, **kwargs) File "/Library/Python/2.7/site-packages/pip-1.5.2-py2.7.egg/pip/req.py", line 699, in install cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False) File "/Library/Python/2.7/site-packages/pip-1.5.2-py2.7.egg/pip/util.py", line 697, in call_subprocess % (command_desc, proc.returncode, cwd)) InstallationError: Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/f0/ldyq8xbx0fvckg001kk64j7r0000gn/T/pip_build_~/pybluez/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/f0/ldyq8xbx0fvckg001kk64j7r0000gn/T/pip-j1ASQD-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/f0/ldyq8xbx0fvckg001kk64j7r0000gn/T/pip_build_~/pybluez **easy_install Logs** Reading http://pypi.python.org/simple/pybluez/ Best match: PyBluez 0.20 Downloading https://pypi.python.org/packages/source/P/PyBluez/PyBluez-0.20.zip#md5=79fad332df63b67a5f9a8d25042fb2a8 Processing PyBluez-0.20.zip Running PyBluez-0.20/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Y5Y9H1/PyBluez-0.20/egg-dist-tmp-kwjDlw clang: warning: argument unused during compilation: '-mno-fused-madd' **osx/_osxbt.c:676:5: error: unknown type name 'IOBluetoothDeviceInquiryRef'; did you mean 'IOBluetoothDeviceRef'?** IOBluetoothDeviceInquiryRef inquiry; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ IOBluetoothDeviceRef **/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/IOBluetooth.framework/Headers/IOBluetoothUserLib.h:34:47: note:** 'IOBluetoothDeviceRef' declared here typedef struct OpaqueIOBluetoothObjectRef * IOBluetoothDeviceRef; ^ **osx/_osxbt.c:688:17: error: unknown type name 'IOBluetoothDeviceInquiryRef'; did you mean 'IOBluetoothDeviceRef'?** IOBluetoothDeviceInquiryRef inquiryRef, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ IOBluetoothDeviceRef **/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/IOBluetooth.framework/Headers/IOBluetoothUserLib.h:34:47: note:** 'IOBluetoothDeviceRef' declared here typedef struct OpaqueIOBluetoothObjectRef * IOBluetoothDeviceRef; ^ **osx/_osxbt.c:703:19: warning: implicit declaration of function 'IOBluetoothDeviceInquiryCreateWithCallbackRefCon' is invalid in C99 [-Wimplicit-function-declaration]** dd->inquiry = IOBluetoothDeviceInquiryCreateWithCallbackRefCon (&dd); ^ **osx/_osxbt.c:703:17: warning: incompatible integer to pointer conversion assigning to 'IOBluetoothDeviceRef' (aka 'struct OpaqueIOBluetoothObjectRef *') from 'int' [-Wint-conversion]** dd->inquiry = IOBluetoothDeviceInquiryCreateWithCallbackRefCon (&dd); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **osx/_osxbt.c:705:5: warning: implicit declaration of function 'IOBluetoothDeviceInquirySetCompleteCallback' is invalid in C99 [-Wimplicit-function-declaration]** IOBluetoothDeviceInquirySetCompleteCallback (dd->inquiry, ^ **osx/_osxbt.c:717:5: warning: implicit declaration of function 'IOBluetoothDeviceInquiryStart' is invalid in C99 [-Wimplicit-function-declaration]** IOBluetoothDeviceInquiryStart (dd->inquiry); ^ **osx/_osxbt.c:721:5: warning: implicit declaration of function 'IOBluetoothDeviceInquiryDelete' is invalid in C99 [-Wimplicit-function-declaration]** IOBluetoothDeviceInquiryDelete (dd->inquiry); ^ 5 warnings and 2 errors generated. error: Setup script exited with error: command 'cc' failed with exit status 1
Any one able to install pybluez on Mavericks ?
On Mountain Lion also the same installation errors.
Edit :
Replaced IOBluetoothDeviceInquiryRef with IOBluetoothDeviceRef and got rid of the errors. and able to install on Mac because of the warnings.
Installed using sudo python setup.py install
Here is the output
running install running build running build_py running build_ext running install_lib running install_egg_info Removing /Library/Python/2.7/site-packages/PyBluez-0.20-py2.7.egg-info Writing /Library/Python/2.7/site-packages/PyBluez-0.20-py2.7.egg-info
When I tried to import bluetooth I got an exception
Here is the output
>>> import bluetooth Traceback (most recent call last): File "", line 1, in File "bluetooth/__init__.py", line 47, in from osx import * File "bluetooth/osx.py", line 3, in raise NotImplementedError NotImplementedError
Fllowing link mentioned about the error
python bluetooth discovery with pybluez
What should be done to install pybluez on Mac