Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Perl 5.8.2 application killed apps

Status
Not open for further replies.

dnet19650

IS-IT--Management
Nov 13, 2003
17
US
I installed perl 5.8.2 on to my FreeBSD 5.0 box.
I have some application not starting since. They are complaining about not fine strict.pm.
---
Can't locate strict.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.2/i386-freebsd /usr/local/lib/perl5/5.8.2 /usr/local/lib/perl5/site_perl/5.8.2/i386-freebsd /usr/local/lib/perl5/site_perl/5.8.2 /usr/local/lib/perl5/site_perl .) at /usr/local/etc/dansguardian/virusscanner line 39
----
I am able to run use strict; in my perl scripts without a problem.
Can anyone help?
 
Did you install from the ports collection or did you download latest.tar.gz and install from there?

What install options did you configure with?
 
Options I used


rm -f config.sh Policy.sh
sh Configure -de
make
make test
make install
 
Very bizarre.

Did you try the ports collection then? Usually thats my last resort but I have not made the jump to the 5.x FreeBSD yet.

You may want to cross post in the FreeBSD forums.
 
I was just looking in the ports under the
release-5.0. The latest port is 5.8.0_2. I don't know
what will happen if I install it. There is a port for 4.9-stable at perl-5.8.2_1.
Is there a way to uninstall the latest.tar.gz version?
Or will the Port get everything in sync?
 
Ports should get it all in sync. I'd give that a shot.

Worse case you can remove your /usr/local/lib/perl5 stuff and start from scratch but I would do that as a last resort.

Before you do that though, are you 100% sure that its not just

/usr/local/etc/dansguardian/virusscanner line 39

that has the problem? Have you tried running a simple .pl script like


---
use strict ;

print "Hi! I am a perl script running in strict mode.";

---

I know it seems stupid, but I have seen these sorts of problems thrown for other reasons. Give this a test and let me know what happens.
 
you are correct as far as if I use strict; in a perl script it does work. The problem is this program worked until I undated Perl. I don't understand why, but this is not the only program that died. They report other modules like Paser.pm as missing too. Yet they are all their and work if I call them in a perl script that I write?
 
Ahh ok so here is the deal.

WHen you upgrade perl you lose all your libraries.

If you app is depending on any non-core libs you have to reinstall them from source.

Usually your script will barf and say specifically what it wants you to install but for some reason yours is manifesting as 'use strict' failing.

So, find all your 'use' statements, install the libs again and you'll be in business.
 
Just for I know strict is part of the core library?
But you think it is one of the other use Modules it calling need to be reinstalled. I will give it a try. I did look for strict module but only could download it with the perl distribution. I will let you know how it goes.
Thanks for your help!
 
You do not have to download the strict module!

Look, run this code :

---
use strict ;

print "Hi! I am a perl script running in strict mode.";

---

If that works then your 'strict module' is fine.

The problem is that your code is probably calling libraries that are no longer installed with the new perl distribution. This is causing strict to fail its checks.

Reinstall your 3rd party modules and the problem will go away.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top