# Upgrading perl destroys desktop



## gman88 (Jun 16, 2010)

I'm brand new to FreeeBSD.  I've used Slackware for about the last 5 or 6 years but I run a web and mail server and I'm a bit over my head with getting the mail server properly updated.  I found a net tutorial for FreeBSD and thought I'd give it a go.  However, I'm not a Nix genius (and I'm almost 60 year-old) and I wanted a desktop environment to read and learn as I built things.  Anyway, as part of this Qmail Toaster deal the author stated, as one of his first orders of business, that I should go to /usr/ports/lang/perl5.10 and do a "make clean install" (think that's right, in terms of paths and directives - I'm at work).  I recall it acted up (I had to try a couple of different commands and I don't recall what finally worked).  Maybe I had to do pkg_delete perl-5.8.9_3 or something, first.  Anyway, when the new perl was built my Desktop would not load.  Then, I tried to reinstall gnome2 and all I got was a ton of messages saying the packages could not be found (via the net repositories).  SO, I got to bed at 6:30 AM today and had to come to work.  Too old for this stuff!

In short - and this was long - how in the world is someone supposed to simply know that performing this sort of an upgrade will destroy, for instance, the desktop environment and various desktop applications?  Is there a comprehensive guide to this sort of stuff, somewhere...?  I ended up reformatting, reinstalling perl (building the older versions with setuid enabled - which I think is the only issue with the tutorial I was using). Maybe you're simply supposed to well enough informed,as a user, to know that building an updated perl will wreck a lot of things - I'm not that damned smart.

Thanks for any input.


----------



## fronclynne (Jun 16, 2010)

Be sure to read /usr/ports/UPDATING for anything related to what you're going to upgrade**.

Lots of things depend upon perl, & it's generally a good idea to run [cmd=""]pkg_info -R perl\*[/cmd] to find out what is about to be broken.

Also, it helps to learn [red]one[/red]* of the package/port management systems:  ports-mgmt/portupgrade requires ruby, but works quite smoothly.  ports-mgmt/portmaster is fairly functional, requires nothing but /bin/sh, but occasionally causes me to emit shrieks of rage when it loops for 5 or 6 hours recompiling the same 4 ports over and over.

Others might recommend ports-mgmt/portmanager, but I've never used it, so I can't say anything except that it probably works.


*seriously, you'll save yourself a lot of headaches if you just pick one.


**to wit: 
	
	



```
20090328:
  AFFECTS: users of lang/perl*
  AUTHOR: skv@FreeBSD.org

  lang/perl5.10 is out. If you want to switch to it from, for example
  lang/perl5.8, that is:

  Portupgrade users:
    0) Fix pkgdb.db (for safety):
        pkgdb -Ff

    1) Reinstall perl with new 5.10:
        env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.10 -f perl-5.8.\*

    2) Reinstall everything that depends on Perl:
        portupgrade -fr perl

  Portmaster users:
        env DISABLE_CONFLICTS=1 portmaster -o lang/perl5.10 lang/perl5.8
        portmaster -r perl-

  Note: If the "perl-" glob matches  more than one port you will need to
        specify the name of the perl directory in /var/db/pkg explicitly.
```


----------



## zeiz (Jun 17, 2010)

From my experience PERL belongs to few things "everything depends on". In case of having problems with perl I always choose just reinstall from scratch.
Could you drop a link to that tutorial?


----------



## jb_fvwm2 (Jun 17, 2010)

BTW portmanager (here) does not find
installed ports ("missing", it says), 
among other problems (It used to work
very efficiently and well).  That has
been a problem two or more years, so I
always rely on the other two if using
a upgrade port.


----------



## gman88 (Jun 17, 2010)

*Thanks gentlman - here's a link to that guide, too...*

Thanks guys - I appreciate the input.  I'm actually am very impressed with Free BSD; I haven't done any sort of benchmarking tests but it seems to run extraordinarily fast.  And the ports system is something that I'm finding quite....as we old people say....."cool".   I installed mysql (and a few other packages - curl, etc.) via ports with no problems.  For some reason I did have to add "dbus_enable="YES" to /etc/rc.conf to get rid of a boot-time error message, after mysql (and I have no idea what that error really means, nor why installing mysql would throw that error).  But as fronclynne suggested I will do some studying regarding the various options available.

Stuck in my old ways - and just to see if it would work - I compiled a bunch of stuff (including an old version of Apache) using some scripts I'd written.  With some tinkering, it all worked famously.  Here's a dummy page with a link to my php.info page:

http://www.guymerritt.com

The Free BSD site which I mentioned is the following, run by a very nice fella by the name of Bill Olson:

http://freebsdrocks.net/

Cheers.


----------



## fronclynne (Jun 18, 2010)

zeiz said:
			
		

> From my experience PERL belongs to few things "everything depends on". In case of having problems with perl I always choose just reinstall from scratch.




```
> pkg_info -r perl\*
Information for perl-threaded-5.10.1_1:

Depends on:

>
```

So, for many cases, running `# portupgrade -af` is probably close enough to `# portupgrade -fr perl\*` for government work.


----------



## sixtydoses (Jun 20, 2010)

Think what *zeiz* meant was:


```
pkg_info -R perl\* | wc -l
     376
```


----------

