Are there steps to install missed numba?

 ./run apps/samples/stereo_vo/svo_realsense.py
Running your Python script
/home/agx/.local/lib/python3.6/site-packages/quaternion/numba_wrapper.py:21: UserWarning: 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Could not import from numba, which means that some
parts of this code may run MUCH more slowly.  You
may wish to install numba.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

trying with

sudo apt install libssl-dev
wget https://github.com/Kitware/CMake/releases/download/v3.18.0/cmake-3.18.0.tar.gz
tar -xvf cmake-3.18.0.tar.gz
cd cmake-3.18.0/
./bootstrap && make && sudo make install
git clone https://github.com/llvm/llvm-project.git
cd llvm-project
cmake ../llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="ARM;X86;AArch64"

well; first attempt failed; due to the fact that llvm version was 12; and llvmlite required 9.0x version;
Attempt N2

wget https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/llvm-9.0.1.src.tar.xz
 tar -xvf  llvm-9.0.1.src.tar.xz
cd llvm-9.0.1.src/
mkdir build
cd build
 cmake ../ -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="ARM;X86;AArch64"
make -j8
sudo make install
cd bin
echo "export LLVM_CONFIG=\""`pwd`"/llvm-config\"" >> ~/.bashrc
 echo "alias llvm='"`pwd`"/llvm-lit'" >> ~/.bashrc
 source ~/.bashrc
 sudo pip3 install llvmlite
sudo pip3 install numba

reference https://github.com/jefflgaol/Install-Packages-Jetson-ARM-Family
upd: llvmlite installs numba fails
upd:
reference https://github.com/numba/numba/issues/5998
upd trying

pip3 install numba==0.47

done; it worked
However, this numba will halt execution of svo

 ./run ./apps/samples/stereo_vo/svo_realsense.py 
Running your Python script
Traceback (most recent call last):
  File "./apps/samples/stereo_vo/svo_realsense.py", line 10, in <module>
    from engine.pyalice import Application, Node
  File "/home/agx/deploy/opal-2/svo_realsense-pkg/engine/pyalice/__init__.py", line 15, in <module>
    from .Application import Application
  File "/home/agx/deploy/opal-2/svo_realsense-pkg/engine/pyalice/Application.py", line 25, in <module>
    import quaternion
  File "/home/agx/.local/lib/python3.6/site-packages/quaternion/__init__.py", line 13, in <module>
    from .quaternion_time_series import slerp, squad, integrate_angular_velocity, minimal_rotation, angular_velocity
  File "/home/agx/.local/lib/python3.6/site-packages/quaternion/quaternion_time_series.py", line 8, in <module>
    from quaternion.numba_wrapper import njit
  File "/home/agx/.local/lib/python3.6/site-packages/quaternion/numba_wrapper.py", line 11, in <module>
    from numba import njit, jit, vectorize, int64, float64, complex128
  File "/usr/local/lib/python3.6/dist-packages/numba/__init__.py", line 196, in <module>
    import numba.typed
  File "/usr/local/lib/python3.6/dist-packages/numba/typed/__init__.py", line 3, in <module>
    from .typeddict import Dict
  File "/usr/local/lib/python3.6/dist-packages/numba/typed/typeddict.py", line 19, in <module>
    @njit
  File "/usr/local/lib/python3.6/dist-packages/numba/decorators.py", line 238, in njit
    return jit(*args, **kws)
  File "/usr/local/lib/python3.6/dist-packages/numba/decorators.py", line 175, in jit
    return wrapper(pyfunc)
  File "/usr/local/lib/python3.6/dist-packages/numba/decorators.py", line 191, in wrapper
    **dispatcher_args)
  File "/usr/local/lib/python3.6/dist-packages/numba/dispatcher.py", line 650, in __init__
    self.targetctx = self.targetdescr.target_context
  File "/usr/local/lib/python3.6/dist-packages/numba/targets/registry.py", line 50, in target_context
    return self._toplevel_target_context
  File "/usr/local/lib/python3.6/dist-packages/numba/utils.py", line 390, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/lib/python3.6/dist-packages/numba/targets/registry.py", line 34, in _toplevel_target_context
    return cpu.CPUContext(self.typing_context)
  File "/usr/local/lib/python3.6/dist-packages/numba/targets/base.py", line 260, in __init__
    self.init()
  File "/usr/local/lib/python3.6/dist-packages/numba/compiler_lock.py", line 32, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/numba/targets/cpu.py", line 51, in init
    self._internal_codegen = codegen.JITCPUCodegen("numba.exec")
  File "/usr/local/lib/python3.6/dist-packages/numba/targets/codegen.py", line 628, in __init__
    self._init(self._llvm_module)
  File "/usr/local/lib/python3.6/dist-packages/numba/targets/codegen.py", line 637, in _init
    tm = target.create_target_machine(**tm_options)
