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

ERROR: Failed building wheel for tinyobjloader - Trying to install Python bindings failed! #281

Open
Cocco17 opened this issue Aug 28, 2020 · 3 comments
Labels

Comments

@Cocco17
Copy link

Cocco17 commented Aug 28, 2020

Describe the issue
I just tried to install the python bindings using PyPi with the command "pip install tinyobjloader". However, there seems to be a problem with a missing file "tiny_obj_loader.h":

    bindings.cc:10:10: fatal error: 'tiny_obj_loader.h' file not found
    #include "tiny_obj_loader.h"

Environment

  • current TinyObjLoader version
  • OS: macOS
  • Python: 3.8.5 in virtualenv
  • Environment: Visual Studio Code

Does anybody else have this problem? The whole log file looks like this:

pip install tinyobjloader
Collecting tinyobjloader
  Downloading tinyobjloader-0.1.tar.gz (3.1 kB)
Building wheels for collected packages: tinyobjloader
  Building wheel for tinyobjloader (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: '.../virtualenv/bin/python' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-2vj753ms/tinyobjloader/setup.py'"'"'; __file__='"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-2vj753ms/tinyobjloader/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-wheel-lkgc0vyz
       cwd: /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-2vj753ms/tinyobjloader/
  Complete output (12 lines):
  running bdist_wheel
  running build
  running build_ext
  building 'tinyobjloader' extension
  creating build
  creating build/temp.macosx-10.15-x86_64-3.8
  clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I../ -I../pybind11/include -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/.../virtualenv/include -I/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c bindings.cc -o build/temp.macosx-10.15-x86_64-3.8/bindings.o -std=c++11
  bindings.cc:10:10: fatal error: 'tiny_obj_loader.h' file not found
  #include "tiny_obj_loader.h"
           ^~~~~~~~~~~~~~~~~~~
  1 error generated.
  error: command 'clang' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for tinyobjloader
  Running setup.py clean for tinyobjloader
Failed to build tinyobjloader
DEPRECATION: Could not build wheels for tinyobjloader which do not use PEP 517. pip will fall back to legacy 'setup.py install' for these. pip 21.0 will remove support for this functionality. A possible replacement is to fix the wheel build issue reported above. You can find discussion regarding this at https://github.com/pypa/pip/issues/8368.
Installing collected packages: tinyobjloader
    Running setup.py install for tinyobjloader ... error
    ERROR: Command errored out with exit status 1:
     command: '.../virtualenv/bin/python' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-2vj753ms/tinyobjloader/setup.py'"'"'; __file__='"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-2vj753ms/tinyobjloader/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-record-ptvilqp5/install-record.txt --single-version-externally-managed --compile --install-headers '.../virtualenv/include/site/python3.8/tinyobjloader'
         cwd: /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-2vj753ms/tinyobjloader/
    Complete output (12 lines):
    running install
    running build
    running build_ext
    building 'tinyobjloader' extension
    creating build
    creating build/temp.macosx-10.15-x86_64-3.8
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I../ -I../pybind11/include -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/.../virtualenv/include -I/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c bindings.cc -o build/temp.macosx-10.15-x86_64-3.8/bindings.o -std=c++11
    bindings.cc:10:10: fatal error: 'tiny_obj_loader.h' file not found
    #include "tiny_obj_loader.h"
             ^~~~~~~~~~~~~~~~~~~
    1 error generated.
    error: command 'clang' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: '.../virtualenv/bin/python' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-2vj753ms/tinyobjloader/setup.py'"'"'; __file__='"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-2vj753ms/tinyobjloader/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-record-ptvilqp5/install-record.txt --single-version-externally-managed --compile --install-headers '.../virtualenv/include/site/python3.8/tinyobjloader' Check the logs for full command output.

I updated and upgraded pip, but that didn't solve the issue:

(virtualenv) (base) MBP: pip install pip --upgrade
Requirement already up-to-date: pip in ./virtualenv/lib/python3.8/site-packages (20.2.2)
(virtualenv) (base) MBP: pip install setuptools --upgrade 
Collecting setuptools
  Using cached setuptools-49.6.0-py3-none-any.whl (803 kB)
Installing collected packages: setuptools
  Attempting uninstall: setuptools
    Found existing installation: setuptools 49.2.1
    Uninstalling setuptools-49.2.1:
      Successfully uninstalled setuptools-49.2.1
Successfully installed setuptools-49.6.0
(virtualenv) (base) MBP: pip install tinyobjloader
Collecting tinyobjloader
  Using cached tinyobjloader-0.1.tar.gz (3.1 kB)
Building wheels for collected packages: tinyobjloader
  Building wheel for tinyobjloader (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: '.../virtualenv/bin/python' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-m93xbcii/tinyobjloader/setup.py'"'"'; __file__='"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-m93xbcii/tinyobjloader/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-wheel-8eydjugw
       cwd: /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-m93xbcii/tinyobjloader/
  Complete output (12 lines):
  running bdist_wheel
  running build
  running build_ext
  building 'tinyobjloader' extension
  creating build
  creating build/temp.macosx-10.15-x86_64-3.8
  clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I../ -I../pybind11/include -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/.../virtualenv/include -I/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c bindings.cc -o build/temp.macosx-10.15-x86_64-3.8/bindings.o -std=c++11
  bindings.cc:10:10: fatal error: 'tiny_obj_loader.h' file not found
  #include "tiny_obj_loader.h"
           ^~~~~~~~~~~~~~~~~~~
  1 error generated.
  error: command 'clang' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for tinyobjloader
  Running setup.py clean for tinyobjloader
Failed to build tinyobjloader
DEPRECATION: Could not build wheels for tinyobjloader which do not use PEP 517. pip will fall back to legacy 'setup.py install' for these. pip 21.0 will remove support for this functionality. A possible replacement is to fix the wheel build issue reported above. You can find discussion regarding this at https://github.com/pypa/pip/issues/8368.
Installing collected packages: tinyobjloader
    Running setup.py install for tinyobjloader ... error
    ERROR: Command errored out with exit status 1:
     command: '.../virtualenv/bin/python' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-m93xbcii/tinyobjloader/setup.py'"'"'; __file__='"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-m93xbcii/tinyobjloader/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-record-ib010ohc/install-record.txt --single-version-externally-managed --compile --install-headers '.../virtualenv/include/site/python3.8/tinyobjloader'
         cwd: /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-m93xbcii/tinyobjloader/
    Complete output (12 lines):
    running install
    running build
    running build_ext
    building 'tinyobjloader' extension
    creating build
    creating build/temp.macosx-10.15-x86_64-3.8
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I../ -I../pybind11/include -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/.../virtualenv/include -I/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c bindings.cc -o build/temp.macosx-10.15-x86_64-3.8/bindings.o -std=c++11
    bindings.cc:10:10: fatal error: 'tiny_obj_loader.h' file not found
    #include "tiny_obj_loader.h"
             ^~~~~~~~~~~~~~~~~~~
    1 error generated.
    error: command 'clang' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: '.../virtualenv/bin/python' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-m93xbcii/tinyobjloader/setup.py'"'"'; __file__='"'"'/private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-install-m93xbcii/tinyobjloader/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/5l/fz9zb8t97gd0lfys34g_5r040000gq/T/pip-record-ib010ohc/install-record.txt --single-version-externally-managed --compile --install-headers '.../virtualenv/include/site/python3.8/tinyobjloader' Check the logs for full command output.

Thanks a lot in advance!

@syoyo syoyo added the invalid label Aug 28, 2020
@syoyo
Copy link
Collaborator

syoyo commented Aug 28, 2020

You need to use 2.0.0 branch: https://pypi.org/project/tinyobjloader/2.0.0rc7/
(it has a precompiled binary for Windows, Linux and macOS)

NOTE: python binding is not officially supported yet

@Cocco17
Copy link
Author

Cocco17 commented Aug 28, 2020

Alright, thanks a lot for the quick response!
Just tried to install it and it seems to work :)

Regarding your note: I see that this is still an early version and there is no official support yet. However, I was looking for a parser to view wavefront obj files with pyqtgraph and I wanna give it a shot with this bindings.

@syoyo
Copy link
Collaborator

syoyo commented Aug 28, 2020

At least python bindings should work well for mandatory attributes(vertex positions, indices, etc).

There may be missing parameters(e.g. Material parameters) which is not yet exposed into Python world.
Contribution of improving python bindings is always welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants