Tiny Core Linux

Off-Topic => Off-Topic - Tiny Core Lounge => Topic started by: thane on August 13, 2010, 12:45:55 AM

Title: BOINC for TC
Post by: thane on August 13, 2010, 12:45:55 AM
I had an earlier thread here for SETI@home, but belatedly realized that BOINC is what I really needed to know about.

Has anyone downloaded BOINC to run under TC? What did you have to do to get it to work?
Title: Re: BOINC for TC
Post by: travcav on October 11, 2010, 04:11:21 PM
Had to install the sql lite libraries first but otherwise it runs just fine.  Just download it from the boinc download page.
Title: Re: BOINC for TC
Post by: Jason W on October 11, 2010, 05:28:02 PM
I have run BOINC as well, just gtk2.tcz and perhaps one or two other deps, I can't remember which, but it was a  simple setup.
Title: Re: BOINC for TC
Post by: thane on October 12, 2010, 07:24:52 PM
Thanks, I'll try it.
Title: Re: BOINC for TC
Post by: thane on January 28, 2011, 01:04:37 AM
<bump>

I finally downloaded the BOINC shell script and ran it.

BOINC was installed as /home/tc/BOINC. Is this how everyone else's install worked? It appears to be working but I got a lot of errors with not being able to find some slideshow[?] files.  Also I tried adding the command to start BOINC to /opt/bootlocal.sh (/home/tc/BOINC/run_manager). However this doesn't appear to work. I don't reboot often so for now I've started BOINC manually.

edit: Poking around on the BOINC website, users of other Linux distros have had file error messages like I got, so apparently that's a BOINC/SETI@home problem rather than a TCL problem.
Title: Re: BOINC for TC
Post by: thane on February 16, 2011, 05:41:10 PM
<bump>

BOINC seems to work fine in TC despite what appear to be minor error messages on startup (slideshow files not found).

One problem though: BOINC and its project files are installed in directory home/tc/BOINC. A project that I recently added has some fairly large files and this makes the backup slow. Simply excluding the BOINC directory from the backup is not an option since there are files that should be saved on shutdown, and restored on boot. As a solution I'm thinking of creating commands to run on shutdown and boot that would copy the BOINC directory to my USB and back to home/tc respectively. I could then exclude BOINC from the ordinary backup process.

Is this reasonable? Any show stoppers? I've seen there are scripts that run automatically on shutdown and boot so would it be simply a matter of adding the appropriate copy commands to these?
Title: Re: BOINC for TC
Post by: combo3 on February 16, 2011, 09:18:27 PM
According to the install instructions (http://boinc.berkeley.edu/wiki/Installing_BOINC#The_Berkeley_Installer):

"The BOINC working directory can be moved elsewhere as you like, and can even be renamed. One common choice is ~/.boinc, since files and directories with names that begin with "dot" do not show up by default in Unix directory listings. Whatever the name, everything related to the BOINC client is contained within that directory, and you should always run the client and the manager from that working directory."
Title: Re: BOINC for TC
Post by: thane on February 16, 2011, 11:41:14 PM
Thanks for the reply.

I actually don't have a problem with the directory being installed in /home/tc/ since I'm not using persistent home (no hard drive, only USB). I'd just like to save it somewhere other than my regular backup.

I'll try copying it to my USB and back though and if that works add the commands to the appropriate scripts.

edit: Seems to work. Will do until I think of something else anyway.
Title: Re: BOINC for TC
Post by: thane on May 20, 2011, 12:04:33 AM
<bump>

FYI for any BOINC users, the latest Linux version of BOINC appears to have issues with Tiny Core and a number of other Linux distros. It can't find some needed libraries. Several users have resorted to reinstalling an earlier BOINC version, although an alternative fix is presented here also:

http://boinc.berkeley.edu/dev/forum_thread.php?id=6554&nowrap=true#37872

Unfortunately, I downloaded the latest version and reinstalled after deleting the old one, so I'm SOL (not for the first time...).

edit: I reloaded the previous version of BOINC and it works. Meanwhile the developers have rolled back the latest release and are working on fixes:

http://boinc.berkeley.edu/dev/forum_thread.php?id=6554&nowrap=true#37905

Title: Re: BOINC for TC
Post by: Jason W on May 21, 2011, 05:16:47 PM
I downloaded the version available on the project page 6.10.58, and it is working here.  There may be some more library dependencies than with the previous version, but it appears I have them installed. 
Title: Re: BOINC for TC
Post by: thane on May 21, 2011, 07:59:02 PM
Yes, the BOINC developers have rolled back to 6.10.58 (the old version), which works on TC. But previously they'd released version 6.12.26, which had problems with TC and a number of other distros. Sorry, I should have been more specific in my post.
Title: Re: BOINC for TC
Post by: Jason W on May 21, 2011, 08:46:00 PM
Oops, I missed that and overlooked it in your post.  Just did the usual download from site - install - run thing.  My bad.   :)
Title: Re: BOINC for TC
Post by: thane on November 12, 2011, 09:52:12 PM
<bump> FYI, I tried downloading the current version of BOINC for Linux (6.12.34) and once again got the problem with TCL not having the necessary libraries. Possibly the missing libraries are available in extensions that I don't happen to have.

