faq
search
add article
cool-stuff
how-to
main
tips
|
Posted by Understudy on Sunday March 21, @04:02PM
from the opps, somebody didn't tell you dept.
/usr/local/sbin/portsdb:35:in `require': No such file to load --
Getting this error when running portversion, porstdb, or portupgrade. Your not alone. Read on to find out what FreeBSD has done for a solution.
The error is cause by a dependency on ruby another port in the ports tree. FreeBSd has added a new updating file. It is called and located in /usr/ports/UPDATING (yes those caps are important). Bring up your favorite editor or you can read it with a cat command like this:
cat /usr/ports/UPDATING |less
This will bring up the file in a read only manner and give you the ability to scroll through it, without having to worry you might have screwed up the file. It is like being a read only file looking at it through cat. When you are done press
q for quit and you exit out. Now lets look at the relevant file. Scroll down until you see:
20040226:
AFFECTS: i386 users of ruby and portupgrade
The nice thing is this file is well written and easy to understand just do what it says:
1) Reinstall portupgrade manually (and as a result ruby 1.8 will be
installed):
pkg_delete portupgrade-\* <--- this a command you need to enter at prompt
(cd /usr/ports/sysutils/portupgrade; make install clean)<-- this is the next command you need to enter at prompt, no parenthsies
2) Reinstall everything that depends on ruby 1.6 to use ruby 1.8
instead:
portupgrade -fr lang/ruby16 <--- This is a command you then need to enter at prompt
3) Reinstall ruby 1.8 (because the previous step kills symlinks):
portupgrade -f lang/ruby18 <--- This is a command you need to enter at prompt
Okay a note here I had something come up when I did this:
Stale dependency: ruby-1.8.1_2 --> openssl-0.9.7d -- manually run 'pkgdb -F'
to fix, or specify -O to force.
okay pkgdb -F is not something I have mastered yet and when I tried it, the message brought up openldap which wasn't the dependency I was worried about. I went to the openssl port which is located in /usr/ports/security/openssl
cd /usr/ports/security/openssl <--- type that at the prompt
and ran:
make deinstall && make reinstall <--- type that at the prompt.
Once that is done complete step 3 and it should go fine. Your portsdb,portversion, or portupgrade should work after that.
You noticed I didn't do step 4. I am not paranoid. Well not like that. I was more worried something that depended on ruby 1.6 that couldn't handle the upgrade to 1.8 would burp and it would be something big.
I highly recommend you read this UPDATING file on a regular basis after doing any cvsup. It is interesting reading . it tells you how it will destroy you machine if you don't follow instructions. So I would consider this a gory story. UPDATING should have the movie rights sold off at any day now.
Important Stuff:
Note: Fields with bold titles are required.
Please try to keep posts on topic.
Try to reply to other people comments instead of starting new threads,
Read other people's messages before posting your own to
avoid simply duplicating what has already been said.
Use a clear subject that describes what your
message is about.
Please do not post offtopic, inflammatory, inappropriate, illegal,
or offensive comments. Repeat offenders will be sanctioned.
|