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
KAMasud

Send message
Joined: 6 Oct 06
Posts: 201
Credit: 7,608,986
RAC: 0
Message 66513 - Posted: 18 Nov 2022, 7:47:11 UTC
Last modified: 18 Nov 2022, 8:02:38 UTC

I have got everything ready but where do I find Boinc folders on Virtual Box? The config files that are being spoken about I could find them in FAT but I am lost on NTFS. On both, VB and Windows. Seems like some spoon-feeding is required. Boinc Wiki is silent. Where are the Project Directories?
PS. Please don't get annoyed, I am trying. Some background. I am a retired sailor with part-time quarry work so not much hands-on experience with computers.
ID: 66513 · Report as offensive     Reply Quote
Glenn Carver

Send message
Joined: 29 Oct 17
Posts: 361
Credit: 2,881,415
RAC: 0
Message 66514 - Posted: 18 Nov 2022, 8:34:32 UTC - in response to Message 66513.  

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".

ps. Not annoyed. My father was in the royal navy. I do find forums a frustrating slow way to help people though
ID: 66514 · Report as offensive     Reply Quote
Jean-David Beyer

Send message
Joined: 5 Aug 04
Posts: 862
Credit: 10,791,731
RAC: 13
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: 197
Credit: 5,138,784
RAC: 62
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: 3753
Credit: 11,028,202
RAC: 14
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: 3753
Credit: 11,028,202
RAC: 14
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: 361
Credit: 2,881,415
RAC: 0
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: 197
Credit: 5,138,784
RAC: 62
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: 3753
Credit: 11,028,202
RAC: 14
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: 197
Credit: 5,138,784
RAC: 62
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: 3753
Credit: 11,028,202
RAC: 14
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: 47
Credit: 1,577,013
RAC: 1
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: 197
Credit: 5,138,784
RAC: 62
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: 47
Credit: 1,577,013
RAC: 1
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: 2136
Credit: 58,571,265
RAC: 16
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: 197
Credit: 5,138,784
RAC: 62
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: 2136
Credit: 58,571,265
RAC: 16
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
Previous · 1 . . . 15 · 16 · 17 · 18

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

©2023 climateprediction.net