NVIDIA / edk2-nvidia

NVIDIA EDK2 platform support
Other
78 stars 36 forks source link

venv/bin/activate: No such file or directory #104

Closed nirushka closed 3 months ago

nirushka commented 3 months ago

Hi,

Trying to run edk2-nvidia/Platform/NVIDIA/Jetson/build.sh after all installations and receive the following error:

nvidia: building from workspace rooted at: /home/niro/tmp/UEFI/nvidia-uefi nvidia: found command: python3. nvidia: found command: virtualenv. nvidia: found command: mono. nvidia: found command: aarch64-linux-gnu-gcc. nvidia: found Python 3.10 or later. nvidia: Creating Python virtual environment in /home/niro/tmp/UEFI/nvidia-uefi/venv... created virtual environment CPython3.10.12.final.0-64 in 72ms creator CPython3Posix(dest=/home/niro/tmp/UEFI/nvidia-uefi/venv, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/niro/.local/share/virtualenv) added seed packages: pip==22.0.2, setuptools==59.6.0, wheel==0.37.1 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator /home/niro/tmp/UEFI/nvidia-uefi/edk2-nvidia/Platform/NVIDIA/Jetson/../../../Silicon/NVIDIA/scripts/prepare_stuart.sh: line 29: venv/bin/activate: No such file or directory

thoughts?

jgarver commented 3 months ago

It appears your virtualenv didn't actually create a venv. The output looks very similar to what I see when I run it though.

What is in /home/niro/tmp/UEFI/nvidia-uefi/venv?

nirushka commented 3 months ago

niro@niros-PC:~/tmp/UEFI/nvidia-uefi/venv$ ls lib local pyvenv.cfg

jgarver commented 3 months ago

The bin directory is missing, but you have a local directory instead. I'm not familiar with this layout.

Can you explore local? Does it have an activate?

nirushka commented 3 months ago

The local directory had bin directory inside, changed the build script and now its working, thx.

jgarver commented 3 months ago

It sounds like this issue: https://askubuntu.com/questions/1406304/virtualenv-installs-envs-into-local-bin-instead-of-bin

If so, a quick fix is to modify edk2-nvidia/Silicon/NVIDIA/scripts/prepare_stuart.sh to use venv/local/bin/activate instead of venv/bin/activate. You'll need to do this in two places.

jgarver commented 3 months ago

OK, I'll look for a more permanent fix and get it into our next release. Thanks!