climateprediction.net home page
*** Running 32bit CPDN from 64bit Linux - Discussion ***

*** Running 32bit CPDN from 64bit Linux - Discussion ***

Questions and Answers : Unix/Linux : *** Running 32bit CPDN from 64bit Linux - Discussion ***
Message board moderation

To post messages, you must log in.

Previous · 1 . . . 15 · 16 · 17 · 18

AuthorMessage
Jean-David Beyer

Send message
Joined: 5 Aug 04
Posts: 1045
Credit: 16,506,818
RAC: 5,001
Message 66515 - Posted: 18 Nov 2022, 12:22:13 UTC - in response to Message 66514.  

Boinc usually puts its files in /var/lib/boinc-client but you won't see any project directory files until you join a project. When you do, there will be files in the subdirectory "project".


My OS is Red Hat Enterprise Linux release 8.6 (Ootpa)

I got my Boinc client, boincmgr, etc., from EPEL. I forget where I got the compatibility libraries from.

in any case, it installed the original programs here:

$ ls -l /usr/bin/boinc*
-rwxr-xr-x. 2 root root 1112184 Jul 29 09:36 /usr/bin/boinc
-rwxr-xr-x. 2 root root 1112184 Jul 29 09:36 /usr/bin/boinc_client
-rwxr-xr-x. 1 root root  358784 Jul 29 09:36 /usr/bin/boinccmd
-rwxr-xr-x. 1 root root 4081696 Jul 29 09:36 /usr/bin/boincmgr
-rwxr-xr-x. 1 root root  350704 Jul 29 09:36 /usr/bin/boincscr 

I have no idea why there are both usr/bin/boinc and /usr/bin/boinc_client. they are identical in every way. Why are two needed (or is one a mistake)? One is not a link to the other. Boinc is started by systemd and seems to use usr/bin/boinc.

And the actual stuff is in here, not in /var/lib/boinc-client:

$ ls -l /var/lib/boinc
total 9872
-rw-r--r--.  1 boinc boinc    1367 Nov 12 04:00 account_boinc.bakerlab.org_rosetta.xml
-rw-r--r--.  1 boinc boinc     306 Nov 16 21:23 account_climateprediction.net.xml
-rw-r--r--.  1 boinc boinc    3516 Nov 12 03:40 account_einstein.phys.uwm.edu.xml
-rw-r--r--.  1 boinc boinc    1418 Nov 13 13:19 account_milkyway.cs.rpi.edu_milkyway.xml
-rw-r--r--.  1 boinc boinc    1299 Nov 11 14:38 account_universeathome.pl_universe.xml
-rw-r--r--.  1 boinc boinc    4385 Nov 17 07:10 account_www.worldcommunitygrid.org.xml
[snip]

ID: 66515 · Report as offensive     Reply Quote
AndreyOR

Send message
Joined: 12 Apr 21
Posts: 243
Credit: 11,425,623
RAC: 26,773
Message 66516 - Posted: 18 Nov 2022, 12:23:50 UTC

Dave Jackson, how did you get 32-bit capability installed on your system? Based on the location of the libraries from your ldd posts, it seems like you ran dpkg --add-architecture i386. Is that correct?
ID: 66516 · Report as offensive     Reply Quote
Profile Dave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4314
Credit: 16,380,160
RAC: 3,563
Message 66517 - Posted: 18 Nov 2022, 12:56:16 UTC - in response to Message 66516.  

Dave Jackson, how did you get 32-bit capability installed on your system? Based on the location of the libraries from your ldd posts, it seems like you ran dpkg --add-architecture i386. Is that correct?


I used the command

sudo  apt install lib32ncurses6 lib32z1  lib32stdc++-12-dev
ID: 66517 · Report as offensive     Reply Quote
Profile Dave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4314
Credit: 16,380,160
RAC: 3,563
Message 66518 - Posted: 18 Nov 2022, 13:05:18 UTC

