[gnucash-de] Suse 9.0 / RpmInstallieren / autoconf-Problem

Christian Stimming stimming at tuhh.de
Son Feb 6 09:23:53 EST 2005


Hallo Markus,

Am Sonntag, 6. Februar 2005 12:05 schrieb Markus Schauler:
> auf meinem Suse 9.0-(i386)-Sytem läuft das von SuSE mitgelieferte GnuCash
> 1.8.7
>
> Ob der neuen Features wollte ich jenes durch die Version 1.8.10
> nach der im Wiki beschriebenen Methode ersetzen. Das klappt aber
> bei mir nicht. Bei mir geht nämlich schon der vorgeschlagene Neubau
> des Binary-RPM aus dem originalen Source-RPM (hier:
> gnucash-1.8.7-4.src.rpm) schief.

Oh, das ist sehr ärgerlich. Verstehe ich das richtig: Du probierst hier das 
"völlig originale" gnucash.src.rpm, noch ohne den neuen tarball dazukopiert 
zu haben? Dann ist das wirklich komisch.

> Nach der Installation des Source-RPM und rpmbuild -ba
> sehe ich zuerst nur die ganz normalen bzip2/tar Aufrufe
> (fehlerlos), interessant wird es ab "libtoolize":
>
> --------------------------------
> + libtoolize --copy --force
> You should update your `aclocal.m4' by running aclocal.
> + xml-i18n-toolize --copy --force
> You should update your `aclocal.m4' by running aclocal.
> no need for patching file `Makefile.in.in'
> + aclocal -I macros
> /usr/share/aclocal/xml-i18n-tools.m4:24: warning: underquoted definition of
> XML_I18N_TOOLS_NEWER_THAN_0_9
> (...)

Denn in einem tarball sollten eigentlich weder libtoolize noch aclocal noch 
automake überhaupt noch aufgerufen werden. Der ganze Sinn von tarballs ist, 
daß dort nur noch das mitgelieferte ./configure-Script ausgeführt wird und 
daß ansonsten keinerlei aclocal/autoconf/automake-Programme des vorliegenden 
Systems in irgendeiner Form benutzt werden. 

Da müsste man eher versuchen zu erzwingen, daß diese gar nicht erst aufgerufen 
werden. Z.B. könnte man manuell das Makefile vom gnucash-Tarball (war das der 
gnucash-Tarball oder Guppi oder g-wrap?) editieren und alle 
Erstellungsregeln, die sich auf "Makefile.in" und ähnliches beziehen mittels 
eines vorangestellten # auskommentieren. Solange du dir den originalen 
tarball irgendwo separat aufhebst, kannst du die Änderungen ja auch alle 
wieder verwerfen. Das wären z.B. folgende Zeilen im top-level Makefile von 
gnucash:

$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
	cd $(top_srcdir) && \
	  $(AUTOMAKE) --gnu  Makefile
Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)

$(top_builddir)/config.status: $(srcdir)/configure 
$(CONFIG_STATUS_DEPENDENCIES)
	$(SHELL) ./config.status --recheck
$(srcdir)/configure:  $(srcdir)/configure.in $(ACLOCAL_M4) 
$(CONFIGURE_DEPENDENCIES)
	cd $(srcdir) && $(AUTOCONF)

> Für mich sieht das nach einem autoconf/automake-Problem aus, aber mit
> meinen bescheidenen m4-Kenntnissen komme ich nicht dahinter. Der Hinweis,
> in  der automake-Doku nach "extending aclocal" zu suchen, bringt mich auch
> nicht weiter.

Ja, das ist völlig richtig (mich würde dieser Hinweis auch nicht 
weiterbringen). Ehrlich gesagt ist das automake-Paket auch ein bißchen sehr 
pingelig und motzt ziemlich rum. Diese Fehlermeldungen/Hinweise vom automake 
sind des öfteren auch relativ fehlleitend. Im gnucash-Paket haben wir da 
schon öfter unnötigen Ärger mit gehabt. Sorry.

Gruß

Christian