title: "fatal error: sql.h" with unixODBC and pyodbc as a vendor app dependency
body: <p>I'm trying to add unixODBC as a vendor app dependency, as per notes that are outlined here: <a href="https://github.com/cloudfoundry/python-buildpack/issues/34" rel="nofollow noreferrer">https://github.com/cloudfoundry/python-buildpack/issues/34</a>, but I'm still getting fatal error:</p>
  
  <blockquote>
    <p>sql.h: No such file or directory.</p>
  </blockquote>
  
  <p>I've created a Minimal, Verifiable, Complete script below to facilitate readers with reproducing my issue:</p>
  
  <pre><code>mkdir new_app
  cd new_app
  
  cat &lt;&lt;EOF&gt;requirements.txt
  pyodbc==4.0.17
  EOF
  
  cat &lt;&lt;EOF&gt;manifest.yml
  applications:
   - name: pyodbc-test
     memory: 128M
  EOF
  
  cat &lt;&lt;EOF&gt;.profile
  export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/app/vendor/unixodbc/lib
  EOF
  
  sudo docker run -it --rm -v ${PWD}:/app cloudfoundry/cflinuxfs2 bash -c \
     "wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz;  tar xzf unixODBC-2.3.4.tar.gz; cd unixODBC-2.3.4;  ./configure --prefix=/app/vendor/unixodbc; make; make install;"
  </code></pre>
  
  <p>Followed by:</p>
  
  <pre><code>sudo chown -R ${USER}:${USER} vendor/
  pip3 download -r requirements.txt -d vendor/
  cf push 
  </code></pre>
  
  <p>The cf push output:</p>
  
  <pre><code>...
  -------&gt; Buildpack version 1.5.15
   !     Warning: Your application is missing a Procfile. This file tells Cloud Foundry how to run your application.
   !     Learn more: https://docs.cloudfoundry.org/buildpacks/prod-server.html#procfile
  -----&gt; Installing python-2.7.13
  Downloaded [file:///tmp/buildpack/dependencies/https___buildpacks.cloudfoundry.org_dependencies_python_python-2.7.13-linux-x64.tgz]
       $ pip install -r requirements.txt
         Collecting pyodbc==4.0.17 (from -r requirements.txt (line 1))
         Installing collected packages: pyodbc
           Running setup.py install for pyodbc: started
             Running setup.py install for pyodbc: finished with status 'error'
             Complete output from command /app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-sxxn23/pyodbc/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-lRnuMu-record/install-record.txt --single-version-externally-managed --compile:
             running build
             running build_ext
             building 'pyodbc' extension
             creating build/temp.linux-x86_64-2.7
             creating build/temp.linux-x86_64-2.7/src
             gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=4.0.17 -I/app/.heroku/python/include/python2.7 -c src/errors.cpp -o build/temp.linux-x86_64-2.7/src/errors.o -Wno-write-strings
             cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
             In file included from src/errors.cpp:2:0:
             src/pyodbc.h:56:17: fatal error: sql.h: No such file or directory
              #include &lt;sql.h&gt;
                              ^
             compilation terminated.
  
             ----------------------------------------
             running install
             creating build
             error: command 'gcc' failed with exit status 1
  Command "/app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-sxxn23/pyodbc/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-lRnuMu-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-sxxn23/pyodbc/
  Failed to compile droplet
  Exit status 223
  Staging failed: Exited with status 223
  Destroying container
  Successfully destroyed container
  </code></pre>
  
  <p>There is a similar question here: <a href="https://stackoverflow.com/questions/44962872/pyodbc-install-on-ibm-bluemix-server-error">pyodbc install on IBM Bluemix server error</a>, however that question is different to this question in that it is very generic, whereas this question is on the same topic but relates to a very specific set of build steps.</p>
  
  <hr>
  
  <p><strong>Update:</strong>  Here is the updated script based on the accepted answer:</p>
  
  <pre><code>mkdir new_app
  cd new_app
  
  cat &lt;&lt;EOF&gt;environment.yml
  name: pyodbc-test
  dependencies:
  - pyodbc
  EOF
  
  cat &lt;&lt;EOF&gt;manifest.yml
  applications:
   - name: pyodbc-test
     memory: 128M
  EOF
  
  cf push 
  </code></pre>