PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : USE-flags von gentoo?


MatrixP
2004-08-23, 23:02:19
Hab ein kleineres Problem mit den USE Flags.

Hab ein jollix installiert und daraus dann ein Linux Router gebaut. Wieso? Keine Ahnung.
Nun will ich die komplette Multimedia Sachen aus dem System haben incl XOrg, Sound, KDE. Gnome, Fluxbox usw.
Wie mache ich dass?

Bei einem "emerge -u world" will der immerwieder einige kde-irgendwas pakete wieder installieren.

MatrixP

PrakashKC
2004-08-24, 00:26:12
Probier mal emerge -ut world, dann siehst du welche Pakete was instalieren wollen. Verstehe allerdings nciht, was das mit den USE flags zu tun hat.

MatrixP
2004-08-24, 10:26:11
Wenn ich in den USE flags "-kde" eingebe sollte er doch alles was mit kde zu tun hat nicht mit kompilieren IMHO.
Oder versteh ich da was falsch?

MatrixP

P.S: ich will einfach ein sauberes System ohne X und KDE usw

PrakashKC
2004-08-24, 13:54:41
Wenn du kde schon drauf hattest, nein. Da mußt du alles restlos entfernen. Das USE flag sgat nur, ob du andere Pakete mit order ohne kde Unterstützung (wenn diese Pakte irgendetwas in der Art bieten) kompilieren willst.

Wenn kde unmerged worden ist, solltest du mal emerge gentoolkit und revdep-rebuild machen, damit alle libs, die noch gegen kde verlinken neu kompiliert werden.

MatrixP
2004-08-24, 18:48:57
Wenn du kde schon drauf hattest, nein. Da mußt du alles restlos entfernen. Das USE flag sgat nur, ob du andere Pakete mit order ohne kde Unterstützung (wenn diese Pakte irgendetwas in der Art bieten) kompilieren willst.

Wenn kde unmerged worden ist, solltest du mal emerge gentoolkit und revdep-rebuild machen, damit alle libs, die noch gegen kde verlinken neu kompiliert werden.

gentoolkit is drauf,

aber ein "revdep-rebuild" bricht ab.

Hier der Fehlercode, hoffe der reicht ;)

Calculating dependencies
!!! all ebuilds that could satisfy "=app-arch/konserve-0.10.3" have been masked.
!!! possible candidates are:
- app-arch/konserve-0.10.3 (masked by: ~keyword)

!!! Error calculating dependencies. Please correct.

Result is not OK, you have following choices:
- if emerge failed during build, fix the problems and re-run revdep-rebuild
or
- use -X or --package-names as first argument (try to rebuild package, not exact
ebuild - ignores SLOT!)
or
- set ACCEPT_KEYWORDS="~<your platform>" and/or /etc/portage/package.unmask
(and remove /root/.revdep-rebuild.5_order to be evaluated again)
or
- modify the above emerge command and run it manually
or
- compile or unmerge unsatisfied packages manually, remove temporary files and
try again (you can edit package/ebuild list first)

To remove temporary files, please run:
rm /root/.revdep-rebuild*.?_*


ädit: bin n00b :-/

PrakashKC
2004-08-24, 19:37:06
Tja, wenn du gentoo benutzt dann solltest du auch Englisch können,also les dir das mal durch. Da steht alles was man wissen muß. (Würde aber die Vorschläge nciht benutzten sonder s.u.)

Tip: /etc/portage/package.keywords (oder so) sollte editiert werden.

nodh
2004-08-24, 20:15:08
Wenn du dein System von KDE etc. befreien willst lautet der Befehl "emerge -C openoffice" oder eben kdelibs, kdebase, o.ä.

HellHorse
2004-08-24, 21:27:29
Es fragt sich allerdings, wie gut KDE-Anwedungen wie konserve ohne KDE libs laufen :rolleyes:

nodh
2004-08-24, 21:44:01
Wenn die kdelibs (qt auch) und kdemultimedia (oder wo auch immer das drin ist) installiert sind, läuft es auch unter zB Fluxbox ;)

