pal1000 / mesa-dist-win

Pre-built Mesa3D drivers for Windows
MIT License
859 stars 77 forks source link

Build script loop #163

Closed wallentx closed 6 months ago

wallentx commented 7 months ago

Hi, when running the build script, I get caught in a loop:

Defaulting to user installation because normal site-packages is not writeable
Collecting MarkupSafe
  Downloading MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl.metadata (3.1 kB)
Downloading MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl (17 kB)
Installing collected packages: MarkupSafe
Successfully installed MarkupSafe-2.1.3

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: MarkupSafe in c:\users\william\appdata\roaming\python\python311\site-packages (2.1.3)

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: MarkupSafe in c:\users\william\appdata\roaming\python\python311\site-packages (2.1.3)

I tried debugging it, but batch scripts are not within my comfort zone. A build container or something would be really nice, if that's even possible for this. I found what I might have been looking for here - https://github.com/mmozeiko/build-mesa

pal1000 commented 7 months ago

My build script doesn't support non-writable Python installation directory scenario. Run build script as admin to workaround..

wallentx commented 7 months ago

My build script doesn't support non-writable Python installation directory scenario. Run build script as admin to workaround..

Is it intended to work within a venv? This is what I had initially tried, and got the same loop. I'll run as admin as you suggest.

pal1000 commented 7 months ago

Is it intended to work within a venv?

No. It's not virtual env compatible either.

pal1000 commented 7 months ago

@wallentx I finished virtual environment support in mesa-dist-win build script. This should resolve this issue without requiring admin rights. It also enabled me to cleanup Scons build era code that could only be put to rest by creating a virtual environment.

The implementation works like this:

The build script is also capable of detecting when virtual environment needs regeneration.

pal1000 commented 6 months ago

Fixed in 23.3.1. Closing.