pkgsrc

spectre210

Well-Known Member
Hallo Leute,
Ich habe mal eine Frage.
Es geht um pkgsrc.
Kann man pkgsrc auch in Linux betreiben, wie zum Beispiel Ubuntu?
Auf der pkgsrc Seite steht Linux als unterstützte Plattform.
Vielen Dank im Vorraus
Gruß spectre210.
 

spectre210

Well-Known Member
Danke für deine Antwort.
Und ja, Ich stelle mir da Probleme vor.
In Linux gibt es kleine Unterschiede in der Ordnerstruktur im Gegensatz zu BSD.
Zum Beispiel die dir für Startdämonen:
in Linux: /etc/init.d/
in BSD: /etc/rc.d/
Woher soll pkgsrc wissen, in welchen Ordner er die Dateien ablegt oder wurde das berücksichtigt.
Des Weiteren muss doch die Binär-Paketdatenbank mit der von pkgsrc synchronisiert werden.
Gruß spectre210
 

Styx

Universaldilettant
Du brauchst in einem BSD-Forum nicht die Unterschiede zwischen Linux und BSD zu erklären.

Ich frage mich nur, was dein Post bezweckt. Willst du wissen, ob es geht oder Erfahrungsberichte oder willst du wissen, wie man es macht oder willst du dir nur einen Überblick verschaffen...?

Also was ist der Zweck deiner Frage?
 

oenone

Well-Known Member
Danke für deine Antwort.
Und ja, Ich stelle mir da Probleme vor.
In Linux gibt es kleine Unterschiede in der Ordnerstruktur im Gegensatz zu BSD.
Zum Beispiel die dir für Startdämonen:
in Linux: /etc/init.d/
in BSD: /etc/rc.d/
Woher soll pkgsrc wissen, in welchen Ordner er die Dateien ablegt oder wurde das berücksichtigt.
Des Weiteren muss doch die Binär-Paketdatenbank mit der von pkgsrc synchronisiert werden.
Gruß spectre210

Zu den Ordnern: Ja, das wurde berücksichtigt. Für Startscripte z.B. hier: http://www.netbsd.org/docs/pkgsrc/pkginstall.html#rcd-scripts

Binär-Paketdatenbank? pkgsrc benutzt eine eigene, die mit der nativen nichts am Hut hat. Von daher gibt es da auch keine Probleme.
 

spectre210

Well-Known Member
Danke für deine Antwort.
Was ist, wenn ich ein Paket binär und auch über source installiere, vielleicht aus versehen oder durch Abhängigkeiten. Kommt es dann zu Paketkonflikten oder ergreift pkgsrc Präventiv-Maßnahmen.
Gruß spectre210
 

darktrym

Fahnenträger
Wenn du von pkgsrc sprichst, es geht alles in die gleiche Datenbank ein. Es gibt keinen Unterschied ob du ein Paket über pkg_add installierst oder make install im pkgsrc-Baum ausführst.
 

spectre210

Well-Known Member
Danke für deine Antwort.
Da hast du recht.
Meine Frage bezieht sich aber auf Linux, denn da gibt es nämlich kein pkg_add
Gruß spectre210
 

spectre210

Well-Known Member
Danke für deine Antwort.
Ich denke ist gibt nur eine Möglichkeit es herauszufinden.
Ich werde es nun mal ausprobieren und davon berichten.
Gruß spectre210.
 

franco98

NetBSDler aus Leidenschaft
Ich werde es nun mal ausprobieren und davon berichten.
Gruß spectre210.

Erwarte am Anfang nicht zu viel!
Ich habe pkgsrc unter Solaris 7, 9, 10, FreeBSD 8, OpenBSD und Debian Sarge benutzt, es kam immer wieder zu Fehlern und Problemen.
Solaris 9 ging mit dem GCC lange sehr gut, SUN-Studio 12.2 CC war auch ok.

Du musst ein 'bootstrap' durchführen, ein GCC sollte ja auf der Linux-Kiste installiert sein. Ich habe dann aber immer den GCC aus pkgsrc neu gebaut (mit Packages!) und diesen für alle weiteren builds benutzt.

Das A und O ist eine ordentliche mk.conf mit entsprechenden Einträgen für den CC, den Linker, die Shell, CFLAGS und die PKG-Tools. Um Arbeit zu sparen kann man Teile des OS benutzen, z.B. die systemeigenen m4, flex, perl. Wichtig sind auch die Pfade, sie sollten vor den systemeigenen stehen. Also '/usr/pkg/sbin:/usr/pkg/bin:...'

Ansonsten schau dir die Einträge in http://mail-index.netbsd.org/ an und den Text zu 'pkgsrc' in /usr/pkgsrc.

Viel Glück!
 

Athaba

Libellenliebhaber
Je nachdem was genau du vorhast interessiert dich vielleicht dracolinux, das ist nämlich ein Linux, das auf pkgsrc setzt. Es gibt zwar noch einige ähnliche Projekte, aber damit fährt man derzeit wohl am Besten.
 

spectre210

Well-Known Member
Ich habe es mit pkgsrc versucht und dazu pmake, ein Werkzeug von NetBSD, genutzt.
Es bricht immer wieder and der Stelle ab:
root@phantom:/usr/pkgsrc/pkgtools/pkg_install# pmake install clean
===> Configuring for pkg_install-20101212
=> Replacing config-guess with pkgsrc versions
=> Replacing config-sub with pkgsrc versions
=> Configuring and building libnbcompat
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking build system type... x86_64-unknown-linux-gnu
checking host system type... configure: error: /bin/sh ./config.sub -debian-linux failed
configure: WARNING: cache variable ac_cv_host contains a newline
*** Error code 1