HellHorse
2004-08-24, 23:23:38
Wenn die kdelibs (qt auch) und kdemultimedia (oder wo auch immer das drin ist) installiert sind, läuft es auch unter zB Fluxbox ;)
Du weisst was ich meine, "kde-irgendwas pakete" statt KDE wäre aber exakter gewesen.

MatrixP
2004-08-25, 16:39:05
Tja, wenn du gentoo benutzt dann solltest du auch Englisch können,also les dir das mal durch. Da steht alles was man wissen muß. (Würde aber die Vorschläge nciht benutzten sonder s.u.)

Tip: /etc/portage/package.keywords (oder so) sollte editiert werden.

/etc/portage/package.keywords gibt es nicht. Und die Tipps die ausgegeben wurden hab ich schon probiert. Funzen aber auch nicht, sonst würd ich hier nicht posten ;).


Ich brauch kein WM, und Multimedia auch nicht. Is ja schlieslich ein server und keine Multimediastation.

Mit emerge -C kde* bekomm ich es zwar unmerged aber bei einem emerge -u world will er es wieder installieren.

Mfg MatrixP

PrakashKC
2004-08-25, 17:20:30
Die Datei muß es auch nciht geben, aber du kannst die anlegen und findet dann Berücksichtigung. Ich würde an deiner Stell mal auf dem gento Forum suchen. Da immer mal wieder drauf verwiesen. Oder guck dir mal im dt. Forum den Trhead über das neue Xorg-X11 ein. Evtl geht dir dann ein Licht auf...

Anscheinend hast du meinen ersten post hier auch nicht so ganz gecheckt. :rolleyes:

PrakashKC
2004-08-25, 17:22:23
Übrigens, wäre es nicht einfacher von einem stage3 zu beginnen?

MatrixP
2004-08-25, 17:29:45
Die Datei muß es auch nciht geben, aber du kannst die anlegen und findet dann Berücksichtigung. Ich würde an deiner Stell mal auf dem gento Forum suchen. Da immer mal wieder drauf verwiesen. Oder guck dir mal im dt. Forum den Trhead über das neue Xorg-X11 ein. Evtl geht dir dann ein Licht auf...

Anscheinend hast du meinen ersten post hier auch nicht so ganz gecheckt. :rolleyes:

was muss dann drin stehen wenn ich die anlege? :rolleyes:, sry, aber soviel Ahnung hab ich noch nicht. Den Thread zu Xorg-X11 such ich gleich mal.
Deinen ersten post hab ich gelesen und gemacht, nur da fängt der auch wieder an kde zu kompilieren....

Übrigens, wäre es nicht einfacher von einem stage3 zu beginnen?

Stage3 wär schon ok gewesen, hab aber damals jollix als einfacher eingestuft. Darum gehts hier aber nicht wirklich ;)

MatrixP

MatrixP
2004-08-26, 17:46:19
Hab noch ein bissl rumprobiert. Aber so richtig will das nicht funzen.

server portage # revdep-rebuild

Checking reverse dependencies...
Packages containing binaries and libraries broken by any package update,
will be recompiled.

Collecting system binaries and libraries... using existing /root/.revdep-rebuild.1_files.

Collecting complete LD_LIBRARY_PATH... using existing /root/.revdep-rebuild.2_ldpath.

Checking dynamic linking consistency... using existing /root/.revdep-rebuild.3_rebuild.

Assigning files to ebuilds... using existing /root/.revdep-rebuild.4_ebuilds.

Evaluating package order... using existing /root/.revdep-rebuild.5_order.