And the actual stuff is in here, not in /var/lib/boinc-client:
That would be down to the package managers at Red-Hat. Ubuntu by default places it in /var/lib/boinc-client and it also goes there if you compile your client and manager from source. Really not sure about why the executables boinc-client and boinc though. in /user/bin I have boinc boincmgr boinccmd , I don't have one called boinc-client
ID: 66518 · Report as offensive     Reply Quote
Glenn Carver

Send message
Joined: 29 Oct 17
Posts: 774
Credit: 13,433,329
RAC: 7,110
Message 66519 - Posted: 18 Nov 2022, 13:41:57 UTC - in response to Message 66515.  

And the actual stuff is in here, not in /var/lib/boinc-client:
/var/lib/boinc is a link to boinc-client on Ubuntu and derivatives.

And of course if you compile and install yourself you can put it anywhere you like.
ID: 66519 · Report as offensive     Reply Quote
AndreyOR

Send message
Joined: 12 Apr 21
Posts: 243
Credit: 11,425,623
RAC: 26,773
Message 66524 - Posted: 18 Nov 2022, 20:43:21 UTC - in response to Message 66517.  

I used the command

sudo apt install lib32ncurses6 lib32z1 lib32stdc++-12-dev

I wonder why then the actual library files got installed into the /lib/i386-linux-gnu/ directory instead of /lib32/. I also have Ubuntu and mine are in /lib32/. Have you ever done add-architecure? It seems like a directory with that name structure gets created when one installs new architectures. Everyone should have /lib/x86_64-linux-gnu/ directory for the amd64 architecture. I'm asking because I'm trying to figure some things in regards to the 32-bit libraries.
ID: 66524 · Report as offensive     Reply Quote
Profile Dave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4314
Credit: 16,380,160
RAC: 3,563
Message 66526 - Posted: 18 Nov 2022, 21:49:33 UTC - in response to Message 66524.  
Last modified: 18 Nov 2022, 22:21:03 UTC

I used the command

sudo apt install lib32ncurses6 lib32z1 lib32stdc++-12-dev

I wonder why then the actual library files got installed into the /lib/i386-linux-gnu/ directory instead of /lib32/. I also have Ubuntu and mine are in /lib32/. Have you ever done add-architecure? It seems like a directory with that name structure gets created when one installs new architectures. Everyone should have /lib/x86_64-linux-gnu/ directory for the amd64 architecture. I'm asking because I'm trying to figure some things in regards to the 32-bit libraries.

I have done at least two, probably more like four clean installs since I last used add-achitecture. If I look in the /lib32/directory the files are there as well as in /lib/i386-linux-gnu/.

Why they should be in both locations, I have no idea.

Edit: I really need to study the structure of Linux some more so that I can understand this more.
ID: 66526 · Report as offensive     Reply Quote
AndreyOR

Send message
Joined: 12 Apr 21
Posts: 243
Credit: 11,425,623
RAC: 26,773
Message 66527 - Posted: 19 Nov 2022, 8:08:44 UTC - in response to Message 66526.  

If I look in the /lib32/directory the files are there as well as in /lib/i386-linux-gnu/.

Could you please see if there are symlinks between those directories and files or are they both real directories with real files? I think the difference and the reason I don't even have the /lib/i386... directory is because I run WSL2 Ubuntu. There are some differences. I'd guess your setup is like it should be on a normal Ubuntu, my suspicion is that there are symlinks involved there.
ID: 66527 · Report as offensive     Reply Quote
Profile Dave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4314
Credit: 16,380,160
RAC: 3,563
Message 66528 - Posted: 19 Nov 2022, 8:50:15 UTC - in response to Message 66527.  

The ones in lib32 are symlinks
ID: 66528 · Report as offensive     Reply Quote
gemini8

Send message
Joined: 4 Dec 15
Posts: 52
Credit: 2,182,959
RAC: 836
Message 67769 - Posted: 16 Jan 2023, 15:11:46 UTC - in response to Message 66517.  
Last modified: 16 Jan 2023, 15:12:12 UTC

sudo apt install lib32ncurses6 lib32z1 lib32stdc++-9-dev

