I just upgraded my Rails 1.0, Ruby 1.8.2 workstation to Fedora Core 5 and had to do a little work to get Rails running again. I knew there was a problem when I restarted Apache and got the
Rails app failed to start properly message in my browser. And so it began...
A quick check of the Apache error log revealed that the FastCGI processes weren't starting up - they were failing with a
Uninitialized constant: PStore error. It seems that the FC5 upgrade had installed Ruby 1.8.4, so I uninstalled that using
rpm --nodeps -e ruby ruby-libs.
After that I figured it'd be good to recompile Ruby 1.8.2 in case any underlying libraries had changed. And lo and behold, various OpenSSL-dependent things failed to compile -
rmd160, etc. Apparently some of the FC5 OpenSSL header files don't include stddef.h, so I added
#include at the top of:
Ruby still wouldn't compile since line 541 of
ext/openssl/ossl_x509store.c references a
flags attribute on the
X509_STORE_CTX struct, so I just, er, commented out line 541. After that Ruby built fine. I'm not doing any X509 stuff, so, your mileage may vary if you are.
I had installed fcgi and mod_fastcgi from source, so I did a
make ; make install on both of those. I also uninstalled and reinstalled the
When all was said and done, FC5 + Ruby 1.8.2 + Rails 1.0 + PostgreSQL 8.1.3 + Apache 1.3.33 + mod_fastcgi 2.4.2 + fastcgi 2.4.0 are all working together - and all the tests pass. Whew!