The older 6.10.58 version works though.
Title: Re: BOINC for TC
Post by: thane on February 20, 2012, 06:11:43 PM
<bump>

FYI, the older version of BOINC (6.10.58) that worked with TCL appears to be no longer available. The only Linux version I could find on the BOINC website today is 6.12.34, which requires libraries that don't seem to be readily available on TCL. Possibly there are extensions that have them that I didn't find though.

edit: My bad. Looking at the BOINC message boards there's a link to other BOINC versions. 6.10.58 is available there.

http://boinc.berkeley.edu/download_all.php (http://boinc.berkeley.edu/download_all.php)
Title: Re: BOINC for TC
Post by: Jason W on February 20, 2012, 06:32:11 PM
I had the current boinc running about a month ago, but the binary version has it's path hardcoded to /opt if I remember.   I may give a go at compiling it soon.
Title: Re: BOINC for TC
Post by: meo on July 10, 2012, 03:56:56 PM
Hi Jason!

I just want to ask if there is a boinc extension coming for TC? Cern has come to mind since the 4:th of July. I think it would be a very good extension to have in the repository.

Have fun in all the work you are putting in for the TC community,
meo
Title: Re: BOINC for TC
Post by: Jason W on July 11, 2012, 11:43:55 AM
This was actually one of the first scms that I put together, but it installs into /opt and requires some linking to make it work in /apps, so I scrapped it.   Now, all it's dependencies needed for a source build   have build scripts, so it should not be too much to put a build together.  I may aim for it in the coming days.
Title: Re: BOINC for TC
Post by: meo on July 11, 2012, 01:31:41 PM
Hi Jason!

Sounds nice. Looking forward to try the extension. Thanks a lot for the swift and positive reply!

Have fun continuing with your good work for the TC community,
meo
Title: Re: BOINC for TC
Post by: thane on July 11, 2012, 02:04:58 PM
I'm running an older version of BOINC since with more recent ones I had a lot of problems with missing libraries -- I haven't tried the latest version though. A BOINC extension would be very helpful.

Depending on the project, the data files for BOINC can be huge compared to the app itself. Even if it's available as an extension I'd suggest having a separate backup for the data and other files that are updated during processing (my solution), or else using persistent home.
Title: Re: BOINC for TC
Post by: thane on July 17, 2012, 02:09:11 PM
I tried downloading the latest version of BOINC for Linux. As before when I ran the run_manager I got an error message about a missing library.

Googling how Linux handles shared libraries it looks like I should download the missing library (and any others I may encounter) to usr/local/lib and  run ipconfig against the directory. Presumably this will make the library(s) available to the BOINC run_manager. I guess after that I'd have to add usr/lib/local to the backup.

