pkgsrc

dtmaster

Well-Known Member
Hi,

ich habe mir gerade NetBSD 5.1.2 installiert.

habe mir per csv pkgsrc auf den Rechner geholt.

Kann es sein das da irgend etwas nicht mit stimmt? Ich habe laufend fehler wegen:

Circular dependency detected

beim bootstrap fängt es schon an. Ich meine wie schwachsinnig ist es zum bauen eines packages ein anderes vorauszusetzen was aber selbst erst gebaut werden kann wenn das vorherige gebaut wurde.

Habe mir dann die bootstrap.tgz gezogen und installiert. Aber bei jedem anderen Package was ich bauen will genau das gleiche.

Irgendwo sehe ich da keinen sinn drinn.
 
Egal was ich mache er tritt immer auf.

Ich habe gerade nochmals NetBSD neu installiert. Dann habe ich mir die pkgsrc.tar.gz gezogen und nach /usr entpackt.

Diesmal habe ich es ohne Bootstraping probiert.

Als erstes habe ich die mk/defaults/mk.conf genommen einfach so belassen und nach /etc kopiert.

Dann wollte ich htop bauen. Da ging es schon los.

Code:
netbsd# cd /usr/pkgsrc/sysutils/htop
netbsd# make install
=> Bootstrap dependency digest>=20010302: NOT found
=> Verifying package-install for ../../pkgtools/digest
===> Skipping vulnerability checks.
WARNING: No /var/db/pkg/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /var/db/pkg fetch-pkg-vulnerabilities'.
===> Installing dependencies for digest-20111104
=> Build dependency gcc47>=4.7.0: NOT found
=> Verifying package-install for ../../lang/gcc47
=> Bootstrap dependency digest>=20010302: NOT found
=> Verifying package-install for ../../pkgtools/digest
ERROR: This package has set PKG_FAIL_REASON:
ERROR: Circular dependency detected
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/pkgtools/digest
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/lang/gcc47
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/pkgtools/digest
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/sysutils/htop
netbsd#

Und das ist bei jedem so was ich installieren will.

ich habe bei der install folgende Sets installiert:

base.tgz
comp.tgz
etc.tgz
kern-GENERIC.tgz
man.tgz
text.tgz
xbase.tgz
xcomp.tgz

Selbst wenn ich Bootstrapen müsste oder wollte. Habe ich auch gerade noch mal probiert. Ohne mk.conf in /etc und nur mit ./bootstrap klappt auch nicht. er findet dann in pkgsrc/pkgtools/bootstrap-mk-*/work irgendwelche mk dateien nicht die auch nicht in dem von ihm angegebenen pfad liegen.
 
Zuletzt bearbeitet:
=> Build dependency gcc47>=4.7.0: NOT found

Daran liegt es. Ohne GCC, welches in C programmiert ist kannst du logischerweise kein C kompilieren. Hast du den installiert? Sollte nämlich comp.tgz enthalten sein.
 
Zuletzt bearbeitet:
Ja, sollte er (bzw. ist er). Mit gcc --version kannst du mal grundsätzlich nachsehen, ob er da ist. Du kannst in theoretisch auch mit pkg_add installieren.

Hast du vielleicht aus dem Internet installiert und ist da vielleicht ein Downloadfehler aufgetreten?
 
Nein. Aber ich glaube ich habe da etwas gefunden.

Ich habe jetzt nochmal neu installiert. Ohne Bootstrap immer die selben fehler komischerweise.

Bootstrap funktioniert aber nur wenn ich an den parametern nichts änder. Sprich prefix / sysconfdir etc.

Danach funktioniert auch das bauen von packages. Aber sobald ich versuche das ganze umzubiegen das z.B. sysconfdir /etc und prefix /usr ist dann ists vorbei. dann geht nichts mit bauen.

Ich muss auch dazu sagen das, wenn die English Kenntnisse nicht so groß sind, das doc auf der NetBSD Seite schwer zu verstehen ist. Besonders der Teil mit pkgsrc.
 