This one is listed for Ubuntu 21.
I also successfully used it on Debian 11 after adding i386 through dpkg.
Two tasks are running now.
- - - - - - - - - -
Greetings, Jens
ID: 67769 · Report as offensive     Reply Quote
AndreyOR

Send message
Joined: 12 Apr 21
Posts: 243
Credit: 11,425,623
RAC: 26,773
Message 67786 - Posted: 17 Jan 2023, 9:22:51 UTC - in response to Message 67769.  

sudo apt install lib32ncurses6 lib32z1 lib32stdc++-9-dev

This one is listed for Ubuntu 21.
I also successfully used it on Debian 11 after adding i386 through dpkg.

I suspect it wasn't necessary. Although I can't be sure since I don't have Debian (use Ubuntu), once you added i386 architecture, the required libraries (for CPND) probably got installed as part of that.

The 3 packages listed are not needed for any of the available Linux models. The last one installs all the required libraries but it also installs a lot of unnecessary stuff that you don't need and eventually gets outdated actually. I did a detailed investigation into this and some testing (for Ubuntu and Arch) and made some posts about it. Basically the only package one needs for Debian, Ubuntu (and very likely any derivatives) is lib32stdc++6 . There are a couple of small dependencies but they get installed automatically. This way you install only what's needed without anything unnecessary, which can take up a lot of space.

Additionally I don't think you even need to add the i386 architecture (at least in Ubuntu), just install the one package.

If you're interested in testing, I'd be interested in results as I don't have Debian. Once your tasks complete and report, uninstall the 3 packages and remove the i386 architecture. Install just the lib32stdc++6 package (2 small dependencies should install automatically). Go to the CPDN directory and run the ldd command on each executable and see if any libraries are missing. If they're not, try to get some tasks.
ID: 67786 · Report as offensive     Reply Quote
gemini8

Send message
Joined: 4 Dec 15
Posts: 52
Credit: 2,182,959
RAC: 836
Message 67809 - Posted: 17 Jan 2023, 16:56:29 UTC - in response to Message 67786.  

Additionally I don't think you even need to add the i386 architecture (at least in Ubuntu), just install the one package.
If you're interested in testing, I'd be interested in results as I don't have Debian.

Won't try it on my machines that just got it, but if I remember to try this out I'll do it next time I setup a Debian VM.
- - - - - - - - - -
Greetings, Jens
ID: 67809 · Report as offensive     Reply Quote
Profile geophi
Volunteer moderator

Send message
Joined: 7 Aug 04
Posts: 2167
Credit: 64,403,322
RAC: 5,085
Message 67820 - Posted: 17 Jan 2023, 20:53:37 UTC - in response to Message 67786.  

sudo apt install lib32ncurses6 lib32z1 lib32stdc++-9-dev

This one is listed for Ubuntu 21.
I also successfully used it on Debian 11 after adding i386 through dpkg.

I suspect it wasn't necessary. Although I can't be sure since I don't have Debian (use Ubuntu), once you added i386 architecture, the required libraries (for CPND) probably got installed as part of that.

The 3 packages listed are not needed for any of the available Linux models. The last one installs all the required libraries but it also installs a lot of unnecessary stuff that you don't need and eventually gets outdated actually. I did a detailed investigation into this and some testing (for Ubuntu and Arch) and made some posts about it. Basically the only package one needs for Debian, Ubuntu (and very likely any derivatives) is lib32stdc++6 . There are a couple of small dependencies but they get installed automatically. This way you install only what's needed without anything unnecessary, which can take up a lot of space.

Additionally I don't think you even need to add the i386 architecture (at least in Ubuntu), just install the one package.

If you're interested in testing, I'd be interested in results as I don't have Debian. Once your tasks complete and report, uninstall the 3 packages and remove the i386 architecture. Install just the lib32stdc++6 package (2 small dependencies should install automatically). Go to the CPDN directory and run the ldd command on each executable and see if any libraries are missing. If they're not, try to get some tasks.

