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

Gscan2pdf - Problem mit Perl

Buzze

Newbie
Hallo,

erstmal ein frohes neues Jahr an alle.

Ich versuche die neueste Version von gscan2pdf (0.9.27) unter Suse 11.1 zu installieren. Das Programm benötigt einige Perl-Module. Mit einem davon habe ich leider ein grösseres Problem.
Ich kann das Modul (perl)Sane (Graphics::Sane) nicht kompilieren und installieren.
Hier mal die Ausgabe auf der Konsole beim Versuch das Modul zu kompilieren:


NC8000:/usr/src/packages/SOURCES/Graphics-SANE-0.03 # perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Graphics::SANE
NC8000:/usr/src/packages/SOURCES/Graphics-SANE-0.03 #


So weit so gut, dann wird make aufgerufen:


NC8000:/usr/src/packages/SOURCES/Graphics-SANE-0.03 # make
cp lib/Graphics/SANE.pm blib/lib/Graphics/SANE.pm
AutoSplitting blib/lib/Graphics/SANE.pm (blib/lib/auto/Graphics/SANE)
/usr/bin/perl /usr/lib/perl5/5.10.0/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.10.0/ExtUtils/typemap -typemap typemap -typemap typemap SANE.xs > SANE.xsc && mv SANE.xsc SANE.c
Please specify prototyping behavior for SANE.xs (see perlxs manual)
cc -c -I. -D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV -DDEBUGGING -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=i586 -mtune=i686 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -pipe -DVERSION=\"0.03\" -DXS_VERSION=\"0.03\" -fPIC "-I/usr/lib/perl5/5.10.0/i586-linux-thread-multi/CORE" SANE.c
SANE.c: In function ‘XS_Graphics__SANE_init’:
SANE.xs:55: warning: unused variable ‘build’
SANE.xs:55: warning: unused variable ‘minor’
SANE.xs:55: warning: unused variable ‘major’
SANE.xs: In function ‘XS_Graphics__SANE_get_devices’:
SANE.xs:87: warning: suggest parentheses around assignment used as truth value
SANE.c: In function ‘XS_Graphics__SANE__Handle_get_option_descriptor’:
SANE.xs:138: warning: unused variable ‘i’
SANE.xs: In function ‘XS_Graphics__SANE__Handle_read’:
SANE.xs:440: warning: implicit declaration of function ‘SET_ERROR’
SANE.xs:443: warning: pointer targets in passing argument 2 of ‘sane_read’ differ in signedness
SANE.c: In function ‘XS_Graphics__SANE__Handle_get_option_descriptor’:
SANE.xs:141: warning: ‘s’ may be used uninitialized in this function
SANE.xs:141: note: ‘s’ was declared here
Running Mkbootstrap for Graphics::SANE ()
chmod 644 SANE.bs
rm -f blib/arch/auto/Graphics/SANE/SANE.so
LD_RUN_PATH="/usr/lib" cc -shared -march=i586 -mtune=i686 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -pipe SANE.o -o blib/arch/auto/Graphics/SANE/SANE.so \
-lsane \

chmod 755 blib/arch/auto/Graphics/SANE/SANE.so
cp SANE.bs blib/arch/auto/Graphics/SANE/SANE.bs
chmod 644 blib/arch/auto/Graphics/SANE/SANE.bs
Manifying blib/man3/Graphics::SANE.3pm
NC8000:/usr/src/packages/SOURCES/Graphics-SANE-0.03 #



...ein paar Warnungen aber keine Fehler. Wenn ich dann make test laufen lasse bekomme ich den folgenden Fehler:


