nv-tlabs / ASE

Other
793 stars 128 forks source link

[fbx_sdk install manual] if you stucked in install fbx_sdk for import fbx or other files. check this #61

Closed hhebb closed 1 year ago

hhebb commented 1 year ago

finally i installed fbx sdk in my machine. it was not easy, so those who suffering to install fbx_sdk, i hope this helps. i wrote that manual with many googling and trial.

environment

* Ubuntu 20.04 LTS
* python 3.8.10
  1. download and install fbx sdk
    • fbx sdk
      • version
        • 202032
      • tar file download path
        • ./<YOUR_FBXSDK_PATH>/
      • instruction
        • cd <YOUR_FBXSDK_PATH>
        • tar zxvf fbx202032_fbxsdk_linux.tar.gz
        • ./fbx202032_fbxsdk_linux.tar.gz
        • export FBXSDK_ROOT=<YOUR_FBXSDK_PATH>
      • you should check env param
    • fbx python binding
      • version
        • 202032
      • tar file download path
        • ./YOUR_FBX_PYTHON_BINDING_PATH/
      • instruction
        • cd <YOUR_FBX_PYTHON_BINDING_PATH>
        • tar zxvf fbx202032_fbxpythonbindings_linux.tar.gz
        • ./fbx202032_fbxpythonbindings_linux.tar.gz
    • reference
  2. sip - build tool
  3. sdk build
    • cd <YOUR_FBX_PYTHON_BINDING_PATH>
    • python PythonBindings.py Python3_x64 buildsip
    • when get problem with lxml
      • sudo apt insatll libxml2-dev
      • python PythonBindings.py Python3_x64 buildsip
  4. modify make file and re-install

    • there is possibility of error when import fbx after first build.

    • cd <YOUR_FBX_PYTHON_BINDING_PATH>/build/Python38_x64

    • make clean

    • open make file and modify

      from
      
      LIBS = -L/workspace/CALM/fbxsdk/lib/gcc/x64/release -lz -lxml2 /workspace/CALM/fbxsdk/lib/gcc/x64/release/libfbxsdk.a
      
      to
      
      LIBS = -L/workspace/CALM/fbxsdk/lib/gcc/x64/release /workspace/CALM/fbxsdk/lib/gcc/x64/release/libfbxsdk.a -lz -lxml2
      
    • make install

    • files are created in <YOUR_FBX_PYTHON_BINDING_PATH/build/Distrib/site-packages/fbx> after installing

      • fbx.so
      • FbxCommon.py
      • fbxsip.so
    • and file is copied to <YOUR_PIP_PATH>/site-packages

      • fbx.so
  5. add sys path to your .py file

    • the package paths are not added to python sys.path, you should add path manually.

    • maybe i should move<YOUR_FBX_PYTHON_BINDING_PATH/build/Distrib/site-packages/fbx> to my python site-package. and maybe don't need this step.

      import sys
      sys.path.append('<YOUR_FBX_PYTHON_BINDING_PATH>/build/Distrib/site-packages/fbx/')
      ...
    • now you can successfully import fbx, FbxCommon packages.

  6. other reference
ziyanx02 commented 6 months ago

I get /usr/bin/ld: cannot find -lz as well as /usr/bin/ld: cannot find -lxml2 while building pythonbindings. It's caused by the missing of both zlib and libxml2 (not sure if it's common to miss libz). The problem can be solved by sudo apt install zlib1g-dev libxml2-dev. It took me some time to find out which package -lz stands for, so I comment here for those who may stuck on the same problem as me.

xiaohu-art commented 3 months ago

Error: FBX library failed to load - importing FBX data will not succeed. Message: No module named 'fbxsip'

Hellod035 commented 2 months ago

Error: FBX library failed to load - importing FBX data will not succeed. Message: No module named 'fbxsip'

I also encountered the same problem in Ubuntu 22.04. Is there any solution?

shijiyuanaa commented 2 months ago

Error: FBX library failed to load - importing FBX data will not succeed. Message: No module named 'fbxsip'

I also encountered the same problem in Ubuntu 22.04. Is there any solution?

after modifying the Makefile, run sudo make before make install