Does this approach seem right for TCL? Thanks.
Title: Re: BOINC for TC
Post by: Rich on July 17, 2012, 02:42:42 PM
Hi thane
Quote
I guess after that I'd have to add usr/lib/local to the backup.
Aside from the typo, don't do that, you'll backup the entire subdirectory. Backup only the libs you added:
Code: [Select]
usr/local/lib/libname
usr/local/lib/anotherlibname
Title: Re: BOINC for TC
Post by: thane on July 17, 2012, 05:55:45 PM
Thanks Rich. I haven't looked at usr/local/lib [?] so I have no clue what else might be there.
Title: Re: BOINC for TC
Post by: thane on October 23, 2012, 12:46:56 AM
I'm trying a hack to let TCL run the current version of BOINC (basically adding missing libraries to usr/lib). However I've encountered a library conflict with an existing library (/lib/libc.so.6). BOINC requires version 'GLIBC_2.15' while the TCL version appears to be EGLIBC 2.13. Googling suggests this is a very basic library so I'm hesitant to just try slapping in a 2.15 version and seeing what happens. Any suggestions? I hope I'm not completely misunderstanding the problem here. Thanks.
Title: Re: BOINC for TC
Post by: Juanito on October 23, 2012, 01:17:46 AM
changing libc in tinycore would require major surgery - basically replacing the libs at the heart of the system.

Since the tinycore toolchain was not built with that version of libc, you'd risk instability thereafter.
Title: Re: BOINC for TC
Post by: curaga on October 23, 2012, 03:12:22 AM
Unless they require something in a libc that new, it's bad form to depend on so new libs. That means BOINC won't run on Debian, Red Hat, CentOS, etc etc either.
Title: Re: BOINC for TC
Post by: thane on October 23, 2012, 04:40:28 AM
I think some of the distros curaga mentioned do provide BOINC, but they compiled their own packages. I'm starting with the "Berkeley installer" one from the BOINC project which is supposed to be generic. An old version of it did work on TCL but recent ones require libraries that aren't readily available. I was hoping that I could just add the missing libraries and was making some progress there, but the requirement for a different version of an existing library is a bit of a showstopper. Hmmph.
Title: Re: BOINC for TC
Post by: Rich on October 23, 2012, 10:33:12 AM
Hi thane
I think this pretty much answers the question:
http://boinc.berkeley.edu/dev/forum_thread.php?id=7703
Title: Re: BOINC for TC
Post by: thane on October 23, 2012, 12:27:53 PM
Oops. I did look at the BOINC message boards but somehow overlooked the most relevant thread! Unfortunately it pretty much says what we already figured.

I guess my next step is to see if there's an older version of BOINC that I can get working. If not I'll live without it.

Thanks to everyone for your help!

Thane
Title: Re: BOINC for TC
Post by: AmatCoder on October 23, 2012, 02:30:48 PM
BOINC building process fails if you use the "Berkeley installer". That contains already-compiled files (not compatible with TC - possibly compiled on Ubuntu 12.04) which require libc > 2.14.
And you can not simply replace libc...That could break which was compiled against former libc (means: the whole system)

