View previous topic :: View next topic |
Author |
Message |
uhai Veteran
Joined: 23 Aug 2007 Posts: 1397 Location: Eppingen, Germany
|
Posted: Fri Sep 04, 2009 7:59 pm Post subject: [solved] Bug#: 269659 - wie Patch anwenden? |
|
|
Hilfe,
wieder ein "Hänger":
Beim bin ich auf diesen https://bugs.gentoo.org/show_bug.cgi?id=269659 gestoßen. Im letzten Beitrag wird ein Patch angeboten, der das Problem zu lösen scheint.
Allerdings konnte ich der Diskussion nicht wirklich folgen. Wie wende ich den Patch denn richtig an? Wird ICU oder Xerces gepatcht? Welche Datei auf welche Weise?
Könnte mir bitte jemand die richtige Anwendung dieses Patches erklären?
uhai
Last edited by uhai on Sun Oct 18, 2009 4:44 pm; edited 1 time in total |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5329
|
Posted: Fri Sep 04, 2009 8:23 pm Post subject: |
|
|
es wird xerces gepatched. im bug report gibt es neben dem patch auch ein passendes ebuild für xerces
du packst dir einfach das ebuild und den patch in dein lokales overlay:
Code: | mkdir -p /usr/local/portage/dev-libs/xerces/files
cp <downloadir>/xerces-c-3.0.1-r1.ebuild /usr/local/portage/dev-libs/xerces/
cp <downloadir>/ICU_4.2.patch /usr/local/portage/dev-libs/xerces/files
ebuild /usr/local/portage/dev-libs/xerces/xerces-c-3.0.1-r1.ebuild manifest |
das lokale overlay musst du dann noch in der make.conf mit angeben:
/etc/make.conf wrote: | PORTDIR_OVERLAY="/usr/local/portage" |
_________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1397 Location: Eppingen, Germany
|
Posted: Fri Sep 04, 2009 8:34 pm Post subject: |
|
|
ok firefly, das habe ich vor lauter patch gar nicht gesehen.
Installiert ist bei mir xerces-c-3.0.0.-r1, d.h. xerces-c-3.0.0-r2.ebuild wäre mein Kandidat. Also download und nach Code: | /var/db/pkg/dev-libs/xerces-c-3.0.0-r1/xerces-c-3.0.0-r1.ebuild | oder
Code: | /usr/portage/dev-libs/xerces-c/xerces-c-3.0.0-r1.ebuild | speichern?
Oder habe ich das noch nciht kapiert?
uhai |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5329
|
Posted: Fri Sep 04, 2009 9:42 pm Post subject: |
|
|
auf jedenfall nicht nach /var/db/pkg
in diesem verzeichnis speichert portage informationen über installierte Pakete.
wenn du es in /usr/portage kopierst ist das ebuild nach dem nächsten sync wieder weg. Da ist es besser das ebuild in ein lokales overlay zu packen. Ich habe es kurz in meinem letzten post beschrieben.
Für mehr infos über overlays liest du dir am besten die doku darüber durch:
http://www.gentoo.org/proj/en/overlays/userguide.xml
http://gentoo-wiki.stefreak.de/de.gentoo-wiki.com/Portage_Overlay.html _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1397 Location: Eppingen, Germany
|
Posted: Sun Sep 06, 2009 8:35 pm Post subject: |
|
|
Man sollte doch aufhören, bevor man am Bildschirm einschläft.
Jetzt habe ich hier die Patches eingespielt, aber xerces-c lässt sich immer noch nicht emergen.
Wofür brauche ich dass eigentlich?
Zum Thema Overlay - gibt es eine Übersicht, was in welchem Overlay enthalten ist?
uhai |
|
Back to top |
|
|
Max Steel Advocate
Joined: 12 Feb 2007 Posts: 2272 Location: My own world! I and Gentoo!
|
Posted: Sun Sep 06, 2009 8:44 pm Post subject: |
|
|
Bei vielen Overlays (per Layman), lässt es sich am Name erraten was drin ist (themen, bzw. Programmbezogene) es gibt die "Developer-"Overlays, dafür gibt es unter gentoo.org etwas. Und meistens gibt es zu den Overlays irgendwo eine Projektseite mit deren Inhalt.
Für sunrise z.B. http://overlays.gentoo.org/proj/sunrise/
Und um darin zu browsen: http://overlays.gentoo.org/proj/sunrise/browser
Aber ansonsten hilft nur ausprobieren.
Und meistens ist es viel einfacher das Ebuild auf bgo zu suchen und danach ins eigene Overlay zu integrieren.
So als Leitfaden:
Code: | mkdir -p /usr/local/portage/eigen/profiles
echo "Eigenes" >> /usr/local/portage/eigen/profiles/repo_name
echo 'PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/local/portage/eigen' >> /etc/make.conf |
Und jetzt je nach Ebuild die passenden Ordner für die Category und das Programm erstellen.
Code: | mkdir -p /usr/local/portage/eigen/dev-libs/xerces-c/files |
Das Ebuild in das eben erstellte Verzeichnis xerces-c
Und die Patches nach files.
Danach noch ein ebuild /usr/local/portage/eigen/dev-libs/xerces-c/xerces-c-*.ebuild manifest und das Ebuild ist einsatzbereit.
Zum Thema, Was ist Xerces:
Code: | * dev-libs/xerces-c
Homepage: http://xerces.apache.org/xerces-c/
Description: A validating XML parser written in a portable subset of C++. |
_________________ mfg
Steel
___________________
Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2) |
|
Back to top |
|
|
Finswimmer Bodhisattva
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Mon Sep 07, 2009 7:15 am Post subject: |
|
|
eix-remote bietet dir eine Liste von allen Inhalten aus den Overlays.
Dadurch findest du diese Programme bei der Suche, auch wenn das Overlay nicht installiert ist:
Code: | $eix xerces
[I] dev-java/xerces
Available versions:
(1.3) 1.3.1-r2 ~1.4.4[1]
(2.6) 2.6.2-r4[1]
(2) 2.9.1!t
{doc elibc_FreeBSD examples source}
Installed versions: 2.9.1(2)!t(18:07:26 11/24/08)(-doc -elibc_FreeBSD -examples -source)
Homepage: http://xml.apache.org/xerces2-j/index.html
Description: The next generation of high performance, fully compliant XML parsers in the Apache Xerces family
[I] dev-libs/xerces-c
Available versions: 2.7.0-r1 ~2.8.0-r1 ~3.0.0 3.0.0-r1 ~3.0.1 ~3.0.1-r1 {curl debug doc elibc_Darwin elibc_FreeBSD iconv icu libwww threads xqilla}
Installed versions: 3.0.0-r1(14:33:18 08/01/09)(curl iconv threads -debug -doc -elibc_Darwin -elibc_FreeBSD -icu -libwww)
Homepage: http://xerces.apache.org/xerces-c/
Description: A validating XML parser written in a portable subset of C++.
[1] layman/java-overlay
|
_________________ Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1397 Location: Eppingen, Germany
|
Posted: Tue Sep 08, 2009 8:32 pm Post subject: |
|
|
Danke für die ausführliche Einführung in die Overlays. Das werde ich mir nochmal genauer ansehen.
Xerces-c allerdings widersetzt sich beharrlich...
Code: | /usr/bin/pkgdata --name xercesc_messages_3_0 --mode dll -d . -M '"CC=i686-pc-linux-gnu-gcc" "CXX=i686-pc-linux-gnu-g++" "AR=i686-pc-linux-gnu-ar" "RANLIB=i686-pc-linux-gnu-ranlib" "CPPFLAGS=" "CFLAGS=-O2 -march=athlon -pipe" "CXXFLAGS=-O2 -march=athlon -pipe " "LDFLAGS=-Wl,-O1"' ./res-file-list.txt
/usr/bin/pkgdata: error in command line argument "-M"
Run '/usr/bin/pkgdata --help' for help.
make[3]: *** [xercesc_messages.lo] Fehler 1
make[3]: Leaving directory `/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/work/xerces-c-3.0.0/src/xercesc/util/MsgLoaders/ICU/resources'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/work/xerces-c-3.0.0/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/work/xerces-c-3.0.0'
make: *** [all] Fehler 2
*
* ERROR: dev-libs/xerces-c-3.0.0-r1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 2251: Called die
* The specific snippet of code:
* emake || die "emake failed";
* The die message:
* emake failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/temp/build.log'.
* The ebuild environment file is located at '/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/temp/environment'.
|
Ich habe den patch in meinem overlay, ebuild erstellt (mit "digest") einmal mit 3.0.1und einmal mit 3.0.0 probiert - alles ergibt diesen Fehler...
uhai |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1397 Location: Eppingen, Germany
|
Posted: Sun Oct 18, 2009 1:51 pm Post subject: |
|
|
Mit dem patchen von xerces-c habe ich noch immer Schwierigkeiten. So bin ich vorgegangen:
1. Layman ist installiert und holt hier 3 Overlays rein (openstreetmap/pro-audio/sunrise) ohne Probleme. Also ist das ok.
2. In der make.conf ist Code: | PORTDIR_OVERLAY="/usr/local/portage/layman/local-overlay" | und Code: | source /usr/local/portage/layman/make.conf | gesetzt.
3. So sieht die source /usr/local/portage/layman/make.conf aus:
Code: | PORTDIR_OVERLAY="
/usr/local/portage/layman/openstreetmap
/usr/local/portage/layman/pro-audio
/usr/local/portage/layman/sunrise
$PORTDIR_OVERLAY
"
|
4. Verzeichnisse habe ich so angelegt:
/usr/local/portage/layman/local-overlay/dev-libs/xerces-c
/usr/local/portage/layman/local-overlay/dev-libs/xerces-c/files
5. ICU_4.2.patch nach /usr/local/portage/layman/local-overlay/dev-libs/xerces-c/files kopiert
xerces-c-3.0.1-r1.ebuild nach /usr/local/portage/layman/local-overlay/dev-libs/xerces-c kopiert
6. ebuild /usr/local/portage/layman/local-overlay/dev-libs/xerces-c/xerces-c-3.0.1-r1.ebuild manifest (ohne Fehler)
7. emerge -vt xerces-c -> dieser Fehler:
Code: | /usr/bin/pkgdata --name xercesc_messages_3_0 --mode dll -d . -M '"CC=i686-pc-linux-gnu-gcc" "CXX=i686-pc-linux-gnu-g++" "AR=i686-pc-linux-gnu-ar" "RANLIB=i686-pc-linux-gnu-ranlib" "CPPFLAGS=" "CFLAGS=-O2 -march=athlon -pipe" "CXXFLAGS=-O2 -march=athlon -pipe " "LDFLAGS=-Wl,-O1"' ./res-file-list.txt
/usr/bin/pkgdata: error in command line argument "-M"
Run '/usr/bin/pkgdata --help' for help.
make[3]: *** [xercesc_messages.lo] Fehler 1
make[3]: Leaving directory `/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/work/xerces-c-3.0.0/src/xercesc/util/MsgLoaders/ICU/resources'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/work/xerces-c-3.0.0/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/work/xerces-c-3.0.0'
make: *** [all] Fehler 2
*
* ERROR: dev-libs/xerces-c-3.0.0-r1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 2268: Called die
* The specific snippet of code:
* emake || die "emake failed";
* The die message:
* emake failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/temp/build.log'.
* The ebuild environment file is located at '/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/temp/environment'.
*
>>> Failed to emerge dev-libs/xerces-c-3.0.0-r1, Log file:
>>> '/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/temp/build.log' |
Anscheinend greift emerge nicht auf mein patch (wäre 3.0.1 statt 3.0.0!) sondern auf die ebuilds in /usr/portage zu:
Code: | /usr/portage/dev-libs/xerces-c:
ChangeLog xerces-c-2.7.0-r1.ebuild xerces-c-3.0.1.ebuild
files xerces-c-2.8.0-r1.ebuild xerces-c-3.0.1-r1.ebuild
Manifest xerces-c-3.0.0.ebuild
metadata.xml xerces-c-3.0.0-r1.ebuild
|
Was habe ich denn noch versemmelt? Warum nimmt er nicht xerces-c-3.0.1-r1, das in /usr/portage/dev-libs/xerces-c ja auch als ebuild vorliegt? <edit> guck mal da in /etc/portage/Package.mask - manchmal verliert man den Überblick ... Jetzt läuft's!</edit>
Das habe ich auch immer noch nicht verstanden:
Code: | DeskTux uhai # equery depends xerces-c
[ Searching for packages depending on xerces-c... ]
games-puzzle/enigma-1.01 (>=dev-libs/xerces-c-3[-icu,-iconv])
(>=dev-libs/xerces-c-3[icu]) |
Ich brauche Xerces-c wegen enigma in der Version >=3 - mit oder ohne icu? Oder heißt das, wenn "ohne icu" dann auch "ohne iconv"?
in enigma/enigma-1.01.ebuild:
Code: | ....RDEPEND="media-libs/sdl-ttf
media-libs/libsdl
media-libs/sdl-mixer
media-libs/sdl-image[png]
media-libs/libpng
|| ( >=dev-libs/xerces-c-3[icu] >=dev-libs/xerces-c-3[-icu,-iconv] ).....
|
Hier verstehe ich die "Xercex-c"-Zeile gar nicht. Könnte mir das bitte jemand übersetzen? Ich bin trotz meines Alters halt noch neugierig... |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Sun Oct 18, 2009 2:58 pm Post subject: |
|
|
uhai wrote: | In enigma/enigma-1.01.ebuild:
Code: | ....RDEPEND="media-libs/sdl-ttf
media-libs/libsdl
media-libs/sdl-mixer
media-libs/sdl-image[png]
media-libs/libpng
|| ( >=dev-libs/xerces-c-3[icu] >=dev-libs/xerces-c-3[-icu,-iconv] ).....
|
Hier verstehe ich die "Xercex-c"-Zeile gar nicht. Könnte mir das bitte jemand übersetzen? Ich bin trotz meines Alters halt noch neugierig... |
Diese beiden "||" leitet einen "Oder"-Ausdruck ein. Und du hast das oben schon richtig gedeutet:
Entweder xerces-c mit icu gebaut, oder xerces-c ohne icu und ohne iconv.
Was die einzelnen Flags bedeuten?
Code: | $ quse -D icu
global:icu: Enable ICU (Internationalization Components for Unicode) support, using dev-libs/icu
$ quse -D iconv
global:iconv: Enable support for the iconv character set conversion library
local:iconv:dev-libs/xerces-c: Use iconv (virtual/libiconv) as message loader and transcoder (in general it would be possible to use iconv only as message loader and something else like icu or the native method as transcoder and vice-versa, but this is a less common case and hard to handle) |
// edit
ARGH ganz vergessen warum ich eigentlich antworten wollte
Woher kommt bei dir dieses komische Builddir?
/home/uhai/Fotos/portage/dev-libs/xerces-c-3.0.0-r1/work/xerces-c-3.0.0
Ist das Absicht, dass du in deinem privaten home-Verzeichnis im Fotos-Ordner kompilierst? Hat das eine spezielle Bewandnis? |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1397 Location: Eppingen, Germany
|
Posted: Sun Oct 18, 2009 4:42 pm Post subject: |
|
|
Fotos ist ein 320 GB-USB-Laufwerk, da sind nur ein paar Digi-Bilder und jede Menge Platz für portage. auf meinen 2regulären" Festplatten habe ich für OpenOffice zu wenig freien Raum übrig, daher diese "Umleitung".
Danke für die Erklärung. Du verwendest ist das vergleichbar mit ?
uhai |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Sun Oct 18, 2009 5:37 pm Post subject: |
|
|
uhai wrote: | Fotos ist ein 320 GB-USB-Laufwerk, da sind nur ein paar Digi-Bilder und jede Menge Platz für portage. auf meinen 2regulären" Festplatten habe ich für OpenOffice zu wenig freien Raum übrig, daher diese "Umleitung". |
Ich würde echt schauen, auf der Platte bissl Platz zu schaffen. Denn die Übertragungsgeschwindigkeit deines USB-Laufwerks bremst das Kompilieren erheblich aus. Und nur wg. openoffice... Kannst das ja dann temporär so einrichten, und ansonsten auf einer internen Platte kompilieren.
Und ja, quse und euse sind ähnlich. quse ist hier nur deutlich schneller. Kommt mit portage-utils. |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1397 Location: Eppingen, Germany
|
Posted: Sun Oct 18, 2009 6:26 pm Post subject: |
|
|
Danke für den Tip, aber Geschwindigkeit spielt keine Rolle. Meistens lasse ich diese Dinge über Nacht laufen....
uhai |
|
Back to top |
|
|
|