All prepared. Starting rebuild...
emerge --oneshot --nodeps =app-arch/konserve-0.10.3 =app-cdr/k3b-0.11.9 =app-editors/quanta-3.2.2 =dev-java/blackdown-jdk-1.4.1 =dev-libs/DirectFB-0.9.20 =dev-python/pygtk-2.0.0-r1 =gnome-base/gnome-libs-1.4.2 =media-gfx/digikam-0.6 =media-gfx/gimp-2.0.0 =media-libs/gdk-pixbuf-0.22.0 =media-libs/libmovtar-0.1.3-r1 =media-libs/libmpeg2-0.4.0b =media-libs/libsdl-1.2.7-r1 =media-libs/openal-20040303 =media-libs/sdl-image-1.2.3 =media-libs/smpeg-0.4.4-r4 =media-libs/xine-lib-1_rc4 =media-sound/audacity-1.2.1 =media-sound/esound-0.2.34 =media-sound/madplay-0.15.2b =media-sound/xmms-1.2.10-r2 =media-tv/tvtime-0.9.12 =media-video/avidemux-2.0.22 =media-video/avifile-0.7.38.20030710 =media-video/kino-0.6.4 =media-video/kmplayer-0.8.2 =media-video/mjpegtools-1.6.1.90-r1 =media-video/piave-0.2.4 =media-video/transcode-0.6.11 =media-video/xine-ui-0.9.23-r2 =net-ftp/kbear-2.1.1 =net-irc/kvirc-3.0.0 =net-misc/smb4k-0.3.2 =net-wireless/kwifimanager-1.0.2 =sys-libs/lib-compat-1.3 =x11-libs/gtk+-2.4.1 =x11-libs/gtkglarea-1.99.0 =x11-libs/wxGTK-2.4.2-r1 =x11-misc/superkaramba-0.33-r1
..........
Calculating dependencies
!!! all ebuilds that could satisfy "=app-arch/konserve-0.10.3" have been masked.
!!! possible candidates are:
- app-arch/konserve-0.10.3 (masked by: ~keyword)

!!! Error calculating dependencies. Please correct.

Result is not OK, you have following choices:
- if emerge failed during build, fix the problems and re-run revdep-rebuild
or
- use -X or --package-names as first argument (try to rebuild package, not exact
ebuild - ignores SLOT!)
or
- set ACCEPT_KEYWORDS="~<your platform>" and/or /etc/portage/package.unmask
(and remove /root/.revdep-rebuild.5_order to be evaluated again)
or
- modify the above emerge command and run it manually
or
- compile or unmerge unsatisfied packages manually, remove temporary files and
try again (you can edit package/ebuild list first)

To remove temporary files, please run:
rm /root/.revdep-rebuild*.?_*

Das is die Ausgabe von revdep-rebuild.

Hier noch die beiden dateien die ich angelegt habe
/etc/portage/package.keywords

server portage # cat /etc/portage/package.keywords
-kde ~x86
-kde-base ~x86

und /etc/portage/package.unmask

server portage # cat /etc/portage/package.unmask
app-arch/konserve


Wär schön wenn mir jemand ein bissl auf die Sprünge hilft.

Result is not OK, you have following choices:
- if emerge failed during build, fix the problems and re-run revdep-rebuild
or
>> Dazu fehlt mir das Wissen um den Fehler einfach so zu beheben :-/
- use -X or --package-names as first argument (try to rebuild package, not exact
ebuild - ignores SLOT!)
or
>> wo soll ich die -X oder --package-names angeben? Wie lautet der genaue Befehl?
- set ACCEPT_KEYWORDS="~<your platform>" and/or /etc/portage/package.unmask
(and remove /root/.revdep-rebuild.5_order to be evaluated again)
or
>> Hab ich in /etc/portage/package.unmask nach meinem Wissen reingeschrieben. Tut sich aber nichts.
- modify the above emerge command and run it manually
or
>> wie soll ich den emerge Befehl abändern?
- compile or unmerge unsatisfied packages manually, remove temporary files and
try again (you can edit package/ebuild list first)
>> manuell? Gut da fehlt mir wiedermal das Wissen.

Mfg MatrixP

PrakashKC
2004-08-26, 18:14:14
Du hättest konserve nicht oder auch noch extra in pakage.keywords eintragen müssen. Was aber die - vor den kde packages soll weiß ich nicht.

Ausßerdem wolltest du doch kde loswerden, also warum löscht du die Pakete nicht?!? konserve hört sich für mich nach kde abhängig an...

HellHorse
2004-08-26, 20:49:02
!!! all ebuilds that could satisfy "=app-arch/konserve-0.10.3" have been masked.

