title: pybluez installation errors on Mac OS
body: <p>I tried to install <strong>pybluez</strong> using following commands.</p>
  
  <pre><code>pip install pybluez
  
  sudo easy_install pybluez
  </code></pre>
  
  <p>But for both commands I end up in errors.</p>
  
  <p><strong>Environment:</strong></p>
  
  <pre><code>Mac OSX 10.9.1
  Python 2.7
  </code></pre>
  
  <p><strong>Pip Logs :</strong></p>
  
  <pre><code>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-&gt;inquiry = IOBluetoothDeviceInquiryCreateWithCallbackRefCon (&amp;dd);
  
                    ^
  
  osx/_osxbt.c:703:17: warning: incompatible integer to pointer conversion assigning to 'IOBluetoothDeviceRef' (aka 'struct OpaqueIOBluetoothObjectRef *') from 'int' [-Wint-conversion]
  
      dd-&gt;inquiry = IOBluetoothDeviceInquiryCreateWithCallbackRefCon (&amp;dd);
  
                  ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
  osx/_osxbt.c:705:5: warning: implicit declaration of function 'IOBluetoothDeviceInquirySetCompleteCallback' is invalid in C99 [-Wimplicit-function-declaration]
  
      IOBluetoothDeviceInquirySetCompleteCallback (dd-&gt;inquiry,
  
      ^
  
  osx/_osxbt.c:717:5: warning: implicit declaration of function 'IOBluetoothDeviceInquiryStart' is invalid in C99 [-Wimplicit-function-declaration]
  
      IOBluetoothDeviceInquiryStart (dd-&gt;inquiry);
  
      ^
  
  osx/_osxbt.c:721:5: warning: implicit declaration of function 'IOBluetoothDeviceInquiryDelete' is invalid in C99 [-Wimplicit-function-declaration]
  
      IOBluetoothDeviceInquiryDelete (dd-&gt;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-&gt;inquiry = IOBluetoothDeviceInquiryCreateWithCallbackRefCon (&amp;dd);
                    ^
  **osx/_osxbt.c:703:17: warning: incompatible integer to pointer conversion assigning to
        'IOBluetoothDeviceRef' (aka 'struct OpaqueIOBluetoothObjectRef *') from 'int' [-Wint-conversion]**
      dd-&gt;inquiry = IOBluetoothDeviceInquiryCreateWithCallbackRefCon (&amp;dd);
  
  
                ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  **osx/_osxbt.c:705:5: warning: implicit declaration of function
        'IOBluetoothDeviceInquirySetCompleteCallback' is invalid in C99
        [-Wimplicit-function-declaration]**
      IOBluetoothDeviceInquirySetCompleteCallback (dd-&gt;inquiry, 
  
     ^
  **osx/_osxbt.c:717:5: warning: implicit declaration of function 'IOBluetoothDeviceInquiryStart' is
        invalid in C99 [-Wimplicit-function-declaration]**
      IOBluetoothDeviceInquiryStart (dd-&gt;inquiry);
      ^
  
  **osx/_osxbt.c:721:5: warning: implicit declaration of function 'IOBluetoothDeviceInquiryDelete' is
        invalid in C99 [-Wimplicit-function-declaration]**
      IOBluetoothDeviceInquiryDelete (dd-&gt;inquiry);
      ^
  5 warnings and 2 errors generated.
  error: Setup script exited with error: command 'cc' failed with exit status 1
  </code></pre>
  
  <p>Any one able to install <strong>pybluez</strong> on <strong>Mavericks</strong> ?</p>
  
  <p>On <strong>Mountain Lion</strong> also the same installation errors.</p>
  
  <p><strong>Edit :</strong>  </p>
  
  <p>Replaced IOBluetoothDeviceInquiryRef with IOBluetoothDeviceRef and got rid of the errors.
  and able to install on Mac because of the warnings.</p>
  
  <p>Installed using <code>sudo python setup.py install</code></p>
  
  <p>Here is the output </p>
  
  <p><strong>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</strong></p>
  
  <p>When I tried to import bluetooth I got an exception</p>
  
  <p>Here is the output</p>
  
  <p><strong>>>> 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</strong></p>
  
  <p>Fllowing link mentioned about the error</p>
  
  <p><a href="https://stackoverflow.com/questions/4359292/python-bluetooth-discovery-with-pybluez">python bluetooth discovery with pybluez</a></p>
  
  <p>What should be done to install pybluez on Mac</p>