NC8000:/usr/src/packages/SOURCES/Graphics-SANE-0.03 # make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/Sane....NOK 1/2
# Failed test 'use Graphics::SANE;'
# at t/Sane.t line 9.
# Tried to use 'Graphics::SANE'.
# Error: Can't load '/usr/src/packages/SOURCES/Graphics-SANE-0.03/blib/arch/auto/Graphics/SANE/SANE.so' for module Graphics::SANE: /usr/src/packages/SOURCES/Graphics-SANE-0.03/blib/arch/auto/Graphics/SANE/SANE.so: undefined symbol: SET_ERROR at /usr/lib/perl5/5.10.0/i586-linux-thread-multi/DynaLoader.pm line 203.
# at (eval 3) line 2
# Compilation failed in require at (eval 3) line 2.
# BEGIN failed--compilation aborted at t/Sane.t line 9.
t/Sane....ok 2/2# Looks like you failed 1 test of 2.
t/Sane....dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 1
Failed 1/2 tests, 50.00% okay
Failed Test Stat Wstat Total Fail List of Failed
-------------------------------------------------------------------------------
t/Sane.t 1 256 2 1 1
Failed 1/1 test scripts. 1/2 subtests failed.
Files=1, Tests=2, 0 wallclock secs ( 0.04 cusr + 0.00 csys = 0.04 CPU)
Failed 1/1 test programs. 1/2 subtests failed.
make: *** [test_dynamic] Fehler 1
NC8000:/usr/src/packages/SOURCES/Graphics-SANE-0.03 #


Leider sagt mir das überhaupt nichs :???: . Hat irgendjemand einen Tip für mich was das Problem ist?
Es betrifft auch nur dieses eine Modul, alle anderen konnte ich problemlos kompilieren und installieren.

Ich bin für jede Hilfe dankbar.

Schöne Grüße,
Christian
 
A

Anonymous

Gast
Das willst du dir wirklich antun ?
Schau mal hier was dich da noch alles erwartet selbst nachdem gscan2pdf längst fertig zu sein scheint. http://www.linux-club.de/viewtopic.php?f=60&t=99580

Nimm soviele Pakete wie du bekommen kannst fertig, sonst wird das nie was.
http://packages.opensuse-community.org/index.jsp?searchTerm=sane&distro=openSUSE_111

robi
 
OP
B

Buzze

Newbie
Hallo robi,

das Problem ist nur dieses eine Perl-Modul. Die anderen benötigten Module laufen. Das funktioniert ganz gut, wenn man die Perl-Module und gscan2pdf aus dem Quelltext kompiliert.
Version 0.9.26 läuft auch mit allen benötigten Perl-Modulen einwandfrei. Diese Version funktioniert aber nicht sauber mit einem Netzwerkscanner.
In der 0.9.27 wird dann Graphics::Sane aus Perl verwendet. Das soll dann lt. Jeffrey Rathcliffe (Autor von gscan2pdf) auch mit dem Netzwerkscanner gehen.
Aber eben dieses eine Perl-Modul macht ja den Ärger beim Kompilieren.
Das Problem das garakde hatte, hätte sich vermeiden lassen, wenn er sich die Perl-Module selber kompiliert hätte.

Christian
 
A

Anonymous

Gast
Buzze schrieb:
Das funktioniert ganz gut, wenn man die Perl-Module und gscan2pdf aus dem Quelltext kompiliert.

Mag vielleicht stimmen, nur wenn du dir alles aus dem Quellcode selbst kompilierest, dann haben die anderen kaum eine Chance dir bei solchen Problemen helfen zu können, da ihre fertigen Pakete dann andere Abhängigkeiten und zT auch andere Eigenschaften haben.

Ich persönlich würde bei der Fehlersuche mal mit der Warung
Code:
SANE.xs:440: warning: implicit declaration of function ‘SET_ERROR’
beginnen, diese Warung schlägt beim Test zum Error auf.
Code:
/usr/src/packages/SOURCES/Graphics-SANE-0.03/blib/arch/auto/Graphics/SANE/SANE.so: undefined symbol: SET_ERROR at /usr/lib/perl5/5.10.0/i586-linux-thread-multi/DynaLoader.pm line 203.

Eventuell fehlt hier ein Modul oder ein Header oder beides, oder es ist bei dir wo anderes definiert, als in den Abhänigkeiten vorgesehen.

robi
 

ernst

Newbie
Hallo,
ich habe mich jetzt angemeldet um zu antworten, falls das Problem noch besteht.
Gestern habe ich gscan 0.9.27 zum Laufen gebracht.
Für sane perl habe ich nach libsane gesucht und das gefunden: libsane-perl_0.02.orig.tar.gz
Nach Installation konnte ich mit kpackage 0.9.27 installieren und alles geht problemlos.

Diese Dateien/Programme hatte ich schon installiert.
Config-General-2.40
Gtk2-ImageView-0.04
gtkimageview-1.6.1

Ich hoffe das es dir weiterhilft.
Ernst-Walter
 
Oben