Heisst so viel wie, alle ebuilds mit konserve grösser oder gleich 0.10.3 sind "unstabil". Dein System ist aber so konfiguriert, dass nur stabile ebuilds akzeptiert werden.

probier mal

env ACCEPT_KEYWORDS="~x86" emerge -p konserve

konserve ist aber, worauf ich schon erfolglos früher hingewiesen habe, eine KDE Anwendung. Es werden also irgenwelche KDE libs benötigt.
-kde schaltet den KDE support nur ab, wo er optional ist, wie z.B. bei fluxbox, nicht wo er zwingend ist, wie bei konverse.

PrakashKC
2004-08-26, 22:27:03
@Hellhorse

Das ist genau der "falsche" Weg. Es funktioniert zwar, doch man hat beim nächsten Mal dasselbe Problem. Darum gibt es ja die package.keywords.

MatrixP
2004-08-26, 22:41:21
Ich glaub ich checks langsam.

Hab zig Pakete unmerged. Muss man nur die richtigen nehmen *g*.

Mach grad ein revdep-rebuild

Bei Problemem meld ich mich wieder, danke Euch allen bis hierher ;)

MatrixP

edit: http://www.gentoo.de/main/de/portage-2.0.50.xml erklärt auch einiges

HellHorse
2004-08-26, 23:38:49
Das ist genau der "falsche" Weg. Es funktioniert zwar, doch man hat beim nächsten Mal dasselbe Problem. Darum gibt es ja die package.keywords.
Kommt darauf an, was man erreichen will. Eigentlich ist package.keywords ja auch der falsche Weg. Denn wenn eine neue "unstabile" Version von konserve erscheint und 0.10.3 "stabil" wird, wird die "unstabile" emerged. Zudem erscheinen neue "unstabile" Pakete wesentlich häufiger, womit auch häufiger neu kompiliert werden muss. Ich gehe nicht davon aus, dass das gewünscht ist, zumal der Threadstarter die ja auch loswerden wollte.
Somit ist jeder mögliche Weg "falsch".
Also verantwortungsbewusste User mussten wir jetzt eigentlich einen Feature Request filen. So was wie "emerge unstabile Pakete falls nötig" :)

PrakashKC
2004-08-27, 12:07:39
Du kannst auch eine explizite Version eintragen.Mußt ja ncht alle Versionen unmaskieren. ;) Somit ist "mein" Weg schon der richtige...

HellHorse
2004-08-27, 13:57:59
Nö, eigenltich nicht. Wenn konserve 0.10.4 oder 0.11.x gebraucht wird und es "unstabil" ist, hast du wieder das gleiche Problem.

PrakashKC
2004-08-27, 15:10:53
Das weißt du ja nciht vorher, was du brauchst. Darum mußt du entsprechnde die package.keywords updaten. Mit ACCEPT_KEYWORDS dagegen hast du größte Scherereien.

Dneke einfach mal, du willst ein ~x86 Programm updaten, und dessen dependencies, aber diese sollen bei x86 (oder evtl sogar hier selektiv entschieden, was x86 bzw. ~x86) bleiben. Mit ACCEPT_KEYWORDS wird es ätzend, mit package.keywords, dagegen kein Problem.

Klar, bei simplen Problemen, geht das mit ACCEPT_KEYWORDS, aber es ist denoch depreciated.

HellHorse
2004-08-27, 17:12:11
Das weißt du ja nciht vorher, was du brauchst. Darum mußt du entsprechnde die package.keywords updaten.
Eben, auch package.keywords alleine macht nicht seelig.

Klar, bei simplen Problemen, geht das mit ACCEPT_KEYWORDS, aber es ist denoch depreciated.
ACCEPT_KEYWORDS ist sicher nicht deprecated. Weisst du überhaupt, was depricated bedeuted?

Ich bestreite nicht, dass package.keywords in vielen Fällen Vorteile gegenüber per env ACCEPT_KEYWORDS zu setzen hat. Allerdings löst es das Problem, stabiles Paket hat instabile dependency (genau das haben wir hier) nicht wirklich.

