configpm caused Segmentation fault

C

cyl

I got the message below in generating Config.pm while compiling
Perl-5.8.8 in my embedded Linux
../miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_MESSAGES = "en",
LANG = (unset)
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Attempt to free unreferenced scalar: SV 0xe97a0 at configpm line 2.
Attempt to free unreferenced scalar: SV 0xe9944 at lib/vars.pm line 3.
Attempt to free unreferenced scalar: SV 0x10559c at lib/warnings.pm
line 134.
make: *** [lib/Config.pod] Segmentation fault

I found it is caused by the function fetch_string. I tried to find
where this function is located to debug but failed. I just found the
variable $fetch_string which seems to be the body of Config.pm but no
sub fetch_string{}. Does anybody know how I can trace the problem?
Thanks.
 
A

Anno Siegel

cyl said:
I got the message below in generating Config.pm while compiling
Perl-5.8.8 in my embedded Linux
./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_MESSAGES = "en",
LANG = (unset)
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Attempt to free unreferenced scalar: SV 0xe97a0 at configpm line 2.
Attempt to free unreferenced scalar: SV 0xe9944 at lib/vars.pm line 3.
Attempt to free unreferenced scalar: SV 0x10559c at lib/warnings.pm
line 134.
make: *** [lib/Config.pod] Segmentation fault

I found it is caused by the function fetch_string. I tried to find
where this function is located to debug but failed. I just found the
variable $fetch_string which seems to be the body of Config.pm but no
sub fetch_string{}. Does anybody know how I can trace the problem?

The function fetch_string() is defined in .../lib/Config_heavy.pl.

Anno
 
C

cyl

Anno Siegel 寫é“:
The function fetch_string() is defined in .../lib/Config_heavy.pl.

my configpm died at the line
my $t = fetch_string ({}, 'ivtype');

when I check Config_heavy.pl before this line is executed, I found this
function has not yet been defined. that's strange, isn't it?
 
A

Anno Siegel

cyl said:
Anno Siegel 寫é“:


my configpm died at the line
my $t = fetch_string ({}, 'ivtype');

when I check Config_heavy.pl before this line is executed, I found this
function has not yet been defined. that's strange, isn't it?

The script configpm is the one that *generates* Config.pm and
Config_heavy.pl. It defines its own fetch_string() at run time,
depending on I'm not sure what. That happens in eval(), a few lines
up from the call that dies, so it's not surprising that it isn't
defined before. The code to define fetch_string() is later transferred
to Config_heavy.pl, but you didn't get that far.

Anno
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,777
Messages
2,569,604
Members
45,208
Latest member
RandallLay

Latest Threads

Top