For the "had" models, the .so file has a dependency of libnsl.so. The command lines installing the needed 32bit libraries for cpdn installs the listed lib32ncurses6 to get this to satisfy the libnsl.so requirement. Without it, the intermediate and final model results zip files are not created and uploaded. libnsl may well be installed more efficiently through some other command, but that's what was suggested long ago as a method to install it.

As for the lib32z1, that was included for the hadcm3s models when they ran on linux. It was a requirement of the .so file for that model so the zip files get created and transmitted. That model type is now Mac only and may remain so. However we do not know that for sure.
ID: 67820 · Report as offensive     Reply Quote
AndreyOR

Send message
Joined: 12 Apr 21
Posts: 243
Credit: 11,425,623
RAC: 26,773
Message 67828 - Posted: 18 Jan 2023, 8:34:16 UTC - in response to Message 67820.  

For the "had" models, the .so file has a dependency of libnsl.so. The command lines installing the needed 32bit libraries for cpdn installs the listed lib32ncurses6 to get this to satisfy the libnsl.so requirement.

ncurses doesn't directly provide libnsl. Here's what it provides: https://packages.ubuntu.com/jammy/amd64/lib32ncurses6/filelist. One of ncurses dependencies is libc6-i386, that's the package that provides libnsl: https://packages.ubuntu.com/jammy/amd64/libc6-i386/filelist. That's one of the small dependencies (for lib32stdc++6) I was referring to. As a matter of fact libc6-i386 provides 7 of 9 required libraries, lib32stdc++6 provides 1 of 9 and lib32gcc-s1 provides 1 of 9. But because of the dependency hierarchy among those packages, installing lib32stdc++6 installs everything one needs. lib32stdc++-9-dev also installs all of the required libraries, all via dependency packages. But it also installs a bunch of other unnecessary stuff so that's why I don't think it should be recommended. Either the contents of the packages changed or the original recommendation was provided somewhat haphazardly.

As for the lib32z1, that was included for the hadcm3s models when they ran on linux.

I'm familiar with this and while I realize that we don't know for sure that it'll remain for mac only I do believe that it very likely will. So if I was to recommend the simplest, install only what's needed way to get 32-bit libraries, for currently available Linux Hadley models, I'd omit it. If it does come back to Linux at some point, I'd update the recommendation.
ID: 67828 · Report as offensive     Reply Quote
Profile geophi
Volunteer moderator

Send message
Joined: 7 Aug 04
Posts: 2167
Credit: 64,403,322
RAC: 5,085
Message 67912 - Posted: 19 Jan 2023, 20:02:16 UTC - in response to Message 67828.  

For the "had" models, the .so file has a dependency of libnsl.so. The command lines installing the needed 32bit libraries for cpdn installs the listed lib32ncurses6 to get this to satisfy the libnsl.so requirement.

ncurses doesn't directly provide libnsl. Here's what it provides: https://packages.ubuntu.com/jammy/amd64/lib32ncurses6/filelist. One of ncurses dependencies is libc6-i386, that's the package that provides libnsl: https://packages.ubuntu.com/jammy/amd64/libc6-i386/filelist. That's one of the small dependencies (for lib32stdc++6) I was referring to. As a matter of fact libc6-i386 provides 7 of 9 required libraries, lib32stdc++6 provides 1 of 9 and lib32gcc-s1 provides 1 of 9. But because of the dependency hierarchy among those packages, installing lib32stdc++6 installs everything one needs. lib32stdc++-9-dev also installs all of the required libraries, all via dependency packages. But it also installs a bunch of other unnecessary stuff so that's why I don't think it should be recommended. Either the contents of the packages changed or the original recommendation was provided somewhat haphazardly.

As for the lib32z1, that was included for the hadcm3s models when they ran on linux.

I'm familiar with this and while I realize that we don't know for sure that it'll remain for mac only I do believe that it very likely will. So if I was to recommend the simplest, install only what's needed way to get 32-bit libraries, for currently available Linux Hadley models, I'd omit it. If it does come back to Linux at some point, I'd update the recommendation.

