perl-thread und h2ph und Sys::Syslog

Alexander Reelsen ar at rhwd.net
Sat Aug 28 11:18:40 CEST 1999


Moin allseits

Nachdem ich mir perl-threads installiert hatte, um mal ein wenig mit Threads
unter perl herumzuspielen, musste ich feststellen, das die perl header dateien
fuer in den thread directories noch fehlten. Also:
cd /usr/include/ ; h2ph -d /usr/lib/perl5/5.005/i386-linux-thread -l -h -r .

Funktioniert auch einwandfrei.
Wenn ich jetzt aber ne anwendung, die unter perl ohne threads auch gelaufen
hat, mit Sys::Syslog starte, erhalte ich die folgende Fehlermeldung:
(Sorry, das es ein wenig laenger ist)

alex at joker:~/devel/perl/trafficd# perl-thread -cw trafficd
Constant subroutine __stub_lgammal redefined at
        /usr/lib/perl5/5.005/i386-linux-thread/gnu/stubs.ph line 58 (#1)

    (S) You redefined a subroutine which had previously been eligible for
    inlining.  See perlsub/"Constant Functions" for commentary and
    workarounds.

Constant subroutine __stub_lgammal_r redefined at
        /usr/lib/perl5/5.005/i386-linux-thread/gnu/stubs.ph line 64 (#1)
Uncaught exception from user code:
        Uncaught exception from user code:
        Uncaught exception from user code:
        Uncaught exception from user code:
        Uncaught exception from user code:
        Can't locate stdarg.ph in @INC (did you run h2ph?) (@INC contains:
/usr/lib/perl5/5.005/i386-linux-thread /usr/lib/perl5/5.005
/usr/local/lib/site_perl/i386-linux-thread /usr/local/lib/site_perl
/usr/lib/perl5 .) at /usr/lib/perl5/5.005/i386-linux-thread/sys/syslog.ph line
7.
        require sys/syslog.ph called at
/usr/lib/perl5/5.005/i386-linux-thread/syslog.ph line 3
        require syslog.ph called at /usr/lib/perl5/5.005/Sys/Syslog.pm line
117
        require Sys/Syslog.pm called at trafficd line 9
        main::BEGIN() called at stdarg.ph line 0
        eval {...} called at stdarg.ph line 0
        require syslog.ph called at /usr/lib/perl5/5.005/Sys/Syslog.pm line
117
        require Sys/Syslog.pm called at trafficd line 9
        main::BEGIN() called at
/usr/lib/perl5/5.005/i386-linux-thread/sys/syslog.ph line 0
        eval {...} called at
/usr/lib/perl5/5.005/i386-linux-thread/sys/syslog.ph line 0
        require Sys/Syslog.pm called at trafficd line 9
        main::BEGIN() called at
/usr/lib/perl5/5.005/i386-linux-thread/syslog.ph line 0
        eval {...} called at /usr/lib/perl5/5.005/i386-linux-thread/syslog.ph
line 0
        main::BEGIN() called at /usr/lib/perl5/5.005/Sys/Syslog.pm line 9
        eval {...} called at /usr/lib/perl5/5.005/Sys/Syslog.pm line 9
BEGIN failed--compilation aborted at trafficd line 9.


Dieses "ominoese" stdarg.ph existiert nicht, und ich habe nicht die geringste
ahnung, wo ich nach einem stdarg.h suchen soll (also eins das funktioniert).
Ausserdem braucht perl 5.005 ohne threads dieses stdarg.ph nicht.
Und das syslog.ph fuer threads und mit ohne sieht auch total anders aus...
Und dann noch die "undefined subroutine". Ich weiss nicht mehr wirklich was
ich wo und wie aendern muss, um dieses Sys::Syslog unter perlthreads ans
rennen zu bekommen...


MfG/Regards, Alexander

-- 
Alexander Reelsen       http://joker.rhwd.owl.de 
"This manage is confusing." -- getopt(3)



More information about the Linux mailing list