Wir sind aber mittlerweile OT, oder?

PrakashKC
2004-08-27, 17:47:10
Es sollte "deprecated" heißen. Der Terminus stammt von den gentoo Leuten/Entwicklern und soll heißen, daß man es mißbilligt, wenn man ACCEPT_KEYWORDS benutzt.


Allerdings löst es das Problem, stabiles Paket hat instabile dependency (genau das haben wir hier) nicht wirklich.

Nö, das gibt es nicht (zumindest nicht absichtlich). Wäre auch ziemlich dumm, denn dann könnte man nicht den stable tree sinnvoll nutzen. Beim revdep-rebuild findet er im obigen Fall nur, daß ein unstable package libs "verloren" hat (oder anderweitige dependancy Probleme) und darum neu emerged werden muß.

HellHorse
2004-08-27, 18:49:30
Der Terminus stammt von den gentoo Leuten/Entwicklern und soll heißen, daß man es mißbilligt, wenn man ACCEPT_KEYWORDS benutzt.
Ja nee, is klar. ACCEPT_KEYWORDS möglichst aus der make.conf rauslöschen.

Wäre auch ziemlich dumm, denn dann könnte man nicht den stable tree sinnvoll nutzen.
amd64?
Zudem sind die meisten ebuilds, die von wenigen Leuten benutzt werden grunsätzlich "unstabil".

PrakashKC
2004-08-27, 21:59:30
Ach herrje, ich benutzte selbst ~x86 in der make.conf, aber per package.keywords auch einige -* Pakete... Ich selbst sehe ~x86 eher als "not thoroughly tested" an und -* als "unstable". ;D

Ach und zu der stable-unstable Geschichte: Denkst du nicht, daß ein stable Paket auch stable dependency haben sollte? Sonst geht sofort das Gemeckere los, weil sonst protage Fehler meldet, wiel Pakete maskiert sind...

Kannst mir aber gerne ein Bsp nennen, wo ein stable Paket mind eine unstable dependcy hat. Ist mir zumindets noch nicht untergekommen.

HellHorse
2004-08-28, 01:54:07
Denkst du nicht, daß ein stable Paket auch stable dependency haben sollte?
Kniffliges Thema.
Ich halte sowieso nicht so viel von der ganzen stabil/unstabil Einteilung. Denn schlussendlich ist es eine willkürliche Festlegung.

Eigentlich muss man die Stabilität der Software und die Stabilität des ebuilds sepparat beurteilen. Bis auf ein paar wenige Ausnahmen sollte letzters nicht ein Problem sein. Ersteres ist wesentlich schwieriger zu beurteilen. Zudem ist es eigentlich Aufgabe des Herstellers, der durch Qualitätssicherung dafür zu sorgen hat, dass nur stabile Software released wird. Natürlich gibt es hier auch Ausnahmen, wenn der Hersteller Software explizit als beta bezeichnet. Ist aber all die OSS, die bei 0.X ist, auch beta?
Häuftig lässt man ein Paket einfach von einer genügend grossen Anzahl User eine geügend lange Zeit benutzen. Falls in dieser Zeit nicht irgendwelche krassen bugreports auftauchen gilt das Paket dann als stabil. Wenn es bloss von wenigen Leuten gebraucht wird, wird es vermutlich nie in den stable tree aufgenommen.
Das hat aber nichts mit der Stabilität der Software zu tun.

Was man dann häufig macht sind solche hacks wie ein Paket maskieren, weil eine dependency maskiert ist, oder irgend eine dependency demaskieren (führt zu solchen lustigen Fällen, wo ein Paket für amd64 stabil ist und für x86 nicht). Das führt IMHO das ganze System ad absurdum.

Ein Gegenbeispiel:
maven 1.0 würde ich als stabil bezeichen. Manche libraries, die maven 1.0 benötigt sind aber snapshots. Diese hingegen würde ich nicht als stabil bezeichnen.
(Das Problem tritt bei gentoo nicht auf, da maven als binary drin ist)

