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

baghira-0.4c für die 8.2 compilieren

Hai,

da ich für meine SuSE 8.2 Prof. kein rpm für baghira-0.4c gefunden habe wollte ich das Teil selber kompilieren. Nutze KDE 3.1.5

Ein

"./configure --prefix=`kde-config --prefix` --disable-debug", wie auf www.kde-look.org beschrieben, läuft fehlerfrei durch
"Good - your configure finished. Start make now"

Wenn ich dann "make" ausführe, erscheint folgender Fehler

g++: /usr/lib/libart_lgpl_2.so: No such file or directory
make[2]: *** [bab] Fehler 1
make[2]: Leaving directory `/usr/local/src/baghira-0.4c/bab'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/usr/local/src/baghira-0.4c'
make: *** [all] Fehler 2

Die Datei existiert aber...

lrwxrwxrwx 1 root root 23 2003-04-26 16:52 libart_lgpl_2.so -> libart_lgpl_2.so.2.3.11

Wo liegt das Problem?

Gruß Mad Elk
 
hol dir das srpm von hier:

http://guru.unixtech.be/rpm/packages/Themes/KDE3/baghira/

installiere das SRPM
cd /usr/src/packages/SPECS
editiere das SPEC und ändere die Versionsnummer

cd /usr/src/packages/SOURCES
kopiere hierhin das tar.gz 0.34er Version

rpm -bb /usr/src/packages/SPECS/baghira.spec

==> /usr/src/packages/RPMS/i{3456}6 steht ein 0.34er RPM

Fertig ;)
 
Danke für die Info.

der Download des rpm´s funzt bei mir nicht. Wäre es viel verlangt, wenn du mir kurz das rpm bauen würdest :wink:

CU Mad Elk
 
könnte ich tun, wenn ich ein 8.2 hätte ;)

bei mir geht der Download. Hier nochmal der komplette Link:
http://guru.unixtech.be/rpm/packages/Themes/KDE3/baghira/src/baghira-0.3o-2suse90.src.rpm
 
wahrscheinlich hat dein Browser die Endung rpm auf irgendeine ANwendung (RealPlayer) gemappt. Probier mal SPEICHERN UNTER

oder in einer Konsole:
wget -c <linkadresse>
 
A

Anonymous

Gast
Um nochmal auf's selbstkompilieren zurückzukommen:

Vielleicht brauchst du libart_lgpg-devel ?!
 
libart_lgpg-devel ist installiert. Ich scheitere auch mit dem spec-File.

rpm -bb /usr/src/packages/SPECS/baghira0.4c.spec
/usr/src/packages/SPECS/baghira0.4c.spec ist keine reguläre Datei
Anubis:/home/madelk # rpm -bb /usr/src/packages/SPECS/baghira-0.4c.spec
Ausführung(%prep): /bin/sh -e /var/tmp/rpm-tmp.14710
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd /usr/src/packages/BUILD
+ rm -rf baghira
+ /usr/bin/bzip2 -dc /usr/src/packages/SOURCES/baghira-0.4c.tar.bz2
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd baghira
/var/tmp/rpm-tmp.14710: line 28: cd: baghira: Datei oder Verzeichnis nicht gefunden
Fehlerhafter Status nach Ausführen von /var/tmp/rpm-tmp.14710 (%prep)

In welcher Datei muss ich denn den Namen des Verzeichnisses ändern? Ich schätze mal, das Verzeichnis muss baghira-0.4c heissen.
 
Code:
%define _name           baghira
%define _version        0.3o
%define _rel            2

wenn dein tar.gz baghira-0.4c.tar.gz heisst dann musst du ändern in:

Code:
%define _name           baghira
%define _version        0.4c
%define _rel            1

und diese Zeile
Code:
Source:                 %{_name}-%{_version}.tar.bz2

musst du anpassen an die Endung der neuen Datei (tar.gz)
 
die Änderung im spec-file habe ich gemacht.

%define _name baghira
%define _version 0.4c
%define _rel 1

aber was soll sich in der Zeile

Source: %{_name}-%{_version}.tar.bz2

ändern? Der Name lautert ja weiterhin baghira-0.4c.tar.bz2 oder nicht?

Die Fehlermeldung ist die gleiche

+ cd baghira
/var/tmp/rpm-tmp.61872: line 28: cd: baghira: Datei oder Verzeichnis nicht gefunden
 
ok, du hast ein baghira-0.4c.tar.bz2. Dann brauchst du da nix ändern ;)

es kann aber sein das dieses tar.bz2, wenn es entpackt wird, sich in ein Verzeichnis baghira entpackt und nicht baghira-0.4c (dieses erwartet rpmbb)

Lösung 1:
baghira-0.4c.tar.bz2 entpacken, das entstehende baghira Verzeichnis umbenennen in baghira-0.4c, dann neues tar.bz2 erstellen

Lösung 2:
rpm -bb aufrufen ==> es wird in /usr/src/packages/BUILD/baghira entpackt und du passt im SPEC file den Pfad an
Code:
%setup -q -n "%{_name}"
ändern in
Code:
%setup -q -n "%{_name}-0.4c bzw. %setup -q -n "%{_name}-%{_version}
also den Namen den das enpackte Archiv in BUILD erzeugt
 
es kann aber sein das dieses tar.bz2, wenn es entpackt wird, sich in ein Verzeichnis baghira entpackt und nicht baghira-0.4c (dieses erwartet rpmbb)

nein, leider nicht. Das Verzeichnis lautet nach dem Entpacken "baghira-0.4c"
 
dann im spec ändern:

%setup -q -n "%{_name}-0.4c
bzw.
%setup -q -n "%{_name}-%{_version}

dann solte er ein cd nach baghira-0.4c triggern
 
die 2. Lösung bringt mich einen Schritt weiter...

rpm -bb /usr/src/packages/SPECS/baghira.spec
Ausführung(%prep): /bin/sh -e /var/tmp/rpm-tmp.69006
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd /usr/src/packages/BUILD
+ rm -rf baghira-0.4c
+ /usr/bin/bzip2 -dc /usr/src/packages/SOURCES/baghira-0.4c.tar.bz2
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd baghira-0.4c
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,g-w,o-w .
+ echo 'Patch #0 (baghira.diff):'
Patch #0 (baghira.diff):
+ patch -p0 -s
The text leading up to this was:
--------------------------
|--- widget-engine/baghira.cpp.orig 2004-03-05 12:28:08.000000000 +0100
|+++ widget-engine/baghira.cpp 2004-03-05 12:28:11.000000000 +0100
--------------------------
File to patch:

Was muss ich auswählen bzw. eingeben?
 
der patch ging davon aus, das wir uns in baghira Verzeichnis befinden, durch die Änderungen sind wir aber jetzt in baghira-0.4c

gib als Dateinamen den kompletten Pfad an für diese Datei oder kommentiere in dem SPEC die Zeile
%patch aus (mit #)
 
es lief und lief.....aber dann war ich wieder beim Ursprungsproblem...

g++: /usr/lib/libart_lgpl_2.so: No such file or directory
make[2]: *** [bab] Fehler 1
make[2]: Leaving directory `/usr/src/packages/BUILD/baghira-0.4c/bab'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/usr/src/packages/BUILD/baghira-0.4c'
make: *** [all] Fehler 2
Fehlerhafter Status nach Ausführen von /var/tmp/rpm-tmp.33322 (%build)

