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

Beagle rpm herstellen

Status
Für weitere Antworten geschlossen.

lariamat

Member
Hallo
ich hab versucht mal ein rpm für beagle 0.2.4 zu bauen. (mit rpmbuild -tb beagle-0.2.4.tar.gz)
Gab aber leider Probleme. Nach längeren Kompilerausgaben erschienen als letzte Zeilen:
Code:
....
Making install in bludgeon
make[1]: Entering directory `/home/qnull/rpm/BUILD/beagle-0.2.4/bludgeon'
make[2]: Entering directory `/home/qnull/rpm/BUILD/beagle-0.2.4/bludgeon'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/qnull/rpm/BUILD/beagle-0.2.4/bludgeon'
make[1]: Leaving directory `/home/qnull/rpm/BUILD/beagle-0.2.4/bludgeon'
make[1]: Entering directory `/home/qnull/rpm/BUILD/beagle-0.2.4'
make[2]: Entering directory `/home/qnull/rpm/BUILD/beagle-0.2.4'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/lib/pkgconfig" || mkdir -p -- "/var/tmp/beagle-0.2.4-root/usr/lib/pkgconfig"
 /usr/bin/install -c -m 644 'beagle-0.0.pc' '/var/tmp/beagle-0.2.4-root/usr/lib/pkgconfig/beagle-0.0.pc'
 /usr/bin/install -c -m 644 'beagle-daemon.pc' '/var/tmp/beagle-0.2.4-root/usr/lib/pkgconfig/beagle-daemon.pc'
make[2]: Leaving directory `/home/qnull/rpm/BUILD/beagle-0.2.4'
make[1]: Leaving directory `/home/qnull/rpm/BUILD/beagle-0.2.4'
+ /usr/lib/rpm/find-debuginfo.sh /home/qnull/rpm/BUILD/beagle-0.2.4
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/libbeagle.so.0.0.0
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/beagle/libbeagleglue.so.0.0.0
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/beagle/libbeagleuiglue.so.0.0.0
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/python2.4/site-packages/beagle.so
1001 blocks
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
Verarbeite Paket: beagle-0.2.4-1
Fehler: Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/best
Fehler: Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/searchomatic
Fehler: Datei von "glob" nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/lib/epiphany/extensions/*beagle*
Ausführung(%doc): /bin/sh -e /var/tmp/rpm-tmp.79839
+ umask 022
+ cd /home/qnull/rpm/BUILD
+ cd beagle-0.2.4
+ DOCDIR=/var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ export DOCDIR
+ rm -rf /var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ /bin/mkdir -p /var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ cp -pr COPYING README /var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ exit 0
Verarbeite Paket: beagle-debuginfo-0.2.4-1
Provides: beagle.so.debug libbeagle.so.0.0.0.debug libbeagleglue.so.0.0.0.debug libbeagleuiglue.so.0.0.0.debug
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1


Fehler beim Bauen des RPMS:
    Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/best
    Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/searchomatic
    Datei von "glob" nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/lib/epiphany/extensions/*beagle*

Bauen sollte rpmbuild das Binärpaket relativ zu ~/rpm
Code:
mkdir $HOME/rpm $HOME/rpm/SOURCES $HOME/rpm/SPECS $HOME/rpm/BUILD $HOME/rpm/SRPMS $HOME/rpm/RPMS $HOME/rpm/RPMS/i386
Ich habe eine Datei mit
Code:
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
angelegt

mono-devel ist installiert.

Habe leider Schwierigkeiten die Ausgabe von rpmbuild richtig zu interpretieren. Kann mir jemand weiterhelfen?
Wär super!
Grüße


Fedora core 5
Gnome 2.14
mono 1.1.13.4
 

oc2pus

Ultimate Guru
mach es mal anders:
das tar.gz nach SOURCES kopieren, das SPEC aus dem tar.gz nach SPECS kopieren und dann rpmbuild -bb SPECS/beagle.spec ausführen.

evtl musst du im SPEC-file noch was anpassen (schau dir den configure Aufruf an)

ansonsten kontrolliere die files-Sektion des spec-files und vergleiche diese Dateien mit denen die in der BUILDROOT abgelegt werden.

meist sind die spec-files in einem tar.gz "veraltet" und passen nicht zur aktuellen Version ==> Anpassungen im spec-File sind erforderlich.
 
Das mit der fehlenden Evolution-Erweiterung dürfte zum Beispiel schon mal daran liegen, dass Du nicht alle GNOME-Entwicklerpakete installiert hast. Wenn evolution-devel nicht installiert ist, läuft ./configure, make usw. zwar weiter, die Evolution-Erweiterung wird aber einfach nicht gebaut.

Die anderen fehlenden Dateien sind wahrscheinlich auf dasselbe Problem zurückzuführen. Beagle hat sehr viele optionale Abhängigkeiten.
 
OP
L

lariamat

Member
Vielen Dank für den Tip! Hat leider trotzdem nicht geklappt. :cry: Hier nochmal die letzten Ausgabezeilen dieses Versuches(rpmbuild -bb ~/rpm/SPECS/beagle.spec):
Code:
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/beagle/libbeagleuiglue.so.0.0.0
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/python2.4/site-packages/beagle.so
1026 blocks
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
Verarbeite Paket: beagle-0.2.4-1
Fehler: Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/best
Fehler: Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/searchomatic
Fehler: Datei von "glob" nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/lib/epiphany/extensions/*beagle*
Ausführung(%doc): /bin/sh -e /var/tmp/rpm-tmp.1249
+ umask 022
+ cd /home/qnull/rpm/BUILD
+ cd beagle-0.2.4
+ DOCDIR=/var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ export DOCDIR
+ rm -rf /var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ /bin/mkdir -p /var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ cp -pr COPYING README /var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ exit 0
Verarbeite Paket: beagle-debuginfo-0.2.4-1
Provides: beagle.so.debug libbeagle.so.0.0.0.debug libbeagleglue.so.0.0.0.debug libbeagleuiglue.so.0.0.0.debug
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1


Fehler beim Bauen des RPMS:
    Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/best
    Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/searchomatic
    Datei von "glob" nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/lib/epiphany/extensions/*beagle*
[qnull@noname beagle-0.2.4]$
Habe auch mal zu Fuß kompiliert ohne zu installieren. Also nur ./configure und make. Das hat geklappt! Will aber trotzdem unbedingt ein rpm bauen!

Die Abhängigkeiten, die auf der Beagle-Internetseite stehen, habe ich außer alle installiert (über pirut aus dem fedora repository).

Hier ist die spec-Datei. Vielleicht hilft die dabei dem Problem auf die Spur zu kommen.
Code:
Summary:     The Beagle Search Infrastructure
Name:        beagle
Version:     0.2.4
Release:     1
License:     LGPL
Group:       Applications/Development
Source:      %{name}-%{version}.tar.gz
BuildRoot:   /var/tmp/%{name}-%{version}-root
BuildPrereq: evolution-sharp, mono-core
Requires:    evolution-sharp >= 0.4, mono-core
Prefix:	     /opt/gnome

%description
A general infrastructure for making your data easy to find. 

%prep
%setup -q

%build
./configure --prefix=%{_prefix} \
	--localstatedir=/var/lib \
	--datadir=%{_prefix}/share \
	--sysconfdir=%{_sysconfdir}
make

%install
rm -rf $RPM_BUILD_ROOT
MAKE=${MAKE:-make}
DESTDIR=${DESTDIR:-"$RPM_BUILD_ROOT"}
case "${RPM_COMMAND:-all}" in
install|all)
        make install DESTDIR=${DESTDIR}
        ;;
esac

%clean
rm -rf $RPM_BUILD_ROOT

%post

%files
%defattr(-,root,root)
%doc COPYING README
%{_prefix}/lib/beagle/*
%{_prefix}/bin/beagle*
%{_prefix}/bin/best
%{_prefix}/bin/searchomatic
%{_prefix}/lib/epiphany/extensions/*beagle*
%{_prefix}/lib/*beagle*
%{_prefix}/lib/pkgconfig/beagle*
%{_prefix}/man/man1/beagle*
%{_sysconfdir}/cron.daily/beagle-*
%{_sysconfdir}/beagle/*

%changelog
* Thu Aug 27 2004 Nat Friedman <nat@novell.com>
- initial packaging of 0.0.3

Vielen Dank jedenfalls schonmal für die Hilfe! Ich hoffe es hat jemand noch ne idee.
Grüße
 

}-Tux-{

Hacker
kommentiere diese Zeilen am aus:

vorher:
Code:
...
%{_prefix}/bin/best
%{_prefix}/bin/searchomatic
%{_prefix}/lib/epiphany/extensions/*beagle*
...

nachher:
Code:
...
#%{_prefix}/bin/best
#%{_prefix}/bin/searchomatic
#%{_prefix}/lib/epiphany/extensions/*beagle*
...
 

oc2pus

Ultimate Guru
prüfe mal mit ./configure --help ob man die GUI extra aktivieren muss
z.Bsp: --enable-gui oder so als Option vom configure.

und prüfe mal das config.log, vielleicht fehlt eine Bibliothek und die GUI wird erst gar nicht erstellt.
 
OP
L

lariamat

Member
Das Gnome-terminal sagt:
Code:
./configure --help|grep gui
  --disable-gui           Disable beagle-search
d.h. GUI müsste man extra deaktivieren. Ist also OK so, denke ich.
Das compilieren ohne rpm-bau hat ja auch, wie oben gesagt, funktioniert.


@oc2pus: Wonach muss ich in der config.log suchen??

Die Datei ist ziemlich lang (ca. 1700 Zeilen).

Grüße
 

}-Tux-{

Hacker
lariamat schrieb:
Das Gnome-terminal sagt:
Code:
./configure --help|grep gui
  --disable-gui           Disable beagle-search
d.h. GUI müsste man extra deaktivieren. Ist also OK so, denke ich.
Das compilieren ohne rpm-bau hat ja auch, wie oben gesagt, funktioniert.
jein - wenn er irgendwelche libraries oder header nicht findet deaktiviert er die gui wahrscheinlich von selbst


lariamat schrieb:
@oc2pus: Wonach muss ich in der config.log suchen??

Die Datei ist ziemlich lang (ca. 1700 Zeilen).

Grüße
evlt kannst du die config.log hier hin posten: http://phpfi.com/
Ich weiß aber nicht ob es da evtl eine Zeilenbeschränkung gibt oder so. Ansonsten evtl nach "gui" oder "not found" suchen...
 

oc2pus

Ultimate Guru
./configure --help|grep gui
das mit dem grep ist evtl eine schlechte Idee ...

vielleicht heisst die Option anders :)

und im config.log schaust du nach Fehlern (error, failed, not found, deactivated, ...)
manchmal steht dort auch das eine Version einer Lib nich passt (zu neu, zu alt, bestimmte features fehlen in der lib)
 

oc2pus

Ultimate Guru
Package sqlite was not found in the pkg-config search path.
...
Package galago-sharp was not found in the pkg-config search path.
...
checking for kde-config
configure:25699: result: no

==> KDE_CONFIG='no'

also erst mal die erforderlichen devel-Pakete nachinstallieren :mrgreen:
 
OP
L

lariamat

Member
ups. sqlite ist zwar installiert (incl. devel-paket), aber beagle braucht die 2er version. bei mir gabs die 3er.
OK. nächster Versuch...
 
OP
L

lariamat

Member
Ich werd wahnsinnig...
Code:
`/home/qnull/rpm/BUILD/beagle-0.2.4/bludgeon'
make[1]: Leaving directory `/home/qnull/rpm/BUILD/beagle-0.2.4/bludgeon'
make[1]: Entering directory `/home/qnull/rpm/BUILD/beagle-0.2.4'
make[2]: Entering directory `/home/qnull/rpm/BUILD/beagle-0.2.4'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/lib/pkgconfig" || mkdir -p -- "/var/tmp/beagle-0.2.4-root/usr/lib/pkgconfig"
 /usr/bin/install -c -m 644 'beagle-0.0.pc' '/var/tmp/beagle-0.2.4-root/usr/lib/pkgconfig/beagle-0.0.pc'
 /usr/bin/install -c -m 644 'beagle-daemon.pc' '/var/tmp/beagle-0.2.4-root/usr/lib/pkgconfig/beagle-daemon.pc'
make[2]: Leaving directory `/home/qnull/rpm/BUILD/beagle-0.2.4'
make[1]: Leaving directory `/home/qnull/rpm/BUILD/beagle-0.2.4'
+ /usr/lib/rpm/find-debuginfo.sh /home/qnull/rpm/BUILD/beagle-0.2.4
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/libbeagle.so.0.0.0
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/beagle/libbeagleglue.so.0.0.0
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/beagle/libbeagleuiglue.so.0.0.0
extracting debug info from /var/tmp/beagle-0.2.4-root/usr/lib/python2.4/site-packages/beagle.so
1026 blocks
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
Verarbeite Paket: beagle-0.2.4-1
Fehler: Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/best
Fehler: Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/searchomatic
Fehler: Datei von "glob" nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/lib/epiphany/extensions/*beagle*
Ausführung(%doc): /bin/sh -e /var/tmp/rpm-tmp.14846
+ umask 022
+ cd /home/qnull/rpm/BUILD
+ cd beagle-0.2.4
+ DOCDIR=/var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ export DOCDIR
+ rm -rf /var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ /bin/mkdir -p /var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ cp -pr COPYING README /var/tmp/beagle-0.2.4-root/usr/share/doc/beagle-0.2.4
+ exit 0
Verarbeite Paket: beagle-debuginfo-0.2.4-1
Provides: beagle.so.debug libbeagle.so.0.0.0.debug libbeagleglue.so.0.0.0.debug libbeagleuiglue.so.0.0.0.debug
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1


Fehler beim Bauen des RPMS:
    Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/best
    Datei nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/bin/searchomatic
    Datei von "glob" nicht gefunden: /var/tmp/beagle-0.2.4-root/usr/lib/epiphany/extensions/*beagle*
sqlite 2erVersion ist installiert galago-sharp ist auch installiert :cry:
 

oc2pus

Ultimate Guru
Code:
configure:25668: checking for kde-config
configure:25699: result: no

:mrgreen:

wie lange wollen wir das noch spielen ?
 
OP
L

lariamat

Member
was heißt hier wie lange wollen wir das noch spielen???

KDE is ja wohl keine beagle Vorraussetzung, oder?
 
lariamat schrieb:
was heißt hier wie lange wollen wir das noch spielen???
Es geht darum, dass die nötigen Infos alle in der config.log stehen.
lariamat schrieb:
KDE is ja wohl keine beagle Vorraussetzung, oder?
Doch, ist es. Es ist keine harte Voraussetzung, dafür aber eine weiche. Soll heißen, wenn KDE nicht installiert ist, werden die optionalen und von KDE abhängigen Teile einfach nicht gebaut.

Die .spec-Datei ist aber darauf ausgelegt, dass diese Teile sehr wohl gebaut werden, genau deshalb bekommst Du immer wieder diesen Fehler. Wahrscheinlich liegt es nicht nur an KDE, sondern an anderen fehlenden Dingen, die alle in der config.log nachzulesen sind.

Probier mal folgendes, um die Sache zu beschleunigen: Such in der config.log mit grep oder einem Editor nach Mustern wie "not found", "no such file", "result: no" etc.
 
OP
L

lariamat

Member
Code:
configure:5621: checking for g77
configure:5650: result: no
configure:5621: checking for f77
configure:5650: result: no
configure:5621: checking for xlf
configure:5650: result: no
configure:5621: checking for frt
configure:5650: result: no
configure:5621: checking for pgf77
configure:5650: result: no
configure:5621: checking for fort77
configure:5650: result: no
configure:5621: checking for fl32
configure:5650: result: no
configure:5621: checking for af77
configure:5650: result: no
configure:5621: checking for f90
configure:5650: result: no
configure:5621: checking for xlf90
configure:5650: result: no
configure:5621: checking for pgf90
configure:5650: result: no
configure:5621: checking for epcf90
configure:5650: result: no

Code:
configure:6729: $? = 0
configure:6742: result: no

Code:
configure:19870: checking for desktop-launch
configure:19901: result: no

Code:
configure:25668: checking for kde-config
configure:25699: result: no

Code:
configure:2287: checking whether to enable maintainer-specific portions of Makefiles
configure:2296: result: no

Code:
configure:4323: gcc -E  conftest.c
conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
configure:4329: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "beagle"
| #define VERSION "0.2.4"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:4368: result: gcc -E
configure:4392: gcc -E  conftest.c
configure:4398: $? = 0
configure:4430: gcc -E  conftest.c
conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
configure:4436: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "beagle"
| #define VERSION "0.2.4"
| /* end confdefs.h.  */

Leider kann ich nichts damit anfangen
 

oc2pus

Ultimate Guru
lariamat schrieb:
was heißt hier wie lange wollen wir das noch spielen???

KDE is ja wohl keine beagle Vorraussetzung, oder?
aha, so freche Antworten bekommt man von dir wenn man versucht dir zu helfen ?

hm, dann seh mal zu wie du alleine klar kommst :mrgreen:
 
Status
Für weitere Antworten geschlossen.
Oben