Also den Bootstrap brauchst du nicht, weil du dich auf NetBSD befindest (da wurde pkgsrc schon gebootstrapt). Damit kann man eher kaputt machen. Der ist eigentlich nur interessant wenn auf auf einem System, wie Solaris bist, wo du ja standardmäßig kein pkgsrc hast.

Das könnte daran liegen, dass er dann einfach nicht mehr die richtigen Pfade hat. Gibt es einen triftigen Grund, dass du da etwas ändern willst? Mittlerweile unterstützen alle(?) Pakete DESTDIR, das heißt du kannst anpassen wohin die Pakete installiert werden. Dazu gibt es in mk.conf eine Option. Auch vieles andere Dinge kann man dort konfigurieren ohne sich mit dem Bootstrap beschäftigen zu müssen. Wirklich, wenn du pkgsrc nicht woanders verwenden willst ist Bootstrap ziemlich uninteressant.

gcc ist garantiert im set enthalten.
 
Zuletzt bearbeitet:
Ich komme eigentlich aus der Linux Ecke (Linux from Scratch).

Von daher bin ich es gewohnt alles in /usr usw. Man weiß ja Gewohnheiten sind schwer zu ändern.

Ich hatte es auch schon mal versucht mit einer mk.conf wo alles angepasst war so das es nach /usr gehen sollte. Also /usr/bin etc...

Aber dann spinnt er rum. gcc ist übrigends in comp mit der Version 4.1.3.

Ziemlich alt würde ich sagen.

Ich bin auf dem Slim rechner nur auf NetBSD gewechselt weil in den neueren Linux Kernen das Modul für meinen SCSI Controller zwar dabei ist und auch installiert wird aber trotzdem nicht mehr voll unterstützt wird so wie es ausschaut. Und daher meine SCSI 2,5 " HDD nicht mehr erkannt bzw richtig angesprochen wird. Unter BSD ist das gar kein Thema. Da funktioniert das alles.

Ich werde dann wohl bei den Standard Pfaden in NetBSD bleiben. Also nach /usr/pkg wenns anders scheinbar Probleme macht.
 
Ich komme auch ursprünglich von Linux.

Die Sache ist die, dass die BSDs ein sogenanntes Basissystem (das Zeug in den Sets) von third-party trennen. Das hat den Vorteil, dass du sowohl ein stabiles System hast (zum Beispiel für Server) und trotzdem die letzte Version deiner Software installiert haben kannst.

In NetBSD und DragonFly (welche ebenfalls pkgsrc verwendet) ist das /usr/pkg und in den Anderen /usr/local.

DESTDIR ist mittlerweile sehr stabil und sollte keine Probleme machen (viele Leute kompilieren ständig alles aus pkgsrc und senden die Resultate an eine Mailingliste). Einfach mk.conf entsprechend abändern. Nur ist es keine gute Idee das mit dem Basissystem zu mischen (weil du da logischerweise die Gefahr hast das dieses im Weg ist). Wie gesagt, ich komme auch von Linux, aber wenn du eine Weile mit einem BSD arbeitest wirst du genau diesen Umstand lieben lernen. Viele nutzen BSD genau aus diesem Grund. Man gewöhnt sich übrigens sehr schnell daran, einfach alles was man "selbst" installiert hat in /usr/pkg zu suchen. Das ist in etwa, das was du in LFS am Anfang hast, vielleicht ein bisschen weniger. Allerdings ist es schon ein Weilchen her, dass ich das installiert habe und je nach BSD ist es auch ein wenig unterschiedlich.

Wenn du das aktuelle gcc nutzen willst oder musst kannst du das ebenfalls tun. Einfach mit der alten GCC aus dem Base System installieren (normales make install) und dann die Variable PKGSRC_COMPILER in deiner mk.conf ändern.
 
Zuletzt bearbeitet:
Ok. Ich danke erst einmal für die Infos.

