• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Brother-Skript => scantofile

Nach dieser Anleitung habe ich versucht meinen MFC-8440 zu einer funktionierenden OCR-Maschine a la archivista hinzubekommen.
Leider bin ich schon in den ersten Schritten steckengeblieben, obwohl ich ein sehr interessantes HowTo gefunden hatte, dass eigentlich der eierlegenden Wollmilchsau sehr nahe gekommen wäre.
http://www.dennis-dominguez.de/ojo/MFC-7840W/

Einige Pakete unter SUSE hießen etwas anders
bspw.
mime-construct heisst perl-mime-construct
libtiff-tools heissen tiff-utils

Das Configurationsskript gibt nur leider die folgende Fehlermeldung aus:

Code:
/usr/local/bin> ./ConfigSKey
Can't locate ConfigSKey/Messages.pm in @INC (@INC contains: /usr/lib/perl5/5.10.0/i586-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl/5.10.0/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl .) at ./ConfigSKey line 41.
BEGIN failed--compilation aborted at ./ConfigSKey line 41.

in Zeile 41 steht nun:
Code:
use ConfigSKey::Messages;

Ich vermute es liegt daran, dass das Perl-Verzeichnis bei SuSE in
/usr/lib/perl5
liegt und nicht wie bei debian/Ubuntu, auf denen das Skript basiert unter
/usr/share/perl5

der betreffende Absatz des Howtos wäre
Der letzte Eintrag ist notwendig, weil meine Wireless-Karte unter "eth1" angesprochen wird.

ConfigSKey wird in ein Verzeichnis im Pfad kopiert, also z.B. nach /usr/local/bin/. Es muss als ausführbare Datei gekennzeichnet sein. Falls nicht, Zugriffsrechte entsprechend setzen: sudo chmod 755 /usr/local/bin/ConfigSKey

Zusätzlich muss ConfigSKey::Messages für Perl auffindbar sein. Hierzu das Verzeichnis /usr/share/perl5/ConfigSKey anlegen und die Datei Messages.pm reinkopieren (als root).
Ich habe die besagte Messages.pm aber in beide Verzeichnisse gelegt, und in beiden Fällen die gleiche Fehlermeldung bekommen.
Vielen Dank im Voraus!
VGe

Euer Hans Meier
 
freundlicher Weise hat sich der Entwickler des tollen Skripts meines
Problemes angenommen.

Ein möglicher Workaround:

ConfigSKey ändern, vor use-Block einfügen:

BEGIN {
push(@INC, '/usr/share/perl5');
};

/usr/share/perl5 wird wohl angelegt, wenn perl-Config-IniFiles
installiert wird.

und ersetzt: "use ConfigSKey::Messages;" durch "use Messages;"

Ich gebe das ungeprüft weiter, da ich keine Suse zum Testen habe

Leider erhalte ich nun nach der Einarbeitung der Änderungen eine weitere Fehlermeldung:

Code:
USER@pc:/usr/local/bin> ConfigSKey
LoadCfg: Could not open email body /home/USER/.brscan/brscantoemail.body.
Datei oder Verzeichnis nicht gefunden! at /usr/local/bin/ConfigSKey line 1186.
 
Ohne das Script zu kennen, schaut mir das USER so aus, als sollte das die Umgebungsvariable $USER sein. Setze dochmal in der Zeile ein '$' davor.
 
USER soll in diesem Fall nur meinen Benutzernamen schützen.
Ich habe das Skript inzwischen übrigens zum Laufen bekommen.
Fehlerhaft in Bezug auf meinen MFC 8440 war lediglich das Skript ConfigSKey. Da mein MFC etwas älter zu sein scheint, als der des Entwicklers musste ich das Automatic Document Feeder (left alligned) und (centrally alligned) entfernen.
Dann klappte es zunächst und ich war schon ganz happy

Bis zum nächsten zypper up /dup.
Danach funktionierte der workaround mit use Messages; nicht mehr.
Eine Idee, was ich da unter suse einstellen muss?

Hier die Fehlermeldung:
Code:
/usr/local/bin/ConfigSKey
Can't locate Messages.pm in @INC (@INC contains: /usr/lib/perl5/5.10.0/i586-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl/5.10.0/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl . /usr/share/perl5) at /usr/local/bin/ConfigSKey line 75.
BEGIN failed--compilation aborted at /usr/local/bin/ConfigSKey line 75.

Zeile 75 von ConfigSKey ist:
Code:
use Messages;

Messages wird hier überall erwähnt
Code:
less /usr/local/bin/ConfigSKey |grep Messages
# und ersetzt: "use ConfigSKey::Messages;" durch "use Messages;"
# use ConfigSKey::Messages;
use Messages;
my $lh = ConfigSKey::Messages->get_handle() || die "What Language?";
 
Oben