Muss ich evtl. einen Link mit ln -s oder sonst was erstellen? Die Datei gibt es, wie oben beschrieben.
 
-rw-r--r-- 1 root root 121020 2003-03-14 02:12 /usr/lib/libart_lgpl_2.a
-rwxr-xr-x 1 root root 748 2003-03-14 02:12 /usr/lib/libart_lgpl_2.la
lrwxrwxrwx 1 root root 23 2003-04-26 16:52 /usr/lib/libart_lgpl_2.so -> libart_lgpl_2.so.2.3.11
lrwxrwxrwx 1 root root 23 2003-11-09 13:28 /usr/lib/libart_lgpl_2.so.2 -> libart_lgpl_2.so.2.3.16
-rwxr-xr-x 1 root root 99233 2003-10-17 03:22 /usr/lib/libart_lgpl_2.so.2.3.16
 
lrwxrwxrwx 1 root root 23 2003-04-26 16:52 /usr/lib/libart_lgpl_2.so -> libart_lgpl_2.so.2.3.11

der ist falsch ;)

rm /usr/lib/libart_lgpl_2.so
ln -s /usr/lib/libart_lgpl_2.so.2.3.16 /usr/lib/libart_lgpl_2.so

und nochmal
 
jetzt ging´s fast ganz durch.

usr/lib/qt3/include/qasciidict.h:90: error: explicit specialization in
non-namespace scope `BaghiraButton::QConnection::~QConnection()'
/usr/lib/qt3/include/qconnection.h:49: confused by earlier errors, bailing out
make[3]: *** [baghiraclient.lo] Fehler 1
make[3]: Leaving directory `/usr/src/packages/BUILD/baghira-0.4c/deco'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/usr/src/packages/BUILD/baghira-0.4c/deco'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/usr/src/packages/BUILD/baghira-0.4c'
make: *** [all] Fehler 2
Fehlerhafter Status nach Ausführen von /var/tmp/rpm-tmp.49077 (%build)

Das kann ich nachvollziehen glaub ich...ich habe noch die qt 3.3.0.38 und KDE 3.1.5...

"You need KDE 3.2.x with QT 3.3.1 as minimum."

Mal danke für die bisherige Hilfe. Falls es nach dem Ugrade auf die aktuelle QT immer noch nicht funzen sollte, poste ich nochmals.

CU
 
oki, aber das Prinzip mit den SRPM hast du jetzt verstanden ?

Anmerkung: Meistens (fast immer eigentlich) ist nicht soviel am SPEC rumzufummeln ;) Nur die Versionsnummer und fertisch...
 
Oben