Nun muss ich nur noch zu sehen das ich meine .bashrc so hinbekomme das er nicht mehr meckert.
 
Einer der größten Vorteile der BSDs gegenüber Linux ist meine Meinung nach, dass sie aufgeräumt sind und eben _nicht_ alles nach /usr installieren. Oder /opt, oder sonst wohin, sondern immer schön nach /usr/local bzw. /usr/pkg.
Also mach dir diesen Vorteil nicht kaputt. :)
 
Ja da muss ich dir zustimmen. Leider wird es für meinen Großen PC nicht in Frage kommen.

Alleine schon wegen der Grafikkarte. Ich denke nicht das ich die voll unterstützt zum laufen kriegen werde. Auf dem Großen PC habe ich eine ATI RadeonHD 6570 laufen.

Nun aber zu dem eigentlichen Problem was hier war.

Ich habe NetBSD noch mal neu auf dem HP Slim installiert. pkgsrc gezogen und kein Bootstrap gemacht. Und siehe da. Keine Probleme. Installieren aus den sourcen funktioniert 1a. Wobei ich mir die mk.conf angepasst habe das sysconfdir auch in /etc geht und das Hauptverzeichniss für die gebauten packages /usr/local ist.

Als shell habe ich jetzt bash und meine .basrc funktioniert auch bestens dank gnuls. Man muss bloß erst einmal dahinter kommen das die so von allein nicht geht. Musste erst .profile als Symlink auf die .bashrc machen.

Nun habe ich meine gewohnten Farben aus Linux.

Xorg habe ich modular aus den pkgsrc installiert. Nach einigem hin und her mit der config geht das jetzt auch. Musste aber Kernel mit i915drm neu machen was auf anhieb klappte.

Ich habe den Xorg in der Config auch so umgebogen bekommen das ich eine Auflösung von 1920x1080 habe. Was der Intel Graphik Chip eigentlich nicht unterstützt. Aber klappt und sieht gut aus.

Bisher keine Probleme beim Kompilieren.. Ausser bei vim. Aber das war nur die License. Ich mag diesen vi nicht. habe mir in meiner .bashrc auch gleich einen alias gesetzt das beim aufruf von vi vim genommen wird.

Bisher bin ich sehr zufrieden mit NetBSD auf dem HP-Slim.

Gerade Compiliert qt3 um dann kde3 installieren zu können. glxinfo sagt direct Rendering funktioniert. Auch glxgear konnte ich ausführen und die Rädchen haben sich gedreht. Wobei ne Meldung kam das irgendetwas mit GEM ist.

Auch die USB Maus habe ich in X endlich nach einigen suchen mit google zum laufen gebracht.

Ich denke man könnte so einiges im Wiki dazu nachtragen. Finde es gerade in bezug auf NetBSD etwas mager.

Viele Grüße und danke für Hilfen etc..

Euer dtmaster
 
.profile und .bashrc sind zwei unterschiedliche Dateien, die solltest du nicht verlinken.
Schreib lieber in die .profile:
Code:
[ -f ~/.bashrc ] && . ~/.bashrc
Damit wird die .bashrc eingelesen, wenn sie vorhanden ist.
 
Ok das es zwei unterschiedliche sind ist klar. Aber so funktioniert es auch. Ich habe mir alles nötige angepasst. Ich lade mit der .bashrc einen ordner in etc wo dateien drinn sind in denen die pfade exportiert werden usw.

Funktioniert alles Super.


Aber kurz zu der ATI. Gibt es in naher Zukunft ne Reale Chance das man die ATI Karte zum laufen bekommt mit 3D Beschleunigung unter NetBSD?
 
Ich habe es mir fast gedacht. Gut dann wäre NetBSD schon mal nicht geeignet für den großen.

Schade. Muss ich sonst mal schauen was ich da drauf mache.

Hat vielleicht einer eine Idee zu meinem anderen Problem in diesem Thread:

Problem mit locale
 
Zurück
Oben