ggarra13 / mrv2

Professional player and review tool for vfx, animation and computer graphics.
https://mrv2.sourceforge.io
BSD 3-Clause "New" or "Revised" License
197 stars 14 forks source link

Runme.sh can't access https://svn.code.sf.net/p/pyfltk/code/branches/fltk1.4 #188

Closed SteffenDuenner closed 6 months ago

SteffenDuenner commented 6 months ago

Me again (the guy with the failed Linux builds). Currently Linux builds are failing again with:

FAILED: pyFLTK-prefix/src/pyFLTK-stamp/pyFLTK-download /home/steffen/mrv2/BUILD-Linux-amd64/Release/pyFLTK-prefix/src/pyFLTK-stamp/pyFLTK-download 
cd /home/steffen/mrv2/BUILD-Linux-amd64/Release/pyFLTK-prefix/src && /home/steffen/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E env LD_LIBRARY_PATH=/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib64:/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib: -- svn checkout -r 627 https://svn.code.sf.net/p/pyfltk/code/branches/fltk1.4 pyFLTK && /home/steffen/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E touch /home/steffen/mrv2/BUILD-Linux-amd64/Release/pyFLTK-prefix/src/pyFLTK-stamp/pyFLTK-download
svn: E170013: Unable to connect to a repository at URL 'https://svn.code.sf.net/p/pyfltk/code/branches/fltk1.4'
svn: E230001: Server SSL certificate verification failed: issuer is not trusted

because of a failed SSL certificate verification.

I already did a svn list https://svn.code.sf.net/p/pyfltk/code/branches/fltk1.4 (following this: https://www.techfinitive.com/explainers/how-do-i-fix-server-ssl-certificate-verification-failed-issuer-is-not-trusted-when-using-svn/) from a terminal and it's working without problems.

ggarra13 commented 6 months ago

Ok. It seems your environment is very screwed up.

From the line you sent me, you seem to have a cmake in your local python directory (!?). Fix that first. Install it into /usr/local/bin or ~/bin if it is in your path.

Also, open a clean terminal and do:

echo $LD_LIBRARY_PATH

You seem to have the BUILD-Linux-amd64 directories already on your LD_LIBRARY_PATH, which you shouldn't add manually (the build script will take care of that for you and the environment.sh inside the installed directory of mrv2 too). This is likely the reason why the build is failing.

Go to another dir and check these two commands on a clean terminal:

cd ~
mkdir normal_checkout
cd normal_checkout
svn checkout -r 627 https://svn.code.sf.net/p/pyfltk/code/branches/fltk1.4 pyFLTK-normal

This one should create pyFLTK-normal

cd ~
mkdir cmake_checkout
cd cmake_checkout
 /home/steffen/.local/lib/python3.10/site-packages/cmake/data/bin/cmake -E env LD_LIBRARY_PATH=/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib64:/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib: -- svn checkout -r 627 https://svn.code.sf.net/p/pyfltk/code/branches/fltk1.4 pyFLTK-cmake

The second one may likely fail due to your environment, but if it works, it should create pyFTLK-cmake.

SteffenDuenner commented 6 months ago

Oh damn! I had this "cmake in local python" problem a few weeks ago. It was caused by an installation of stable-diffusion-webui :( I already fixed it but now it has come back from the dead it seems.

> cmake --version
cmake version 3.27.9

CMake suite maintained and supported by Kitware (kitware.com/cmake).
> which cmake
/usr/local/bin/cmake

I updated stable-diffusion-webui a few days ago and I wonder what went wrong there in the first place, because it keeps adding cmake to my local python dir when it should use Python in a venv.

I will try building again later, have to leave right now. Sorry for the noise...

SteffenDuenner commented 6 months ago

OK, I'm back and I'm getting somewhere. I did this (replaced the former cmake in local Python path with my system's cmake):

cmake -E env LD_LIBRARY_PATH=/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib64:/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib: -- svn checkout -r 627 https://svn.code.sf.net/p/pyfltk/code/branches/fltk1.4 pyFLTK-cmake

This gave me:

Error validating server certificate for 'https://svn.code.sf.net:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: code.sourceforge.net
 - Valid: from Jan  5 03:12:16 2024 GMT until Apr  4 03:12:15 2024 GMT
 - Issuer: R3, Let's Encrypt, US
 - Fingerprint: 0F:A0:0B:87:18:F5:66:AE:35:2C:11:3F:27:57:A7:45:7B:6C:A5:9B
(R)eject, accept (t)emporarily or accept (p)ermanently?

where I could permanently accept the certificate. After that I could successfully build mrv2 with "./runme.sh".

ggarra13 commented 6 months ago

I'm glad you got it working. Still...

There's likely something still broken. LD_LIBRARY_PATH should have been empty in the "cmake -E env ..." line if you started ./runme.sh with an empty LD_LIBRARY_PATH.

The value at start-up is stored in etc/build_dir.sh and then used in cmake/Modules/BuildpyFLTK.cmake.

Can you add in runme_nolog.sh:


echo "USD support ........................ ${TLRENDER_USD}  (TLRENDER_USD)"

# Add these two lines here
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
echo "OLD_LD_LIBRARY_PATH=$OLD_LD_LIBRARY_PATH"

And then run ./runme.sh without starting the build and see what it prints for those two variables.

SteffenDuenner commented 6 months ago

Here I am again. I added the two lines and it gives me

LD_LIBRARY_PATH=/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib64:/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib:/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib64:/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib:
OLD_LD_LIBRARY_PATH=/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib64:/home/steffen/mrv2/BUILD-Linux-amd64/Release/install/lib:

A simple echo $LD_LIBRARY_PATH is empty though.

ggarra13 commented 6 months ago

Thanks. What I suspected. Your OLD_LD_LIBRARY_PATH is set to something which it should not be. That's what's causing you a headache with pyFLTK.

What about a simple echo $OLD_LD_LIBRARY_PATH on a new terminal. Is it also empty? It should be. If it isn't, you need to figure out where do you set it. It should only be set in etc/build_dir.sh if it is not set already.

SteffenDuenner commented 6 months ago

OK, echo $OLD_LD_LIBRARY_PATH is also empty.

ggarra13 commented 6 months ago

I see what was going on. It was an ugly build bug on my part which I missed due to my environment. It is now fixed. Feel free to do a git pull and rebuild again (if you want to get my latest FFmpeg improvements on the saving of codecs which are really cool now).

SteffenDuenner commented 6 months ago

Awesome! Thanks a lot.