But BOINC works if you build it from sources...All dependencies are in repository.
See: http://boinc.berkeley.edu/trac/wiki/SoftwarePrereqsUnix (http://boinc.berkeley.edu/trac/wiki/SoftwarePrereqsUnix) (Note that 'server' build is not needed...)
Title: Re: BOINC for TC
Post by: thane on October 24, 2012, 05:40:41 AM
OK, it looks like an older version of BOINC for Linux (6.12.34) does work with the /lib/libc.so.6 library version that TCL has. I had to download some additional TCL extensions (and other libraries TCL doesn't provide) to get the libraries BOINC needs, but it seems to be running. It's late here, will give a list of the extensions and libraries tomorrow.
Title: Re: BOINC for TC
Post by: AmatCoder on October 24, 2012, 07:06:24 PM
However manager does not work, isn't? boincmgr from "Berkeley installer" needs an standard wxgtk (with separate libraries) and TCL has a monolithic build...

I was able to build a new BOINC (7.0.28 version)... I can send you for testing and to send it to repository if it is working fine.
Title: Re: BOINC for TC
Post by: thane on October 25, 2012, 01:41:58 AM
I'm not a 100% sure my BOINC setup is completely working. I downloaded the libraries TCL doesn't have (mostly wxwidget ones as you say) and stored them in a directory on USB. On boot I copy these into /usr/lib. It's a hack but it looks as though it lets BOINC run, and I don't think does any damage because they're libraries TCL doesn't use.

Compiling a BOINC extension is a much more elegant solution (and beyond my current skill). Not sure how you'd send it to me but I'm certainly willing to test it. BOINC would be a great addition to TCL.

edit: I should note that I'm running TCL in RAM and saving to a USB stick. I save BOINC on shutdown and copy it back to home/tc on boot separately from the regular TCL backup/restore. Probably a hard drive/persistent home setup would be better. I still want to try it though.
Title: Re: BOINC for TC
Post by: AmatCoder on October 25, 2012, 02:21:22 PM
Compiling a BOINC extension is a much more elegant solution (and beyond my current skill). Not sure how you'd send it to me but I'm certainly willing to test it. BOINC would be a great addition to TCL.
Well, I can upload to mediafire and I send a PM to you with the link...

edit: I should note that I'm running TCL in RAM and saving to a USB stick. I save BOINC on shutdown and copy it back to home/tc on boot separately from the regular TCL backup/restore. Probably a hard drive/persistent home setup would be better. I still want to try it though.
I do not know how BOINC works, sorry...That's why I need someone to test it  ;).
Title: Re: BOINC for TC
Post by: thane on October 25, 2012, 02:50:36 PM
"Well, I can upload to mediafire and I send a PM to you with the link..."

Sounds good.

"I do not know how BOINC works..."

At least in my current setup BOINC is installed in a directory under home/tc. All the data files it processes are stored there too. Depending on the projects it's running these files can be quite large. Also various file updates seem to be done fairly often. This leads me to think that persistent home on a hard drive is the best setup. My all RAM setup is less than ideal but it works well enough!
Title: Re: BOINC for TC
Post by: AmatCoder on October 26, 2012, 02:39:37 AM
"Well, I can upload to mediafire and I send a PM to you with the link..."

Sounds good.
Done. (mediafile not available...depositfiles instead...sorry for captchas :()
Title: Re: BOINC for TC
Post by: thane on October 26, 2012, 03:46:42 AM
Got it. Thanks. Will let you know how it works.
Title: Re: BOINC for TC
Post by: thane on October 27, 2012, 05:21:09 PM
OK, took a first shot at running a BOINC extension on TCL.

Untarred the BOINC extension files and moved them into /tce/optional OK. After that:

Initially ran tce-load -i boinc in a default terminal (home/tc). This created several files in the home/tc folder. Then ran boinc_client. Client appeared to initialize correctly, however it says no projects assigned to BOINC. This is to be expected. Client message said to go the BOINC website for instructions on attaching projects.

In the past I've used boincmgr, so I terminated the client (CTRL-C) and tried boincmgr. boincmgr started but terminal showed messages "execvp(/home/tc/boinc, --redirectio, --launched_by_manager) failed with error 13!". Manager panel showed "Unable to connect to core client".

Thought there might be a folder issue, so created a boinc directory under home/tc and moved BOINC files there. Re-ran boincmgr and got the same results.

I'll do some research and see if I can resolve this. I think the extension is probably OK but there's something wrong with how I'm trying to run it.
Title: Re: BOINC for TC
Post by: AmatCoder on October 27, 2012, 07:17:35 PM
As far I understand, boinc_client and boincmgr must be run sequentially...Open a terminal and type:
Code: [Select]
tc@box:~$ boinc_client
Do not close. Open another terminal and type:

Code: [Select]
tc@box:~$ boincmgr
Then you can see that it connect to client and it works...

Title: Re: BOINC for TC
Post by: thane on October 27, 2012, 07:20:32 PM
I was just going to post that when I saw yours. Yup, had to start the client first and then the manager in a separate terminal. Onward!

edit: Was able to connect to my seti@home account and add it to BOINC as a project. The project info is stored in a subdirectory from where you run the boinc_client and boincmgr (in my case under home/tc/boinc/). Since I'm not running persistent home and would rather not have all the BOINC stuff in the mydata.tgz I'll try backing the boinc directory up separately like I was before. Will let it run for a while first though.

edit #2: Getting error message in the client terminal 'Xlib: extension "MIT-SCREEN-SAVER" missing on display ":0.0".'. Other users in various Linux distros have reported this too. It looks like data is being processed anyway though.
Title: Re: BOINC for TC
Post by: AmatCoder on October 28, 2012, 02:33:52 AM
Getting error message in the client terminal 'Xlib: extension "MIT-SCREEN-SAVER" missing on display ":0.0".'. Other users in various Linux distros have reported this too. It looks like data is being processed anyway though.

Are you running Xvesa? Because this would need Xorg running... (and presumably xscreensaver-base.tcz as well)

Anyway that's just to run a screensaver which displays BOINC's general information, status, etc...
As stated here: http://boinc.berkeley.edu/wiki/BOINC_screensaver (http://boinc.berkeley.edu/wiki/BOINC_screensaver):
Quote
NOTE: BOINC runs even if you don't use the screensaver.
Title: Re: BOINC for TC
Post by: thane on October 28, 2012, 03:52:56 AM
Yes, the error messages are more of an annoyance than anything else. As other users noted they fill the terminal window and keep you from seeing messages that are more important, but they don't appear to interfere with data processing. I'm running xvesa and don't have any screen saver extensions downloaded.
Title: Re: BOINC for TC
Post by: thane on November 05, 2012, 01:22:02 AM
The BOINC extension appears to be working correctly, at least with the seti@home project.

I created a boinc directory under home/tc and executed the tce-load -i boinc command there, as well as the boinc-client command. The boincmgr directory should be run as needed in a separate terminal (set to the same directory the BOINC client is running in). I exclude the boinc directory from the regular TCL backup and copy the contents to directory /mnt/sda1/tce/mydownloads/boinc on shutdown and back to home/tc/boinc on boot. Actually using the regular TCL backup is probably OK for seti@home, but some other projects have huge data files that users might not want to mix with TCL. For users with hard drives using persistent home would get around these problems.

I suggest going ahead and putting the BOINC extension in the repository so it can get a more thorough test.
Title: Re: BOINC for TC
Post by: Rich on November 05, 2012, 09:59:55 AM
Hi thane
Quote
I exclude the boinc directory from the regular TCL backup and copy the contents to directory /mnt/sda1/tce/mydownloads/boinc on shutdown and back to home/tc/boinc on boot.
Rather than copying the contents, you could:
Code: [Select]
ln -s /mnt/sda1/tce/mydownloads/boinc home/tc/boincon startup.
Title: Re: BOINC for TC
Post by: curaga on November 05, 2012, 10:23:33 AM
No need to even create on startup, the symlink will be saved in backup/persistent home.
Title: Re: BOINC for TC
Post by: thane on November 05, 2012, 11:04:45 AM
The data files for BOINC projects are not part of the extension code but are downloaded from the web, processed, and returned to the project servers. They're stored under the same working directory that the BOINC client is running in (in my case home/tc/boinc). I'm booting off USB and running exclusively in RAM (no hard drive), so I have to somehow backup the modified files in the boinc directory. There's no doubt ways to distinguish these from the unmodified files but I just backup the whole directory. That's why I think a setup with a hard drive and persistent home would be a better environment, and why I suggest someone running that setup do further testing.
Title: Re: BOINC for TC
Post by: hugolia on November 06, 2012, 02:27:42 AM
Hi. I have just downloaded TCL with the intention to run BOINC in it.
I read you have run into problems and finally got it running.
Will you please share the instructions on how to install it?
Thanks
Title: Re: BOINC for TC
Post by: AmatCoder on November 06, 2012, 06:25:42 AM
I have just sent boinc extension for including in repository. Note that it does not include an init script like others distros...User must do it manually from command-line.

For those concerned about disk usage, read this: http://www.boinc-wiki.info/Disk_Usage_Preferences (http://www.boinc-wiki.info/Disk_Usage_Preferences) (This also applies to RAM)
Title: Re: BOINC for TC
Post by: thane on November 07, 2012, 01:21:07 AM
Thanks AmatCoder. The BOINC extension is an important addition to TCL, especially since the BOINC developers don't seem to try for Linux compatibility beyond Ubuntu. We don't all use that.

FWIW, BOINC on my PC has been chugging away for almost two weeks, and has successfully processed a number of seti@home work units. There are several other projects available through the BOINC site as well. Hopefully something to interest a lot of TCL users.