@AndreyOR
Thanks for your explanation on simplifying what is the minimum package needed for 32bit compatibility for the current "had" linux apps in Ubuntu. Dave updated the instructions for Ubuntu 18.04 and later versions for lib32stdc++6. We left lib32z1 in the install command line but with a disclaimer that it would only be needed if the hadcm3s model comes back to linux.
ID: 67912 · Report as offensive     Reply Quote
Profile Dave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4314
Credit: 16,380,160
RAC: 3,563
Message 68804 - Posted: 23 May 2023, 11:17:27 UTC

I was rather shocked recently to find a tool to discover what package contains a file you need to run programs. Useful if the package containing what you want changes with a new version or really useful if compiling BOINC from source.

apt-file find 
will if you type or paste the name of the missing file tell you the package you need to install to get it. Had I known of it earlier it could have saved me many hours of searching the interweb to discover what package I needed. I don't know if there is anything similar for RPM distros.
ID: 68804 · Report as offensive     Reply Quote
AndreyOR

Send message
Joined: 12 Apr 21
Posts: 243
Credit: 11,425,623
RAC: 26,773
Message 68806 - Posted: 23 May 2023, 20:52:09 UTC - in response to Message 68804.  

I was rather shocked recently to find a tool to discover what package contains a file you need to run programs. Useful if the package containing what you want changes with a new version or really useful if compiling BOINC from source.

apt-file find 
will if you type or paste the name of the missing file tell you the package you need to install to get it. Had I known of it earlier it could have saved me many hours of searching the interweb to discover what package I needed. I don't know if there is anything similar for RPM distros.

An interesting find. Some things I found from playing with it a bit is that it doesn't come preinstalled (at least not on WSL2 Ubuntu) and so needs to be installed separately. Also, one needs to create a database and keep it up to date, so a database update should be ran before trying to look up packages. Lastly, one can only look up one file at a time, I was really hoping for being able to list multiple files and have it tell you which if any packages contain all of them.

For looking up packages that contain certain files, at least for Ubuntu, I think I'd still use the Ubuntu Packages Search website https://packages.ubuntu.com/ as it'll give you the same info but it's easier to use and browse around and, presumably, the database is always up to date.
ID: 68806 · Report as offensive     Reply Quote
Profile geoguy09

Send message
Joined: 6 Sep 04
Posts: 22
Credit: 347,469
RAC: 0
Message 70635 - Posted: 10 Mar 2024, 1:14:16 UTC

I have looked through the Fedora and Linux threads to get CPDN running on my Fedora 39 Workstation 64 and cannot find more information. I have installed the 32bit libraries for the modelling listed on this posting (https://www.cpdn.org/forum_thread.php?id=8916) but have been unable to get CPDN running from BOINC. I have Milkyway and World Community Grid working fine on this system though. Have I overlooked something? Will CPDN support 64-bit in the near future?
Fedora Linux 39 64-bit Workstation
Dell Latitude E7440 Intel Core i5-4300U x 4
RAM = 16GB / 240 GB SSD
ID: 70635 · Report as offensive     Reply Quote
Profile geophi
Volunteer moderator

Send message
Joined: 7 Aug 04
Posts: 2167
Credit: 64,403,322
RAC: 5,085
Message 70636 - Posted: 10 Mar 2024, 1:50:26 UTC - in response to Message 70635.  
Last modified: 10 Mar 2024, 1:54:35 UTC

There aren't any Linux tasks available to download right now if that is your issue. There really haven't been any since Feb 2023 and those were 64 bit oifs tasks. So given when your computers were active, you wouldn't have been able to download any. There should be some hadam4 type tasks (32 bit) for linux coming out this spring? We are testing some now. I'm not sure exactly when they would be coming out. That would give you your chance to test to make sure the 32bit libraries are installed on your linux PC.
ID: 70636 · Report as offensive     Reply Quote
Previous · 1 . . . 15 · 16 · 17 · 18

Questions and Answers : Unix/Linux : *** Running 32bit CPDN from 64bit Linux - Discussion ***

©2024 climateprediction.net