Questions and Answers :
Unix/Linux :
*** Running 32bit CPDN from 64bit Linux - Discussion ***
Message board moderation
Previous · 1 . . . 15 · 16 · 17 · 18 · 19 · Next
Author | Message |
---|---|
Send message Joined: 5 Aug 04 Posts: 1110 Credit: 17,122,481 RAC: 1,826 |
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] |
Send message Joined: 12 Apr 21 Posts: 296 Credit: 14,226,476 RAC: 12,022 |
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? |
Send message Joined: 15 May 09 Posts: 4475 Credit: 18,448,326 RAC: 22,385 |
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 |
Send message Joined: 15 May 09 Posts: 4475 Credit: 18,448,326 RAC: 22,385 |
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 |
Send message Joined: 29 Oct 17 Posts: 983 Credit: 15,868,713 RAC: 17,910 |
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. |
Send message Joined: 12 Apr 21 Posts: 296 Credit: 14,226,476 RAC: 12,022 |
I used the command 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. |
Send message Joined: 15 May 09 Posts: 4475 Credit: 18,448,326 RAC: 22,385 |
I used the command 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. |
Send message Joined: 12 Apr 21 Posts: 296 Credit: 14,226,476 RAC: 12,022 |
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. |
Send message Joined: 15 May 09 Posts: 4475 Credit: 18,448,326 RAC: 22,385 |
The ones in lib32 are symlinks |
Send message Joined: 4 Dec 15 Posts: 52 Credit: 2,416,468 RAC: 4,405 |
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 |
Send message Joined: 12 Apr 21 Posts: 296 Credit: 14,226,476 RAC: 12,022 |
sudo apt install lib32ncurses6 lib32z1 lib32stdc++-9-dev 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. |
Send message Joined: 4 Dec 15 Posts: 52 Credit: 2,416,468 RAC: 4,405 |
Additionally I don't think you even need to add the i386 architecture (at least in Ubuntu), just install the one package. 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 |
Send message Joined: 7 Aug 04 Posts: 2173 Credit: 64,760,426 RAC: 3,180 |
sudo apt install lib32ncurses6 lib32z1 lib32stdc++-9-dev 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. |
Send message Joined: 12 Apr 21 Posts: 296 Credit: 14,226,476 RAC: 12,022 |
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. |
Send message Joined: 7 Aug 04 Posts: 2173 Credit: 64,760,426 RAC: 3,180 |
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. @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. |
Send message Joined: 15 May 09 Posts: 4475 Credit: 18,448,326 RAC: 22,385 |
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 findwill 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. |
Send message Joined: 12 Apr 21 Posts: 296 Credit: 14,226,476 RAC: 12,022 |
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. 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. |
Send message Joined: 6 Sep 04 Posts: 22 Credit: 349,445 RAC: 68 |
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 |
Send message Joined: 7 Aug 04 Posts: 2173 Credit: 64,760,426 RAC: 3,180 |
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. |
Send message Joined: 15 May 09 Posts: 4475 Credit: 18,448,326 RAC: 22,385 |
Just checked, the instructions for Ubuntu in the other thread on this subject still work on Ubuntu 24.04. Nice that no names have changed and I don't need to go searching for it all. |
©2024 cpdn.org