TypeError: create_target_machine() got an unexpected keyword argument 'jitdebug'

reference Is numba supported?

1 Like

Hello @Andrey1984 and thank you for reaching out to us.
To use the ISAAC Python API you are not expected to install numba by hand.
You need to run the setup script engine/build/scripts/install_dependencies.sh on the machine.

Hi Mike,
Thank you for your response.
Do you imply that the script installs the numba to the target Jetson?

I don’t mean the script installs numba which is not required by apps/samples/stereo_vo/svo_realsense.py
The aforementioned warning text is printed by the third-party library that we don’t control.
You can safely ignore the message as numba is not required for running the app.

unity3d won’t start either,
I am runing it over remote desktop though;
Are you able to provide a solution fot it?
Shall I post to a separate thread?

 ./sample.x86_64 --scene small_warehouse -logFile -
Set current directory to /home/user/isaac_sim_unity3d/builds
Found path: /home/user/isaac_sim_unity3d/builds/sample.x86_64
Mono path[0] = '/home/user/isaac_sim_unity3d/builds/sample_Data/Managed'
Mono config path = '/home/user/isaac_sim_unity3d/builds/sample_Data/MonoBleedingEdge/etc'
Preloaded 'libSubstance.Engine.so'
Preloaded 'libsubstance_sse2_blend.so'
Display 0 'default': 800x600 (primary device).
Unable to load player prefs
Desktop is 800 x 600 @ 60 Hz
[Vulkan init] extensions: count=15
[Vulkan init] extensions: name=VK_KHR_device_group_creation, enabled=0
[Vulkan init] extensions: name=VK_KHR_display, enabled=1
[Vulkan init] extensions: name=VK_KHR_external_fence_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_memory_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_semaphore_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_physical_device_properties2, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_surface_capabilities2, enabled=0
[Vulkan init] extensions: name=VK_KHR_surface, enabled=1
[Vulkan init] extensions: name=VK_KHR_xcb_surface, enabled=0
[Vulkan init] extensions: name=VK_KHR_xlib_surface, enabled=1
[Vulkan init] extensions: name=VK_EXT_acquire_xlib_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_debug_report, enabled=0
[Vulkan init] extensions: name=VK_EXT_debug_utils, enabled=0
[Vulkan init] extensions: name=VK_EXT_direct_mode_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_display_surface_counter, enabled=0
Vulkan detection: 0
No supported renderers found, exiting 
(Filename:  Line: 618)

the bashrc line added

export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json

Indeed, this Unity question belongs to a new thread, thank you.

may I know what is the numba version that is compatible with the third party application utilized by isaac sight?

Sorry, could you tell us what is the application you’re asking about?

The one that throws the message - the quaternion

As I have explained earlier, the aforementioned warning text is printed by the third-party library numpy-quaternion that we don’t control.
The library provides integration with a numba library that’s not relevant for the SVO application.
You can safely ignore the message as numba is not required for running the apps/samples/stereo_vo/svo_realsense.py.
So you’re safe to ignore numba for now.

is it required for running zed svo? other deployed apps?
it reqiures me every time to uninstall numba before running the deployed app, as otherwise some of them won’t run, throwing errors; I will try the latest numba probably to see if it will work with it.

