Tiny Core Linux
Off-Topic => Off-Topic - Tiny Core Lounge => Topic started 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?
-
Had to install the sql lite libraries first but otherwise it runs just fine. Just download it from the boinc download page.
-
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.
-
Thanks, I'll try it.
-
<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.
-
<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?
-
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."
-
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.
-
<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
-
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.
-
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.
-
Oops, I missed that and overlooked it in your post. Just did the usual download from site - install - run thing. My bad. :)
-
<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.
-
<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)
-
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.
-
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
-
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.
-
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
-
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.
-
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.
-
Hi thane
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:
usr/local/lib/libname
usr/local/lib/anotherlibname
-
Thanks Rich. I haven't looked at usr/local/lib [?] so I have no clue what else might be there.
-
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.
-
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.
-
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.
-
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.
-
Hi thane
I think this pretty much answers the question:
http://boinc.berkeley.edu/dev/forum_thread.php?id=7703
-
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
-
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...)
-
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.
-
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.
-
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.
-
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 ;).
-
"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!
-
"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 :()
-
Got it. Thanks. Will let you know how it works.
-
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.
-
As far I understand, boinc_client and boincmgr must be run sequentially...Open a terminal and type:
tc@box:~$ boinc_client
Do not close. Open another terminal and type:
tc@box:~$ boincmgr
Then you can see that it connect to client and it works...
-
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.
-
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):
NOTE: BOINC runs even if you don't use the screensaver.
-
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.
-
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.
-
Hi thane
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:
ln -s /mnt/sda1/tce/mydownloads/boinc home/tc/boinc
on startup.
-
No need to even create on startup, the symlink will be saved in backup/persistent home.
-
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.
-
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
-
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)
-
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.