Hello, I’ve recently had to re-install my Windows 10, and this meant that my WSL for OpenSUSE LEAP 15.1 had to be re-installed as well.
I am quite familiar with cmake and installing many different versions of ROOT and right now I do have several systems running different version of ROOT in both full linux environment and WSL environment.
I downloaded the latest versions of ROOT5 and ROOT6 (July 2, 2020) and no problem in compilation.
Compilation flags are:
for ROOT6.22.00:
Upon loading the root environments then execution I get an error:
“/usr/bin/ldd: line 160: /lib/ld-linux.so.2: cannot execute binary file: Exec format error”.
This is a bit crazy. I did compile it myself on the WSL. It has worked in every other WSL+full linux environments, and the compiler should have thrown an error at me if something was wrong. I’ve triple-checked dependencies (Dependencies - ROOT), and I am running on a x86_64 system and no problem in compilation.
both ld and ldd are accessible and versions are as seen below.
/usr/bin/ldd --version
ldd (GNU libc) 2.26
/usr/bin/ld.bfd --version
GNU ld (GNU Binutils; openSUSE Leap 15.1) 2.32.0.20190909-lp151.3.6
I am out of ideas and have exhausted google search on this. Any ideas?
I’ve tried OpenSUSE LEAP 15.2 WSL, and this error message is gone but I still wonder what caused this for reference since I don’t have this problem on any other computers
Edit: Error message returns just the same on LEAP 15.2 WSL
Ok, that is a good start. I must say that I don’t quite understand why it is seemingly looking for the 32bit ld-linux.so.2. The message “Exec format error”, does it show if you run root -l?
Could you, after sourcing thisroot.sh, paste the output of
I agree. I’m pretty sure it is looking for the 32bit ld-linux.so.2 package. This “shouldn’t” be a problem especially because I’ve compiled it within my 64bit WSL LEAP 15.1
Unfortunately I cannot answer your quoted questions because due to time sensitivity I’ve moved to LEAP 15.2.
I think the weirdest part so far is that despite the error message. All the macros in the rootinstall/tutorials work, and the C++ programs that I’ve written, which do use root packages compile and run just fine.
Let alone the error message that shouldn’t be there that only seems to exist in WSL LEAP 15.1/15.2 installation on this specific computer.
The fact that the same error appears even if only ldd is called indicates that this is a problem of the LEAP environment rather than a problem with ROOT itself. I haven’t used ROOT on WSL myself but as far as I know the Ubuntu/WSL distribution works well for running ROOT.
ROOT works without any problem in every other WSL and full linux install including on LEAP 42.3/15.1/15.2 environment. It fully works on every other computer except this one. I just don’t get it because the way I installed it works in every other machines. This is not a problem with LEAP environment because I literally have machines next to me that has LEAP WSL with no problem and no error messages.
The only thing different in this installation is that this is on fresh brand-new installation of Windows 10. I read that a new filesystem is used on the new version of Windows 10 whereas updated version of older installation of W10 inherits the older version of the FS and that WLS works funky with the new FS.
In any case do you have more suggestions for diagnosing what may be wrong?
Just to make it more confusing… I’ve cloned the WSL with successful ROOT installation on other computer and applied it to this machine. Result, the error message appears again…
I have a feeling that there is something funny about how W10’s new FS interacts with and/or some environmental variable has been called from WSL for this new installation of W10.