May I ask why you need to have numba installed on the Jetson system?

there is no explicit need to have numba, but for unfinished trial to install the latest version of it to see if it works
some reference use cases of application of numba:
https://nyu-cds.github.io/python-numba/05-cuda/
https://numba.pydata.org/numba-doc/latest/cuda/index.html
http://jmcoastal.co.uk/html/CUDA_for_Python.html

I see. Let me put it this way to avoid possible user confusion: numba installation is not required by apps/samples/stereo_vo and other part of Isaac, to my knowledge.
If there’s some interference between ISAAC Python API and the default JetPack 4.3 L4T package installation of numba (installed by apt install python3-numba)
please let us know.

in my environment after installing numba with apt

 ./run apps/samples/stereo_vo/svo_realsense.py
Running your Python script
Traceback (most recent call last):
  File "apps/samples/stereo_vo/svo_realsense.py", line 10, in <module>
    from engine.pyalice import Application, Node
  File "/home/agx/deploy/opal-2/svo_realsense-pkg/engine/pyalice/__init__.py", line 15, in <module>
    from .Application import Application
  File "/home/agx/deploy/opal-2/svo_realsense-pkg/engine/pyalice/Application.py", line 25, in <module>
    import quaternion
  File "/home/agx/.local/lib/python3.6/site-packages/quaternion/__init__.py", line 13, in <module>
    from .quaternion_time_series import slerp, squad, integrate_angular_velocity, minimal_rotation, angular_velocity
  File "/home/agx/.local/lib/python3.6/site-packages/quaternion/quaternion_time_series.py", line 168, in <module>
    @njit
  File "/usr/lib/python3/dist-packages/numba/decorators.py", line 232, in njit
    return jit(*args, **kws)
  File "/usr/lib/python3/dist-packages/numba/decorators.py", line 174, in jit
    return wrapper(pyfunc)
  File "/usr/lib/python3/dist-packages/numba/decorators.py", line 190, in wrapper
    **dispatcher_args)
  File "/usr/lib/python3/dist-packages/numba/dispatcher.py", line 467, in __init__
    self.targetctx = self.targetdescr.target_context
  File "/usr/lib/python3/dist-packages/numba/targets/registry.py", line 54, in target_context
    return self._toplevel_target_context
  File "/usr/lib/python3/dist-packages/numba/utils.py", line 283, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/lib/python3/dist-packages/numba/targets/registry.py", line 38, in _toplevel_target_context
    return cpu.CPUContext(self.typing_context)
  File "/usr/lib/python3/dist-packages/numba/targets/base.py", line 246, in __init__
    self.init()
  File "/usr/lib/python3/dist-packages/numba/targets/cpu.py", line 42, in init
    self._internal_codegen = codegen.JITCPUCodegen("numba.exec")
  File "/usr/lib/python3/dist-packages/numba/targets/codegen.py", line 537, in __init__
    self._init(self._llvm_module)
  File "/usr/lib/python3/dist-packages/numba/targets/codegen.py", line 546, in _init
    tm = target.create_target_machine(**tm_options)
TypeError: create_target_machine() got an unexpected keyword argument 'jitdebug'
sudo apt purge python3-numba
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  fonts-font-awesome fonts-lato gir1.2-geocodeglib-1.0 javascript-common libjs-jquery libjs-modernizr libjs-sphinxdoc libjs-underscore libllvm4.0
  libllvm8 llvm-4.0 llvm-4.0-dev llvm-4.0-runtime llvmlite-doc numba-doc python-enum34 python-llvmlite python-numba python-singledispatch
  python3-llvmlite sphinx-rtd-theme-common
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  python3-numba*
0 upgraded, 0 newly installed, 1 to remove and 4 not upgraded.
After this operation, 5,506 kB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 170710 files and directories currently installed.)
Removing python3-numba (0.34.0-3) ...
update-alternatives: using /usr/share/python-numba/numba to provide /usr/bin/numba (numba) in auto mode

then the app starts