...but it worked. I think the key was to give no password permission for MySQL for both local host and brainwave.stanford.edu. Of course, as you can imagine, that's not the best idea. We ended up creating a new account, untaring the tarball, ./configure, make, and test_uc.py worked just fine. I changed the no password permission to be specific for yah. But it's yucky.
From /root/src/boinc/db/db_base.C
int DB_BASE::enumerate(char* clause) {Ok, so when a row is NOT found it returns a 1, but if a row is found it returns a 0. Now, take a look at /root/src/boinc/sched/main.C
int x;
char query[MAX_QUERY_LEN];
MYSQL_ROW row;
if (!cursor.active) {
cursor.active = true;
sprintf(query, "select * from %s %s", table_name, clause);
x = mysql_query(db->mysql, query);
if (x) return mysql_errno(db->mysql);
cursor.rp = mysql_store_result(db->mysql);
if (!cursor.rp) return mysql_errno(db->mysql);
}
row = mysql_fetch_row(cursor.rp);
if (!row) {
mysql_free_result(cursor.rp);
cursor.active = false;
return 1;
} else {
db_parse(row);
}
return 0;
}
found = false;Is that right? While we find rows, gproject.enumerate("") returns 0. Yeah, it looks right... are we getting an error?
while (!gproject.enumerate("")) {
found = true;
}
if (!found) {
log_messages.printf(SchedMessages::CRITICAL, "can't find project\n");
exit(1);
}
You might find that the cgi cannot access the database, it's because the default user is the current unix user, which is not what you think it is when a cgi is being run. (I'm not sure what it is). Temporarily I gave anyone on the computer access to writing and searching the database, that fixed the problem and got me past the database error.
Here's an update. Using the latest tarball (nightly update), I'm now able to configure, pass test/test_sanity.py, and run make. However, the test/test_uc.py is still not working properly. It _looks_ like it is running but hangs for what seems like forever (>1 hr) on RUNNING, 50 unsent, 0, 0, 50. I erasing everything and starting over, just to make sure I didn't have any broken pieces.
test/test_uc.py
[root@brainwave test]# ./test_uc.py
-- Testing standard upper_case application
Here we go, here we go!
./configuregot a whole bunch of positive looking messages, and then
Traceback (most recent call last): File "test/test_sanity.py", line 5, in ? from testbase import * File "test/testbase.py", line 16, in ? from Boinc.setup_project import * File "/root/src/boinc-2.04/py/Boinc/setup_project.py", line 9, in ? from Boinc import database, db_mid, configxml, tools File "/root/src/boinc-2.04/py/Boinc/database.py", line 38, in ? import MySQLdb, MySQLdb.cursors ImportError: No module named MySQLdbYikes, that's no good. RPM check shows that I have installed MySQL-python.
$ tar xfz MySQL-python-0.9.2.tar.gz $ cd MySQL-python-0.9.2 $ python setup.py build $ su # python setup.py install
Traceback (most recent call last): File "test/test_sanity.py", line 5, in ? from testbase import * File "test/testbase.py", line 18, in ? import cgiserver ImportError: No module named cgiserver
freetype-devel-2.1.3-6.i386.rpm fontconfig-devel-2.1-9.i386.rpm XFree86-devel-4.3.0-2.i386.rpmIt should compile at this point.
-- Testing standard upper_case application
Here we go!
./configure --prefix=/usr/local/php-4.3.2 --with-mysql=/usr --with-apxs2=/usr/local/apache2/bin/apxs --with-openssl=/usr/local/openssl-0.9.7b --enable-magic-quotes --enable-sockets --with-curl
libtool --finish /root/src/php-4.3.3/libs(Why didn't I run libtool before?)
AddType application/x-httpd-php .phpto /usr/local/apache2/conf/httpd.conf, and while you are at it, make 'index.php' the default index
DirectoryIndex index.php index.html index.html.var(look for 'DirectoryIndex' using your editor)
Wait... I just found these instructions... maybe I should have found them earlier!
Here we go.
./configure --prefix=/usr/local/apache2 --enable-modules=all --enable-mods-shared=all --with-ssl=/usr/local/openssl-0.9.7c --enable-ssl=shared
/usr/local/apache2/bin/apachectl startsslto /etc/rc.d/rc.local.
/usr/local/apache2/bin/apachectl start
I downloaded and tried to install a bunch of RPM's... but still in the end, nothing seemed to work right. Here's what I grabbed:
[root@brainwave rpm]# lsI was able to install the MySQL rpm's as well as MySQL-python (I had to upgrade db4 to version 4.1). This is the core of boinc. However, I had a lot of problems installing httpd. After updating apr and apr-util, I installed httpd and got this error when I tried to check the version:
apr-0.9.4-2.i386.rpm MySQL-python-0.9.2-1.i386.rpm
apr-util-0.9.4-2.i386.rpm MySQL-server-4.0.15-0.i386.rpm
db4-4.1.25-10.i386.rpm MySQL-shared-compat-4.0.15-0.i386.rpm
httpd-2.0.47-8.i386.rpm php-4.3.3-2.i386.rpm
httpd-2.0.47-8.src.rpm php-imap-4.3.3-2.i386.rpm
mod_perl-1.99_07-5.i386.rpm php-ldap-4.3.3-2.i386.rpm
mod_python-3.0.3-3.i386.rpm pspell-0.12.2-16.i386.rpm
mod_ssl-2.8.15-1.i386.rpm redhat-config-httpd-1.1.0-3.noarch.rpm
MySQL-client-4.0.15-0.i386.rpm webalizer-2.01_10-14.i386.rpm
MySQL-devel-4.0.15-0.i386.rpm
[root@brainwave rpm]# rpm -i httpd-2.0.47-8.i386.rpmI was never able really to figure out what was wrong. So now, I'm resorting to installing from the tarball, which, I guess is ok since now I can compile in the newer version of openSSL. But now I'm worried I won't be able to rpm mod_perl, mod_python, mod_ssl, etc. That's a pain.
warning: httpd-2.0.47-8.i386.rpm: V3 DSA signature: NOKEY, key ID 897da07a
[root@brainwave rpm]# httpd -v
httpd: relocation error: /usr/lib/libapr-0.so.0: symbol sys_siglist, version GLIBC_2.3.3 not defined in file libc.so.6 with link time reference
Since we now have a new version of MySQL (where before we didn't!), we need to recompile PHP. But if this is the case we might as well upgrade to the latest version. For security's sake we will also upgrade openSSL, which in turn means we should upgrade Apache. (See how Linux becomes a problem?)
wget http://www.openssl.org/source/openssl-0.9.7c.tar.gzUnzip and untar using
gunzip openssl-0.9.7c.tar.gz tar xvf openssl-0.9.7c.tarConfigure it to run in /usr/local/openssl-0.9.7c by running
./Configure threads shared --prefix=/usr/local/openssl-0.9.7c --openssldir=/usr/local/openssl-0.9.7c linux-elfand then
make make install
[root@brainwave rpm]# rpm -e httpd error: Failed dependencies: httpd-mmn = 20020628 is needed by (installed) mod_perl-1.99_07-5 httpd-mmn = 20020628 is needed by (installed) mod_python-3.0.1-3 httpd-mmn = 20020628 is needed by (installed) mod_ssl-2.0.40-21.5 httpd-mmn = 20020628 is needed by (installed) php-4.2.2-17.2 libapr.so.0 is needed by (installed) mod_perl-1.99_07-5 libaprutil.so.0 is needed by (installed) mod_perl-1.99_07-5 webserver is needed by (installed) webalizer-2.01_10-11 httpd >= 2.0.40 is needed by (installed) mod_perl-1.99_07-5 httpd >= 2.0.40 is needed by (installed) mod_python-3.0.1-3 httpd is needed by (installed) redhat-config-httpd-1.0.1-18 httpd is needed by (installed) mod_ssl-2.0.40-21.5Oops, err maybe we don't.
This is BOINC continued. We need to install MySQL, recompile PHP, etc. But first things first. Previously I was unable to install MySQLdb for Python.
wget http://mysql.zawodny.com//Downloads/MySQL-4.0/MySQL-server-4.0.15-0.i386.rpm
wget http://mysql.zawodny.com//Downloads/MySQL-4.0/MySQL-client-4.0.15-0.i386.rpm
wget http://mysql.zawodny.com//Downloads/MySQL-4.0/MySQL-shared-compat-4.0.15-0.i386.rpm
wget http://mysql.zawodny.com//Downloads/MySQL-4.0/MySQL-devel-4.0.15-0.i386.rpm
rpm -i MySQL-server-4.0.15-0.i386.rpm
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h brainwave.stanford.edu password 'new-password'
ln -s /var/lib/mysql/mysql.sock /tmp
rpm -i MySQL-python-0.9.2-1.i386.rpm
I've recently become interested in the Berkeley Open Infrastructure for Network Computing (BOINC) as an alternative to dedicated computing, e.g., Beowulf. In order to set it up though, we needed a Linux server. Here's what I did:
[root@brainwave root]# gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)[root@brainwave root]# mysql -V
mysql Ver 12.21 Distrib 4.0.14, for intel-linux (i686)[root@brainwave root]# httpd -v
Server version: Apache/2.0.40
Server built: Jul 31 2003 11:36:14[root@brainwave root]# php -v
4.2.2[root@brainwave root]# python -V
Python 2.2.2
[root@brainwave rpm]# wget http://easynews.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-0.9.2-1.i386.rpm
--10:30:57-- http://easynews.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-0.9.2-1.i386.rpm
=> `MySQL-python-0.9.2-1.i386.rpm'
Resolving easynews.dl.sourceforge.net... done.
Connecting to easynews.dl.sourceforge.net[140.99.102.30]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 100,087 [application/x-rpm]100%[====================================>] 100,087 247.45K/s ETA 00:00
10:30:57 (247.45 KB/s) - `MySQL-python-0.9.2-1.i386.rpm' saved [100087/100087]
Ahh, hey, that was all wrong. I had all these files because of AFS. /usr/pubsw actually belongs to Stanford, which is why I had problems. In fact, I need to reinstall quite a lot of things. I was able to remove the AFS pubsw files using
apt-get remove sulinux-afsconfigNow, as expected, I do not have MySQL at all. Interestingly, it still looks for mysql at /usr/pubsw/bin/mysql. Maybe if I reboot? Yup, that did the trick. Now what I need to do is install MySQL, recompile PHP, etc.
Update
You do not need to remove the afsconfig... so if you did, put it back in order by doing
apt-get install sulinux-afsconfig
3 items of confusion - this is for me. First, why does S32 have a gap in the last third? Second, why does S24 yield such poor results? Finally, what makes S10 dry not as good as S10 wet? Is there a way of measuring a difference?
While 'flicking' I found Paul Whitmore's dissertation on goal setting. This may be just what I needed. On pg. 8, he talks about Carol Dwek's theory on self-evaluation: am I "mastery-focused" or "performance-focused"? That is, do I look for learning in my experiences or do I look for a successful performance?