PrakashKC
2004-08-28, 11:00:51
Ich meinte die Frage nicht philosophisch sondern pragmatisch. ;) Wie schon gesagt, wenn bei gentoo ein x86 Paket eine ~x86-only dependency hätte ginge das Geschrei los (weil protage meckert), ergo wird es sowas nicht geben. Auch wennd as Hauptpaket als stabil gilt aber die dependancy nicht, wird es weiterhin als ~x86 geführt werden.

MatrixP
2004-08-29, 20:36:14
So langsam steig ich hinter portage ;)

Nur wie mach ich dem klar, dass ich partu keine grafische oberfläche will? Kann ich in irgend einer Datei festlegen, welche pakete prinzipiell nicht emerged werden sollen?
Danke schonma

MatrixP

P.S: wollt grad php installieren, und da sollt xfree mit emerged werden :-/

PrakashKC
2004-08-29, 22:19:34
mach emerge -pv, dann siehts du welche use flags aktiviert sind. Wenn dir davon welche nicht passen (etwa X) dann ab damit in die make.conf, also etwa -X.

Ansonsten wie gegt mußt du alle "graphischen" Pakete erst unmergen, sonst wollendie immer ihre dependenciey mergen, darum meinte ich bereits, daß ein Neuanfang leichter wäre.

Coda
2004-08-29, 22:22:45
Versuch mal -X in deine USE flags einzufügen.

MatrixP
2004-08-29, 23:04:15
gibt es einen Befehl, oder eine datei wo drinsteht welche Pakete alle installiert sind?

So jetzt mal c&p, weil was jetzt noch den x-server braucht weiss ich nicht.

server root # emerge -pv php

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild N ] x11-base/xfree-4.3.0-r6 -3dfx -3dnow -bindist -cjk -debug -debug -doc -ipv6 +mmx +nls +pam -sdk -sse -static +truetype +xml2 16,984 kB
[ebuild N ] x11-libs/qt-3.3.3 +cups -debug -doc -firebird +gif -icc -immqt -immqt-bc -ipv6 +mysql -nas -odbc +opengl -postgres -sqlite -xinerama +zlib 143 kB
[ebuild N ] app-crypt/mhash-0.9.1 362 kB
[ebuild N ] dev-libs/libmcrypt-2.5.7 511 kB
[ebuild N ] app-text/aspell-0.50.5-r4 -debug +gpm 992 kB
[ebuild N ] app-text/sablotron-1.0 -doc +perl 472 kB
[ebuild N ] media-libs/freetype-1.3.1-r3 +nls 1,919 kB
[ebuild N ] net-libs/libwww-5.4.0-r2 +mysql +ssl 1,110 kB
[ebuild N ] dev-php/php-4.3.8 -X +berkdb +crypt -curl -debug -doc -fdftk -firebird -flash -freetds -gd -gd-external +gdbm -gmp -hardenedphp -imap -informix -ipv6 +java +jpeg -kerberos -ldap -mcal -memlimit -mssql +mysql +ncurses +nls -oci8 -odbc +pam -pdflib +png -postgres +qt +readline -snmp +spell +ssl -tiff +truetype +xml2 -yaz 3,887 kB

Total size of downloads: 26,384 kB

und ;)


server root # emerge -up world

These are the packages that I would merge, in order:

Calculating world dependencies ...done!
[ebuild U ] dev-libs/DirectFB-0.9.20-r1 [0.9.20]
[ebuild U ] net-analyzer/netselect-0.3-r1 [0.3]
[ebuild U ] app-portage/mirrorselect-0.84 [0.83]
[ebuild U ] dev-java/java-config-1.2.9 [1.2.6]
[ebuild N ] sys-kernel/gentoo-dev-sources-2.6.8-r3
[ebuild U ] app-misc/lirc-0.7.0_pre4 [0.7.0_pre3]
[ebuild U ] sys-kernel/genkernel-3.0.2c [3.0.2b]


Danke schonma :>
MatrixP

Coda
2004-08-30, 02:17:16
Qt will X. Bei PHP ist ein +qt drin.

HellHorse
2004-08-30, 10:42:58
Probier also mal zusätzlich -qt in die USE Flags zu tun.