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

[Gelöst] Druckertreiber selbst bauen mit rpmbuild schlägt fehl - Hilfe!

Hallo,

zunächst mal Sorry falls ich hier in der falschen Rubrik poste und das Ganze doch unter Installation, Update & Paketmanagement gehört hätte - in diesem Fall bitte ggf. dorthin verschieben - danke! :)

Also ich brauche für den Canon Pixma ip7250 den Druckertreiber für Leap 15.0. Leider bietet Canon nur eine Quelldatei (z. B. hier: https://www.canon.de/support/consum...aspx?type=drivers&language=&os=Linux (64-bit)), die dann mit rpmbuild weiterverarbeitet werden muss. Ich hab mich genau an die readme-Datei gehalten, trotzdem gibts kurz vor dem erfolgreichen Ende nen Fehler. Kann mir jemand sagen, was ich da besser (bzw. anders) machen muss? Hier die Konsolenausgabe:

Code:
localhost:/home/linux/Downloads/iP7200 # rpmbuild -tb cnijfilter-source-3.80-1.tar.gz --define="MODEL iP7250" --define="MODEL_NUM 406" --with build_common_package
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.R5A2WJ
+ umask 022
+ cd /usr/src/packages/BUILD
+ echo /usr/src/packages/BUILDROOT/cnijfilter-iP7250series-3.80-1.x86_64
/usr/src/packages/BUILDROOT/cnijfilter-iP7250series-3.80-1.x86_64
+ cd /usr/src/packages/BUILD
+ rm -rf cnijfilter-source-3.80-1
+ /usr/bin/tar -xof -
+ /usr/bin/gzip -dc /home/linux/Downloads/iP7200/cnijfilter-source-3.80-1.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd cnijfilter-source-3.80-1
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.0r2fGN
+ umask 022
+ cd /usr/src/packages/BUILD
+ /usr/bin/rm -rf /usr/src/packages/BUILDROOT/cnijfilter-iP7250series-3.80-1.x86_64
++ dirname /usr/src/packages/BUILDROOT/cnijfilter-iP7250series-3.80-1.x86_64
+ /usr/bin/mkdir -p /usr/src/packages/BUILDROOT
+ /usr/bin/mkdir /usr/src/packages/BUILDROOT/cnijfilter-iP7250series-3.80-1.x86_64
+ cd cnijfilter-source-3.80-1
+ pushd ppd
/usr/src/packages/BUILD/cnijfilter-source-3.80-1/ppd /usr/src/packages/BUILD/cnijfilter-source-3.80-1
+ ./autogen.sh --prefix=/usr --program-suffix=iP7250
processing .
Running aclocal  ...
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Running automake --gnu  ...
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:2: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.  For more info, see:
configure.in:2: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
configure.in:2: installing './install-sh'
configure.in:2: installing './missing'
Makefile.am: installing './COPYING' using GNU General Public License v3 file
Makefile.am:     Consider adding the COPYING file to the version control system
Makefile.am:     for your code, to avoid questions about which license your project uses
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Running autoconf ...
Running ./configure --prefix=/usr --program-suffix=iP7250 ...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
Now type `make' to compile
+ make clean
make: Nothing to be done for 'clean'.
+ make
make: *** No rule to make target 'canoniP7250.ppd', needed by 'all-am'.  Stop.
error: Bad exit status from /var/tmp/rpm-tmp.0r2fGN (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.0r2fGN (%build)
 
Leider bietet Canon nur eine Quelldatei (z. B. hier: https://www.canon.de/support/consumer_products/products/printers/inkjet/pixma_ip_series/pixma_ip7250.aspx?type=drivers&language=&os=Linux%20%2864-bit%29),

Scroll mal mit der Maus runter.....
 
OP
K

karlheinz01

Newbie
@ Sauerland: Jau, habs zwischenzeitlich mit Hilfe des Threads gefunden, der sich mit der Installation des iP7250 befasst 8O. Aber interessieren würds mich schon, warum rpmbuild so kurz vor der Ziellinie abbricht...
 

abgdf

Guru
karlheinz01 schrieb:
Aber interessieren würds mich schon, warum rpmbuild so kurz vor der Ziellinie abbricht...
Das ist nicht kurz vor der Ziellinie, das ist gleich am Anfang.
Das Makefile enthält keine Anweisungen, um das Programm überhaupt zu kompilieren.
Code:
config.status: creating Makefile
make: *** No rule to make target 'canoniP7250.ppd', needed by 'all-am'.
Stop.
Das deshalb nicht, weil configure nichts Vernünftiges dort hineinschreiben konnte.
Das wahrscheinlich deshalb nicht, weil aclocal die Datei "configure.ac" nicht finden konnte.
Code:
Running aclocal  ...
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Running automake --gnu  ...
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Schwerwiegende Fehler also.

Man sollte den Build-Prozeß erst von Hand machen und da nach Fehlern suchen. Und erst, wenn auch "make install" funktioniert, kann man daran gehen, mit rpmbuild ein rpm zu bauen.
"checkinstall" (statt "make install") kann das in vielen Fällen dann automatisch.
Aber erst, wenn auch "./configure; make; make install" funktioniert, bzw. durchlaufen würde.
 
abgdf schrieb:
Code:
Running aclocal  ...
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Running automake --gnu  ...
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Schwerwiegende Fehler also.
Das ist nur eine Warnung des neuen autoconf/automake und sollte kein Problem darstellen.

Was ich mich aber frage ist folgendes:
Code:
...
Now type `make' to compile
...
Warum hält sich @karlheinz01 nicht daran?

Update:
Automake 1.14 will drop support for the long-deprecated 'configure.in'
name for the Autoconf input file. You are advised to start using the
recommended name 'configure.ac' instead, ASAP.


@abgdf könnte doch Recht haben
 

abgdf

Guru
Gräfin Klara schrieb:
Code:
...
Now type `make' to compile
...
Warum hält sich @karlheinz01 nicht daran?
Ich schätze, das macht rpmbuild automatisch, ein paar Zeilen später wird ja offenbar erst "make clean" und dann "make" ausgeführt.

Bei aclocal bin ich allerdings etwas unsicher, ich weiß nicht genau, was dieser Befehl überhaupt macht. Aber irgendeinen Grund muß es ja geben, daß im Makefile nichts, bzw. nicht genug ankommt.

Letztlich hat der OP ja offenbar das rpm runtergeladen, ist also nicht mehr ganz so wichtig, daß man den tar-Ball kompiliert bekommt.
 
OP
K

karlheinz01

Newbie
abgdf schrieb:
Ich schätze, das macht rpmbuild automatisch, ein paar Zeilen später wird ja offenbar erst "make clean" und dann "make" ausgeführt.


Letztlich hat der OP ja offenbar das rpm runtergeladen, ist also nicht mehr ganz so wichtig, daß man den tar-Ball kompiliert bekommt.

Genau, bis zur letzten Zeile mit dem "bad exit status" läuft alles automatisch.

Ich gehe jetzt davon aus dass das von Canon erstellte Script fehlerhaft (bzw. unvollständig) ist; mit dem fertigen rpm gehts jedenfalls, und daher markiere ich diesen Thread mal als "gelöst".
 
Oben