Re: Perl: DBD-SQLite installieren

David Haller <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hallo,

Am Mon, 30 Jan 2006, Ralph MÃŒller schrieb:
>Ich glaube wir haben das RÀtsel zum größten Teil lösen können.
>Nach einem allerersten Test mit connect und disconnect scheint
>es jetzt zu funktionieren.
>
>Am Montag, den 30.01.2006, 02:01 +0100 schrieb David Haller:
>> Mach also bitte auch mal:
>> perl Makefile.PL PREFIX=/tmp/dbitest LIB=/tmp/dbitest/lib verbose
>
>Als ich Deinen Tip mit dem "verbose" an den Befehlsaufruf
>hintendrangehÀngt habe ergab das Ergebnis nur ein zusÀtzliches
>"Can't open verbose: No such file or directory at Makefile.PL line 24."
>
>Daraufhin habe ich diese ominöse Zeile 24 von Makefile.PL des
>DBI-Moduls gesucht. Der Anfang dieser Datei sieht so aus:
>    # -*- perl -*-
>    #
>    # $Id: Makefile.PL,v 11.20 2004/01/08 14:03:46 timbo Exp $
>    #
>    #  Copyright (c) 1994-2002  Tim Bunce  England
>    #
>    # See COPYRIGHT section in DBI.pm for usage and distribution rights.
>
>    BEGIN {
>        require 5.006_00;
>        unshift @INC, "lib";
>    }
>
>    if ($] < 5.008000) {
>	warn qq{\a\a\a
>    **********************************************************
>      Perl versions below 5.6.1 are no longer supported by the DBI.
>      Perl versions 5.6.x may fail during installation with a complaint
>      about the use of =head3 in the pod documentation.
>      Press return to continue...
>    **********************************************************
>    };
>        sleep 3;
>        my $pause = <>;
>    }
>
>
>Und aaaarghhhh!, die Zeile "my $pause = <>" ist das Fatale. Sie frißt
>nÀmlich meine schönen PREFIX und LIB - Parameter einfach weg! Kein
>Wunder, daß ich davon im erzeugten Makefile nichts mehr gesehen habe.

*ARGS* Kein Wunder, dass es bei mir funktioniert, denn ich habe
perl-5.8.6, also '($] < 5.008000)' ist bei mir unwahr, deswegen
wird bei mir das 'my $pause = <>;' nicht ausgefuehrt -- und somit
werden auch keine Parameter gefressen bzw. als Argumente fuer '<>'
angesehen (siehe perldoc weissnichmehr, wo <> eben beschrieben wird,
das nimmt ja Argumente als zu lesende Dateien oder, sofern keine
vorhanden, eben STDIN). Ergo ist das einen Bugreport wert, denn
Makefile.PL sollte in dieser Situation _explizit_ von STDIN lesen.

Machst du den Bugreport?

>Also diese Zeile gelöscht und anschließend ging DBI als auch DBD::SQLite
>wunderbar (in priv.Verzeichnis) zu installieren.

s.o. Als "workaround" bei dir ist's ok.

>Als letztes ungelöstes Geheimnis verbleibt fÌr mich die Frage, was
>sich der Autor/Maintainer der Datei Makefile.PL dabei wohl gedacht hat?
>Auf den ersten Blick siehts fÃŒr mich so aus als daß er vom Benutzer
>einen Tastendruck abwarten wollte, aber irgendwie funktioniert das
>offenbar ja nicht wenn noch etwas wie PREFIX o.À. hintendranhÀngt.

Jep. s.o.

>> Mach das. Und zeig auch mal auf die Ausgabe von
>>     getent passwd `id -u` | cut -d: -f6
>
>ergibt "/kunden/homepages/37/d19249310/htdocs"

*MIST*

Das heisst, dein ~ ist unter htdocs... Dann musst du zwanglaeufig auch
unterhalb davon installieren. Ich wuerde dennoch ~/lib/perl5
vorschlagen, also

perl Makefile.PL PREFIX=/kunden/homepages/37/d19249310/htdocs

LIB kannst du in dem Fall dann weglassen. Das ist in deiner Situation
wohl noch am saubersten. Aber trete mal dem Hoster auf die Fuesse,
dass sowas eigentlich ein Unding ist. Wer ist dein Hoster?

>> Denn wie gesagt: unterhalb von htdocs gehoert sowas nicht hin.
>
>Werde ich versuchen anzupassen.

s.o.

>PS: Ohne Dich David hÀtte ich vorher aufgegeben.

*g*

Unter Linux lohnt sich's nicht aufzugeben!

-dnh

-- 
GETOPT(3)
BUGS
       This manpage is confusing.

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfÃŒgbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.