Cannot install some perl modules.

Installing and maintaining the FreeBSD Ports Collection or FreeBSD Packages (i.e. third party software).

Cannot install some perl modules.

Postby AlexN » 18 Aug 2011, 19:36

Hello.
I have a strange issue. Yesterday I've updated ports tree with thoughts to install perl Mail-Box modules. But I couldn't do that because strange error occurred:
Code: Select all
# make
===>  p5-Mail-Box-2.097 requires Perl 5.8.0 or later, install lang/perl5.8, lang/perl5.10, lang/perl5.12 or lang/perl5.14 and try again.
*** Error code 1


At that point I used perl5.12.4 and it worked as it should. Other (already installed) modules were also working fine. I decided to update perl from 5.12.4 to 5.14.1:
Code: Select all
env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.14 -f perl-5.12.\*

After that I rebuilt all ports that were dependent on perl.
Code: Select all
portupgrade -fr perl

Mostly of that stuff were updated but not all. Some modules refused to build with the same error as p5-Mail-Box.
I've noticed that ports that refusing to build has something like
Code: Select all
PERL_CONFIGURE= 5.8.1+
in their Makefile. In other hand ports that has
Code: Select all
PERL_CONFIGURE= YES
building and working properly. Changing this variable in Makefiles of problem ports solved this issue and make them built and installed. But I think solving this in such way not a good idea. Is this a bug or something I don't understand something so far? Also couldn't find something useful on the Internet.
I'm using:
Code: Select all
# uname -a
FreeBSD Elf 8.2-RELEASE FreeBSD 8.2-RELEASE #5: Sat May 14 22:56:08 UTC 2011     elf@Elf:/usr/src/sys/amd64/compile/ELFKERN  amd64

Sorry for my poor english and thank you in advance.
AlexN
Junior Member
 
Posts: 12
Joined: 19 Oct 2010, 16:58

Postby jb_fvwm2 » 19 Aug 2011, 03:49

Code: Select all
find /usr/local/lib/perl5/site_perl/5.12.4 -type f -exec pkg_which {} + | tee -a /tmp/A-perl.dat
cat /tmp/A-perl.dat | sort | uniq | tee -a /tmp/B-perl.dat
less /tmp/B-perl.dat

Ports to rebuild? If it was 5.12.3 > 5.12.4 I would recc. the perl-after-upgrade script. Don't know about the other questions... (another version of that script omits the site_perl portion of the path... ... Recently I found a whole slew of superfluous files and directories underneath /perl5/ after the latest upgrade, previous ones were done sort of haphazardly...
jb_fvwm2
Senior Member
 
Posts: 1503
Joined: 16 Nov 2008, 19:19

Postby AlexN » 20 Aug 2011, 08:23

Using empirical way I've found that my perl version (PERL_VERSION variable?), while making something from ports, recognizing as 0. What instance is in charge of this?
By the way, jb_fvwm2, thank you for your advice. Looks like there is no garbage underneath my /usr/local/lib/perl5/.
AlexN
Junior Member
 
Posts: 12
Joined: 19 Oct 2010, 16:58

Postby AlexN » 21 Aug 2011, 16:02

If no one can help maybe someone could say me right place to ask this question.
AlexN
Junior Member
 
Posts: 12
Joined: 19 Oct 2010, 16:58

Postby wblock@ » 21 Aug 2011, 16:26

AlexN wrote:Using empirical way I've found that my perl version (PERL_VERSION variable?), while making something from ports, recognizing as 0. What instance is in charge of this?


That variable is set in [file]/etc/make.conf[/file] when the perl port is installed.
Code: Select all
# added by use.perl 2011-08-08 14:09:17
PERL_VERSION=5.12.4
User avatar
wblock@
Old Fart
 
Posts: 10212
Joined: 07 Sep 2009, 23:23
Location: Milky Way galaxy

Postby AlexN » 21 Aug 2011, 18:17

Yes, I know that. And that's what I have in /etc/make.conf
Code: Select all
# added by use.perl 2011-08-18 20:04:12
PERL_VERSION=5.14.1

But problem persists. Looks like somehow I broke my system. But I cannot understand what exactly is broken.
AlexN
Junior Member
 
Posts: 12
Joined: 19 Oct 2010, 16:58

Postby kpa » 21 Aug 2011, 19:28

Install [port]ports-mgmt/portmaster[/port] and run a ports dependency check followed by a consistency check of [FILE]/var/db/ports[/FILE] with these commands:

[CMD="#"]portmaster --check-depends[/CMD]

[CMD="#"]portmaster --check-port-dbdir[/CMD]
kpa
MFC'd
 
Posts: 3398
Joined: 05 Jul 2010, 13:19
Location: People's Technocratic Republic of Finland

Postby AlexN » 24 Aug 2011, 06:00

Did as you said. All looks fine.It showed me just few packages not common to perl that seemed not to be installed and it offered me to remove them from /var/db/ports (something like quake2 and so on).

Also if you fell into trouble like this and you need whatever to install some modules and work with them you can try to add to /etc/make.conf
Code: Select all
USE_PERL5= YES
But in this case as I understood you must determine possible version mismatch by yourself.
AlexN
Junior Member
 
Posts: 12
Joined: 19 Oct 2010, 16:58

Postby kpa » 25 Aug 2011, 12:29

Are any of those perl modules originally installed from packages? You can try to forcibly delete those modules with [CMD="#"]pkg_delete -f p5-...[/CMD] and then delete anything related to those modules under [FILE]/var/db/pkg[/FILE] and [FILE]/var/db/ports[/FILE] and then reinstall those modules from ports.
kpa
MFC'd
 
Posts: 3398
Joined: 05 Jul 2010, 13:19
Location: People's Technocratic Republic of Finland

Postby AlexN » 25 Aug 2011, 15:51

No, all modules (and other stuff of my system) were built from ports only.
AlexN
Junior Member
 
Posts: 12
Joined: 19 Oct 2010, 16:58

Postby AlexN » 11 Apr 2012, 18:55

Problem disappeared after rebuilding of the world.
AlexN
Junior Member
 
Posts: 12
Joined: 19 Oct 2010, 16:58


Return to Installation and Maintenance of FreeBSD Ports or Packages

Who is online

Users browsing this forum: Windmill and 2 guests