Stop.
pmake: stopped in /usr/pkgsrc/pkgtools/pkg_install
*** Error code 1

Stop.
pmake: stopped in /usr/pkgsrc/pkgtools/pkg_install
 

spectre210

Well-Known Member
Wie richte ich den bootstrap in ubuntu ein. Mit dem Paket ''debootstrap'', was speziell für debiansysteme ist. Und was soll ich nach der Installation anders machen. Denn pmake gibt dann immer noch den Error aus.
 

spectre210

Well-Known Member
Wenn ich bootstrap installieren will, kommt folgende Fehlermedlung:

/usr/pkgsrc/bootstrap# ./bootstrap
ERROR: Your shell's echo command is not BSD-compatible.
ERROR: Please select another shell by setting the environment
ERROR: variable SH.

Was soll ich da tun?
Gruß spectre210
 

Athaba

Libellenliebhaber
Da du Ubuntu verwendest wird wohl dash verwendet werden (/bin/sh, welches standardmäßig verwendet wird ist dort dash).

Schau, ob die bash installiert ist. Wenn ja, verwende die, indem du wie es die Meldung sagt SH auf /bin/bash setzt. Dann sollte es klappen.

Im Übrigen rate ich dir auf Linux die stabile Version von pkgsrc zu verwenden, falls du das nicht ohnehin tust. Da sollten mehr Pakete kompilieren. Natürlich nur, wenn du darauf angewiesen bist und keine aktuellere Software benötigst. Ansonsten funktioniert pkgsrc abseits von NetBSD meist besser, als erwartet wird.
 
Zuletzt bearbeitet:

spectre210

Well-Known Member
Vielen Dank, habe ich gemacht.
bmake funktioniert.
Wenn ich jedoch octave installiere bekomme ich den Fehler:

phantom octave # bmake install clean
ERROR: This package has set PKG_FAIL_REASON:
ERROR: octave-3.2.4nb1 uses X11, but /usr/X11R6 not found
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/math/octave

Da muss ich doch irgendein PATH anders setzen.
Wie mache ich das.
Gruß spectre210
 

spectre210

Well-Known Member
Ok,das Problem habe ich.
Aber ich habe einen neuen Fehler:
phantom tnftp # bmake install clean
ERROR: This package has set PKG_FAIL_REASON:
ERROR: No usable termcap library found on the system.
*** Error code 1

Das brauche ich, um octave zu installieren.
Ich habe aber nach meiner Meinung termcap libs in mk.
Was nun?
 

Athaba

Libellenliebhaber
Laut NetBSD Wiki sollte ein apt-get install ncurses5-dev weiterhelfen.
Kann man mit einer Suchmaschine finden ;)

Du scheinst ja an einigen Dingen hängen zu bleiben. Wenn alles klappt, kannst du eine Anleitung für's BSDForen.de Wiki schreiben. Wird sicherlich für denen Einen oder Anderen hilfreich sein.
 
Zuletzt bearbeitet:

menuhin

Menco Khan
Ich habe Pkgsrc unter Linux auf Draco Linux probiert und bentuzt und das lief ohne Probleme, die Dienste liefen in /usr/pkg/etc/rc.d/ und keine probleme mit abhängigkeiten oder dienste, du kannst auch slackware nehmen die ist auch out of a box kompatibel.


-Menuhin
 

spectre210

Well-Known Member
So, Ich habe jetzt noch einmal den PATH neu gesetzt und auch den x11 Modus geändert.
Es scheint jetzt zu gehen.
Damit wäre das Thema ersteinmal gelöst.
Was mich noch stört, ist, wenn ich zum Beispiel ein Paket installiere, bricht dieses bei nicht vorhanden sein von Unterpakten ab. Jedoch sind die Pakete in pkgsrc installierbar.
Wie kann ich das automatisieren.
Bis jetzt muss ich manuell die Sub-Packages installieren.
Trotzdem Vielen Dank Leute.
Gruß spectre210
 

franco98

NetBSDler aus Leidenschaft
PKG_PATH?

Wenn du ein einzeln heruntergeladenes Paket installieren willst, ohne die o.g. Variable richtig zu setzen und Abhängigkeiten fehlen, dann bricht die Installation ab. Wie soll pkg_add auch die Abhängigkeiten auflösen?

Wenn du die o.g. Variable auf einen entsprechen NetBSD FTP-Server (mit Pfad zu den Packages deines Ports) gesetzt hast, dann installiert pkg_add gleich alle Abhängigkeiten mit. Egal ob unter Linux, NetBSD, Solaris ...

Lies mal die Doku zu NetBSD Packages und pkgsrc!

Alternativ kannst du die Abhängigkeiten für das Paket herunter laden und in das selbe Verzeichnis stellen. Umständlich zwar, geht aber auch!

Viel Glück
Frank aus LE
 

spectre210

Well-Known Member
Hallo Leute.
Ich habe da ein Problem in pkgsrc, was sich festgefahren hat.
Wenn ich imake installieren will, kommt es immer zu dem Error:
No package xproto found
Aber ich habe xproto installiert.
Ich habe auch immer wieder den PKG_CONFIG_PATH=/usr/lib64/pkgconfig gesetzt.
Darin befindet sich die Datei xproto.pc
Was soll ich jetzt blos machen?
Man kann auch manuell XPROTO_CFLAGS und XPROTO_LIBS auf einen Wert setzen.
Blos auf welchen?
 
Oben