Questions and Answers :
Unix/Linux :
*** Running 32bit CPDN from 64bit Linux - Discussion ***
Message board moderation
Previous · 1 . . . 13 · 14 · 15 · 16 · 17 · 18 · 19 · Next
Author | Message |
---|---|
Send message Joined: 29 Oct 17 Posts: 1044 Credit: 16,196,312 RAC: 12,647 |
To be fair, HadSM4 calls the executables from the slot directory and uses that as the working directory, but most of the calls are softlinks: BOINC automatically follows them back to the project directoryI would think there are security concerns and the task has to run in the slot directory and can't see anything above that directory, otherwise I could write malicious code in OpenIFS and go wandering all over your filesystems. Since I have the entire boinc-client directory on /mnt/d, a HDD, where the model is run shouldn't make a difference. I've created a new WSL Ubuntu instance and I'll ask Andy for a standalone copy of the HadSM4 so I can test it. Maybe there's something weird going on because the HDD is shared between Windows & Ubuntu and the loader gets muddled - I doubt it but I don't know Windows well. Maybe the BIOS doesn't allow 32bit binaries? I could try a openSUSE WSL as well to get away from Debian derivatives. If I get to the bottom of it, I'll report back here. |
Send message Joined: 5 Aug 04 Posts: 1120 Credit: 17,194,632 RAC: 2,780 |
One thing I have never figured out is how CPDN is really organized, because non of my other Boinc projects run this way. Notice that the processes marked /var/lib/boinc/projects/climateprediction.net/hadsm4_um_8.02_i686-pc are the processes that do most of the actual work. But these processes are not created by the boinc-client. Those are spawned by processes that are created by the boinc-client like ../../projects/climateprediction.net/hadsm4_8.02_i686-pc-linux-gnu hadsm Why is it necessary for CPDN to have their processes designed this way when none of the other Boinc projects (at least, those I run) find it necessary to do it this way? How is it that none of the other projects use full path names for their working processes when the others start merely ../../ ? PID PPID USER PR NI S RES %MEM %CPU P TIME+ COMMAND 64092 64085 boinc 39 19 R 671304 1.0 99.2 7 1165:19 /var/lib/boinc/projects/climateprediction.net/hadsm4_um_8.02_i686-pc-lin+ 40484 40482 boinc 39 19 R 670476 1.0 99.3 12 1534:36 /var/lib/boinc/projects/climateprediction.net/hadsm4_um_8.02_i686-pc-lin+ 40469 40457 boinc 39 19 R 668508 1.0 99.2 9 1550:12 /var/lib/boinc/projects/climateprediction.net/hadsm4_um_8.02_i686-pc-lin+ 40474 40471 boinc 39 19 R 668348 1.0 99.4 14 1548:13 /var/lib/boinc/projects/climateprediction.net/hadsm4_um_8.02_i686-pc-lin+ 40480 40476 boinc 39 19 R 668336 1.0 99.0 13 1537:25 /var/lib/boinc/projects/climateprediction.net/hadsm4_um_8.02_i686-pc-lin+ 40482 16165 boinc 39 19 S 11188 0.0 0.0 8 1:03.26 ../../projects/climateprediction.net/hadsm4_8.02_i686-pc-linux-gnu hadsm+ 64085 16165 boinc 39 19 S 11136 0.0 0.0 13 0:49.24 ../../projects/climateprediction.net/hadsm4_8.02_i686-pc-linux-gnu hadsm+ 40476 16165 boinc 39 19 S 11104 0.0 0.1 14 1:01.86 ../../projects/climateprediction.net/hadsm4_8.02_i686-pc-linux-gnu hadsm+ 40457 16165 boinc 39 19 S 10928 0.0 0.0 13 1:02.17 ../../projects/climateprediction.net/hadsm4_8.02_i686-pc-linux-gnu hadsm+ 40471 16165 boinc 39 19 S 10912 0.0 0.1 12 1:03.40 ../../projects/climateprediction.net/hadsm4_8.02_i686-pc-linux-gnu hadsm+ |
Send message Joined: 5 Sep 04 Posts: 7629 Credit: 24,240,330 RAC: 0 |
cpdn is one of the early projects. I think that there was SETI, then cpdn. All other projects came much later, and they apparently had different ideas about how to do things. |
Send message Joined: 29 Oct 17 Posts: 1044 Credit: 16,196,312 RAC: 12,647 |
One thing I have never figured out is how CPDN is really organized, because non of my other Boinc projects run this way.Good question. I can explain a bit more what's happening. There are three processes in play on a client machine, each with a different role, like this: boinc-client <--> model_wrapper <--> model Between the client and the actual model, we have this 'wrapper' code. This knows how to talk to the model and it knows how to talk to the boinc client. The client knows nothing about the actual model other than what the wrapper tells it. The model has no clue it's running under boinc (and shouldn't have to). The wrapper is started by boinc, it does some checks, moves files into place and then starts the model as a separate process. The wrapper is responsible for monitoring model progress, producing the trickles and cleaning up the slot directory at the end. So in your example, the actual model process is hadsm4_um_8.02_i686-pc and the 'wrapper' is the hadsm4_8.02_i686-pc-linux-gnu. The clue is the lack of '_um_', though personally I find the similar names rather confusing. The advantage of doing it this way is the model code doesn't need any changes related to boinc. We just need to make sure it will run on home PCs. This makes it faster to integrate a new model into the CPDN framework. We could merge the wrapper code into the model itself (maybe this is what other projects do), but that's a bad idea in this project as every time a new model version appears, we potentially have to rewrite the boinc-wrapper part. The wrapper code for the Hadley models is a little more complicated than OpenIFS because it uses the older 'shared memory' way of transferring information between the two processes. This was done to support the graphics option that used to come with the models. It's this shared memory code that's part of the 32/64bit problem. For OpenIFS, we've got rid of this and rewritten the 'openifs wrapper' to be simpler; communciation is done via files in the slot directory. The eventual aim is to have an 'agnostic' wrapper that doesn't know very much about the model (why should it have to?), which will make it faster to bring new models into CPDN. Hope that's useful. |
Send message Joined: 12 Apr 21 Posts: 314 Credit: 14,561,530 RAC: 18,064 |
Glenn, I understand your set up a bit better, you actually have a dual disk PC. You said that OpenIFS works with your setup, I'm assuming other projects you run work too? I've never done anything like this with WSL2 as I have a simpler setup, just one SSD. The fact that you got other projects to work tells me that it's not as complicated as I originally thought. It seems like it's a niche problem that's likely just relevant for you, just like for me not being able to figure out how to run LHC ATLAS multi-core on WSL2 (runs single-core just fine). At least I can run ATLAS even if only single-core, for you Hadley models won't even run. It'd be interesting to see if you'll get a chance to find a fix. Otherwise you could try to just create WSL2 on HDD and run BOINC from there. From a resource usage perspective, virtualizing with WSL2 is probably the best option (compared to Type 2 hypervisors or even Hyper-V). Have you done any modifications of your CPDN directory on HDD from Windows? From some reading, it seems like that can be one of the things that can make things inaccessible from WSL2. Both of my PCs are HP pre-builts also. I maxed out the RAM and upgraded to the best CPU they'll support, luckily with no issues. |
Send message Joined: 22 Feb 06 Posts: 490 Credit: 30,774,399 RAC: 11,108 |
I'll just try it an see if it works then. Apparently did work. However just switched my machine back on in the hope of getting some of the latest batch (after energy saving pause). When tried to start BOINC it absolutely refused to co-operate (Ubuntu 22.04 and BOINC version 7.18.1). Have reverted to 20.04 but got BOINC version 7.16.1 installed via the apt-get method. Fingers crossed for some work. |
Send message Joined: 5 Aug 04 Posts: 1120 Credit: 17,194,632 RAC: 2,780 |
Hope that's useful. Yes, very much. Much of it I have figured out. But your reply as much better organized than my mental model of what is going on. I am still confused a little. Consider these files that seem to go together: -rwxr-xr-x. 1 boinc boinc 2749224 Mar 31 2021 hadsm4_8.02_i686-pc-linux-gnu -rw-r--r--. 1 boinc boinc 1317 Nov 13 20:11 hadsm4_a0ji_201311_4_938_012155264.xml -rw-r--r--. 1 boinc boinc 7303 Nov 11 07:25 hadsm4_a0ji_201311_4_938_012155264.zip -rwxr-xr-x. 1 boinc boinc 77088 Dec 18 2021 hadsm4_data_8.02_i686-pc-linux-gnu.zip -rwxrwxr-x. 1 boinc boinc 2692682 Jan 18 2021 hadsm4_se_8.02_i686-pc-linux-gnu.so -rwxr-xr-x. 1 boinc boinc 916868 Dec 18 2021 hadsm4_se_8.02_i686-pc-linux-gnu.zip -rwxrwxr-x. 1 boinc boinc 6705808 Jan 18 2021 hadsm4_um_8.02_i686-pc-linux-gnu -rwxr-xr-x. 1 boinc boinc 2789337 Mar 31 2021 hadsm4_um_8.02_i686-pc-linux-gnu.zip You explained hadsm4_8.02_i686-pc-linux-gnu and hadsm4_um_8.02_i686-pc-linux-gnu but then what are the ones like hadsm4_se_8.02_i686-pc-linux-gnu.so? |
Send message Joined: 7 Aug 04 Posts: 2183 Credit: 64,822,615 RAC: 5,275 |
You explained hadsm4_8.02_i686-pc-linux-gnu and hadsm4_um_8.02_i686-pc-linux-gnu but then what are the ones like hadsm4_se_8.02_i686-pc-linux-gnu.so? The .so files are somehow involved in the creation or zipping of output files for uploading. The libnsl.so.1 file is a dependency needed by hadsm4_se_8.02_i686-pc-linux-gnu.so and without it being installed, the model errors out at the end because it couldn't find the expected upload file/files. |
Send message Joined: 1 Jan 07 Posts: 1058 Credit: 36,588,912 RAC: 15,901 |
When tried to start BOINC it absolutely refused to co-operate (Ubuntu 22.04 and BOINC version 7.18.1).It's reports like that (and you're not alone - many people are in the same boat) that led to my remarks in message 66354. |
Send message Joined: 29 Oct 17 Posts: 1044 Credit: 16,196,312 RAC: 12,647 |
...but then what are the ones like hadsm4_se_8.02_i686-pc-linux-gnu.so?Command: nm -D --defined-only *se*.solists references to the netCDF library. So it's part of the model output processing. |
Send message Joined: 6 Oct 06 Posts: 204 Credit: 7,608,986 RAC: 0 |
Try running "apt update" before the command for to install BOINC. I failed "apt update" but in the end got Boinc-manager Boinc-client. 7.16.6 version arif@arif-VirtualBox:~$ apt update Reading package lists... Done E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied) E: Unable to lock directory /var/lib/apt/lists/ W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied) W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied) Now the 32bit libs. sudo apt-get install gcc-4.7-multilib libstdc++6 libstdc++5 freeglut3 lib32z1 lib32ncurses5 lib32bz2-1.0 [sudo] password for arif: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package gcc-4.7-multilib E: Couldn't find any package by glob 'gcc-4.7-multilib' E: Couldn't find any package by regex 'gcc-4.7-multilib' E: Unable to locate package lib32ncurses5 E: Unable to locate package lib32bz2-1.0 E: Couldn't find any package by glob 'lib32bz2-1.0' E: Couldn't find any package by regex 'lib32bz2-1.0' Changed some commands ~$ sudo apt install gcc-4.7-multilib libstdc++6 libstdc++5 freeglut3 lib32zl lib32ncurses5 lib32bz2-1.0 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package gcc-4.7-multilib E: Couldn't find any package by glob 'gcc-4.7-multilib' E: Unable to locate package lib32zl E: Unable to locate package lib32ncurses5 E: Unable to locate package lib32bz2-1.0 E: Couldn't find any package by glob 'lib32bz2-1.0' arif@arif-VirtualBox:~$ sudo apt-get install gcc-4.7-multilib libstdc++6 libstdc++5 freeglut3 lib32z1 lib32ncurses5 lib32bz2-1.0 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package gcc-4.7-multilib E: Couldn't find any package by glob 'gcc-4.7-multilib' E: Couldn't find any package by regex 'gcc-4.7-multilib' E: Unable to locate package lib32ncurses5 E: Unable to locate package lib32bz2-1.0 E: Couldn't find any package by glob 'lib32bz2-1.0' E: Couldn't find any package by regex 'lib32bz2-1.0' arif@arif-VirtualBox:~$ [sudo] password for arif: [sudo]: command not found arif@arif-VirtualBox:~$ Reading package lists... Done Reading: command not found arif@arif-VirtualBox:~$ Building dependency tree Building: command not found arif@arif-VirtualBox:~$ Reading state information... Done Reading: command not found arif@arif-VirtualBox:~$ E: Unable to locate package gcc-4.7-multilib E:: command not found arif@arif-VirtualBox:~$ E: Couldn't find any package by glob 'gcc-4.7-multilib' > E: Couldn't find any package by regex 'gcc-4.7-multilib' E:: command not found arif@arif-VirtualBox:~$ E: Unable to locate package lib32ncurses5 E:: command not found arif@arif-VirtualBox:~$ E: Unable to locate package lib32bz2-1.0 E:: command not found arif@arif-VirtualBox:~$ E: Couldn't find any package by glob 'lib32bz2-1.0' > Building dependency tree |
Send message Joined: 6 Oct 06 Posts: 204 Credit: 7,608,986 RAC: 0 |
I hope it works. rif@arif-VirtualBox:~$ sudo apt-get install ia32-libs libstdc++6 libstdc++5 freeglut3 [sudo] password for arif: Reading package lists... Done Building dependency tree Reading state information... Done Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 E: Package 'ia32-libs' has no installation candidate arif@arif-VirtualBox:~$ sudo apt-get install lib32z1 Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libc6-i386 The following NEW packages will be installed: lib32z1 libc6-i386 0 upgraded, 2 newly installed, 0 to remove and 21 not upgraded. Need to get 2,787 kB of archives. After this operation, 14.9 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://pk.archive.ubuntu.com/ubuntu focal-updates/main amd64 libc6-i386 amd64 2.31-0ubuntu9.9 [2,730 kB] Get:2 http://pk.archive.ubuntu.com/ubuntu focal-updates/main amd64 lib32z1 amd64 1:1.2.11.dfsg-2ubuntu1.5 [57.1 kB] Fetched 2,787 kB in 13s (210 kB/s) Selecting previously unselected package libc6-i386. (Reading database ... 227580 files and directories currently installed.) Preparing to unpack .../libc6-i386_2.31-0ubuntu9.9_amd64.deb ... Unpacking libc6-i386 (2.31-0ubuntu9.9) ... Selecting previously unselected package lib32z1. Preparing to unpack .../lib32z1_1%3a1.2.11.dfsg-2ubuntu1.5_amd64.deb ... Unpacking lib32z1 (1:1.2.11.dfsg-2ubuntu1.5) ... Setting up libc6-i386 (2.31-0ubuntu9.9) ... Setting up lib32z1 (1:1.2.11.dfsg-2ubuntu1.5) ... Processing triggers for libc-bin (2.31-0ubuntu9.9) ... |
Send message Joined: 29 Oct 17 Posts: 1044 Credit: 16,196,312 RAC: 12,647 |
arif@arif-VirtualBox:~$ apt updateThis needs to be 'sudo apt ...'. Yes, I agree about the aptitude instructions. I first installed that way and it although it worked it was clumsy, and aptitude uses a separate install database which I didn't particularly like. So I dropped it and now just use: sudo apt install boinc-client boinc-manager on Mint which works fine. Note, however you might need to tweak your systemctl file for boinc-client. There is a bug in the current release which prevents vbox apps working correctly (if that's required). |
Send message Joined: 6 Oct 06 Posts: 204 Credit: 7,608,986 RAC: 0 |
arif@arif-VirtualBox:~$ apt updateThis needs to be 'sudo apt ...'. Yes, I agree about the aptitude instructions. I first installed that way and it although it worked it was clumsy, and aptitude uses a separate install database which I didn't particularly like. So I dropped it and now just use: I got this on Mint. ~$ sudo apt instal boinc-client boinc-manager [sudo] password for arif: apt Usage: apt command [options] apt help command [options] Commands: add-repository - Add entries to apt sources.list autoclean - Erase old downloaded archive files autopurge - Remove packages with their configuration files and automatically remove all unused packages autoremove - Remove automatically all unused packages build - Build binary or source packages from sources build-dep - Configure build-dependencies for source packages changelog - View a package's changelog check - Verify that there are no broken dependencies clean - Erase downloaded archive files contains - List packages containing a file content - List files contained in a package deb - Install a .deb package depends - Show raw dependency information for a package dist-upgrade - Upgrade the system by removing/installing/upgrading packages download - Download the .deb file for a package edit-sources - Edit /etc/apt/sources.list with your preferred text editor dselect-upgrade - Follow dselect selections full-upgrade - Same as 'dist-upgrade' held - List all held packages help - Show help for a command hold - Hold a package install - Install/upgrade packages list - List packages based on package names policy - Show policy settings purge - Remove packages and their configuration files recommends - List missing recommended packages for a particular package rdepends - Show reverse dependency information for a package reinstall - Download and (possibly) reinstall a currently installed package remove - Remove packages search - Search for a package by name and/or expression show - Display detailed information about a package showhold - Same as 'held' showsrc - Display all the source package records that match the given package name source - Download source archives sources - Same as 'edit-sources' unhold - Unhold a package update - Download lists of new/upgradable packages upgrade - Perform a safe upgrade version - Show the installed version of a package As to Zorin, I tried to test run Moo Wrapper. All ended in error on start up. How do I install the Linux package from Boinc web site? |
Send message Joined: 1 Jan 07 Posts: 1058 Credit: 36,588,912 RAC: 15,901 |
~$ sudo apt instal boinc-client boinc-managerTwo 'l's in install. |
Send message Joined: 6 Oct 06 Posts: 204 Credit: 7,608,986 RAC: 0 |
~$ sudo apt instal boinc-client boinc-managerTwo 'l's in install. sudo apt install boinc-client boinc-manager [sudo] password for arif: Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2883 (synaptic) Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2883 (synaptic) Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2883 (synaptic) Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2883 (synaptic) Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2883 (synaptic) Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2883 (synaptic) Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2883 (synaptic) and it is still going on. |
Send message Joined: 29 Oct 17 Posts: 1044 Credit: 16,196,312 RAC: 12,647 |
Reboot the system and then try again. |
Send message Joined: 15 May 09 Posts: 4530 Credit: 18,673,212 RAC: 15,071 |
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2883 (synaptic)The key is the last bit. apt is already running. If it doesn't finish in a reasonable amount of time allowing you to try again, stop the process that is stopping your instance of apt from running with sudo kill 2883Could that be from running it with the, "l" missing? Edit: Glen's suggestion of rebooting would also get rid of the process already running. |
Send message Joined: 6 Oct 06 Posts: 204 Credit: 7,608,986 RAC: 0 |
Reboot the system and then try again. I tried plus tried to reinstall Boinc Manager and Boinc Client. It reported back, you already have the latest version but I cannot see the GUI. I am going to do a fresh install of Mint and then try again. |
Send message Joined: 12 Apr 21 Posts: 314 Credit: 14,561,530 RAC: 18,064 |
If you're going to do a fresh install, try using the GUI software manager to install BOINC. Richard seems to have had success with it. Just to share info, BOINC 7.18.1 (client only, don't have the manager) works on Ubuntu 22.04 on WSL2. |
©2024 cpdn.org