Module bauen...

beate

Well-Known Member
weiter von hier:
https://www.bsdforen.de/threads/netbsd-9-0-ist-draußen.35440/post-316771

pkgsrc ist bei NetBSD9.0 ja jetzt auch mit dabei. Hab ich gebootstrapped und die ersten kleineren Päckchen gebaut.

Und kaum geht es an größere Dinge, beginnen auch schon die Probleme.

wdm -> verwendet ua. jbigkit-2.1. Und das kompiliert nicht, weil (über einen offenbar BSD-spezifischen) Patch libtool verwendet wird. Und das will irgend eine --tag-Option haben, aber nicht akzeptieren.

Code:
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I.. -I../include -Iinclude -I../src -O2 -D_FORTIFY_SOURCE=2 -Wall -fexceptions -MT src/x86/ffi.lo -MD -MP -MF src/x86/.deps/ffi.Tpo -c ../src/x86/ffi.c -o src/x86/ffi.o >/dev/null 2>&1
depbase=`echo src/x86/sysv.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; /bin/sh ./libtool     --mode=compile cc -DHAVE_CONFIG_H  -I. -I..  -I. -I../include -Iinclude -I../src -I/usr/include  -I. -I../include -Iinclude -I../src -O2 -D_FORTIFY_SOURCE=2 -I/usr/include -MT src/x86/sysv.lo -MD -MP -MF $depbase.Tpo -c -o src/x86/sysv.lo ../src/x86/sysv.S && mv -f $depbase.Tpo $depbase.Plo
libtool: compile: unable to infer tagged configuration
libtool:   error: specify a tag with '--tag'
*** Error code 1



Zu allem Überfluss bekomme ich jetzt auch

libtool: error: '*.la' is not a valid libtool archive

Oh, wie ich die Zeiten zurücksehne, als ein schlichtes imake oder configure für eine erfolgreiche Kompilation ausreichte. Dieser moderne Overhead bringt mehr Streß als Hilfe....


Und wenn ich libtool aus den Paketquellen neu baue, wird auch noch gcc 4.1.2 geholt ????
 
Zuletzt bearbeitet:
So, nach all dem Fluchen komme ich langsam weiter. Das X11 hat übrigens die Bildschirmdarstellung geschossen. Dabei habe ich nicht weiter gemacht, als einen wm2, ein xterm und einen xteddy zu starten. Ein paar Aktionen, und man konnte nichts mehr erkennen. Leider ließ sich der Xserver auch nur mit Signal 9 beenden, mit der natürlichen Folge, dass ich momentan nur über ssh auf den Rechner komme. Mhmm.

Was bleibt, ist dass vor allem bei gefühlt allen Paketen Bibliotheken, die über Abhängigkeiten gebaut werden, die Probleme mit dem fehlenden libtool-Tag auftreten. Bisher kam ich noch jedesmal weiter, indem ich in den jeweiligen Makefiles ein "--tag=CC" einfügte. In allen Fällen war dabei libtool nicht über die Variablen des Buildsystems spezifiziert, sondern explizit ins Makefile eingetragen.

@franco98 wie gehst Du damit um?
ich finde es sehr lästig, dass nicht unattended abläuft und man die ganze Zeit am Rechner schauen muss, wo der Buildprozess als nächstes hängenbleibt. Gibt es irgendeine Stelle, an der man das global erzwingen kann, die ich noch nicht gefunden habe?

--tag=CC ist übrigens das Fallbackverhalten von libtool. Laut Dokumentation sollten diese Fehler eigentlich überhaupt nicht auftreten können. Und wenn man danach gurgelt, findet man derartige Problemberichte zuhauf.
 
@beate
Du fragst mich "Wie gehst Du damit um?".

Es funktioniert bei mir. Ich gebe "make install clean clean-depends" ein und es baut mir den Firefox z.B. - so soll es auch sein. Ab und zu editiere ich ein Makefile, aber das ist so nicht geplant.

Du hast irgendwo ein Problem i.M. !
Welches pkgsrc benutzt du? 2019Q4 oder current?

Bootstrap mache ich nur auf fremden Systemen, z.B. früher auf Solaris oder Linux. Unter NetBSD brauchst du das nicht, die Tools ect. sind alle schon da.

Was steht in deiner /etc/mk.conf?
Hast du dein pkgsrc unter /usr/pkgsrc laufen bzw. verlinkt?

Hast du alles bei der NetBSD Installation installiert?
Da waren Compiler usw. mit dabei.

Ich baue immer zuerst estd, bash, sudo - da wird schon viel Wichtiges mitinstalliert (perl, bison, python usw.)

Xorg ist wieder eine andere Sache. Schon mal "X -configure" gemacht und die xorg.conf.new bearbeitet? Dann nach /etc/X11/xorg.conf kopiert. Die Logfiles von X sind auch interessant.

Wenn ich es in den nächsten Tagen schaffe, dann installiere ich mir mal ein virtuelles i386 NetBSD und baue packages, aber das dauert etwas.

Viel Erfolg bis dahin!
 
Was das X angeht - ich hab ja noch die Kiste mit NetBSD 8.2 - ebenfalls mit Atom und ähnlicher (schwächerer) Ausstattung. Den habe ich wieder zum Booten bekommen. Da läuft X prima, und da schaue ich mir die Konfiguration mal an. Ein erster Blick ich das Logfile deutet übrigens an, dass der (Intel-) Treiber den Chip nicht korrekt erkannt und einen etwas zu neuen Chipsatz angesprochen haben könnte.


Ich verwendete übrigens das pkgsrc aus dem Release, und das musste ich bootstrappen. Vorher ging gar nichts.

Aber vermutlich werde ich die Maschine neu aufsetzen, und das vermutlich mit einem etwas älteren devuan Linux. Ganz einfach, weil ich ganz dringend einen Rechner brauche, an dem es keinen Konflikt mit meinem Drucker gibt (aktuelles Problem mit neueren Linux-Kernen und Udev), und den ich zügig mit Binärpaketen aufsetzen kann.

NetBSD 9 kommt dann auf einen noch zu beschaffenden etwas moderneren alten Rechner, wohl wieder 32 bittig. Auf dem kann ich dann nach Herzenslust Pakete bauen.
 
Hier meine Tipps:

1. Lade dir dieses pkgsrc runter
2. Entpacke oder linke es in /usr , also /usr/pkgsrc sollte da sein
3. Kein bootstrap, dafür erstelle eine /etc/mk.conf
4. Editiere die und trage dort alles ein. Notfalls schicke ich dir eine
5. make install clean clean-depends, nur das Editieren was fehlerhaft ist.
6. die xorg.conf von dem einen ist nicht gleich die xorg.conf des anderen PCs
7. Wenn überhaupt nötig, dann X -configure und editieren.
8. Section "Device" ist wichtig, hier AccelMethod anpassen, z.B. SNA oder UXA
9. Option TearFree mal setzen oder auch NoAccel testen

Wenn du Zeit hast installiere 9.0 neu, nich 8.x und wenn möglich den amd64 Port! Wieviel RAM hast du? Kaufe dir solide 64bit Hardware, keine alten Rechner die nur i386 unterstützen!!!

Frage wenn's nicht weiter geht!

Viel Erfolg und viele Grüße
Franco
 
Neu installiert wird vermutlich wirklich 9.0 werden - 8.2 nur dann, wenn ich flott ein produktives System aufsetzen muss. Das 8.x habe ich ja schon am Laufen. Da kommt höchstens noch ein Cups aus den Binärdateien drauf. Ich muss halt dringend das Druckproblem lösen - es ist irgendwie doof, wenn man wegen so einem Mist keine Rechnungen schreiben kann.
 
NetBSD 9 kommt dann auf einen noch zu beschaffenden etwas moderneren alten Rechner, wohl wieder 32 bittig. Auf dem kann ich dann nach Herzenslust Pakete bauen.

Ich kann mir gut vorstellen das du gute gründe hast die jew. Hardware verwenden zu wollen, sieh das bitte nicht als "madig" machen oder so, das ist nur ein tipp für den Fall das du noch nicht selbst auf die Idee gekommen bist:

Man findet hier wortwörtlich im Schrott oder für 10-15 EUR bei ebay kleinanzeigen & co alte Geräte mit mindestens Core2Duo oder der ersten und 2. i5 Generation oder auch die AMD-Pendants (Phenom 2 e.t.c), teilweise auch mit etwas mehr Glück noch etwas neuere Geräte.

Die sind um welten (!) schneller als die ersten 32-bittigen Atom-Prozessoren unterstützen 4GB Ram+ und nicht nur mit viel glück mehr als 2 GB Ram, und son Core2Duo Notebook wie mein X61 braucht auch nicht mehr strom.
 
Der Grund für die Atoms ist ja tatsächlich nur, dass sie vorhanden sind und zumindest der größere der beiden Rechner noch ganz gut verwendbar ist. Ansonsten weiß ich natürlich, dass ein 1.6 GHz Atom erheblich langsamer als meine beiden noch älteren Pentium Ms ist, die ich auch noch besitze (die haben leider nur 1 GB Ram, einen hab ich bis Ende letzten Jahres aufbewahren müssen, weil da bis dahin steuerlich relevante Daten drauf sind.)...

Bisher waren die 2 Gig Ram übrigens noch kein Problem, sehr wohl aber 1 Gig.
 
RAM kommt ja auch sehr darauf an, was man machen will. Unter FreeBSD ist 1 GB für X11, ein paar Terminals und Vim mehr als ausreichend. Da NetBSD sehr wahrscheinlich mit weniger RAM für den Kernel auskommt, sollten die 1 GB für minimales Gebastel locker ausreichen. Wenn es mehr sein soll, würde ich aber auch ganz unabhängig vom System zu 4 GB raten. Darunter machen moderne Anwendungen, vor allem Browser, einfach keinen Spaß mehr.
 
Hier meine Tipps:

1. Lade dir dieses pkgsrc runter
2. Entpacke oder linke es in /usr , also /usr/pkgsrc sollte da sein
Das pkgsrc 2019Q4 ist doch das, was im image von NetBSD 9.0 auch mit drauf ist?

3. Kein bootstrap, dafür erstelle eine /etc/mk.conf
4. Editiere die und trage dort alles ein. Notfalls schicke ich dir eine
Ich habe jetzt bereits gebootstrapped und etliche GB zusammenkompiliert. Vieles davon unbeabsichtigt (make im übergeordneten Verzeichnis nachts um 4...), viel über dependencies.

Ach so: make oder bmake?
Ich mache grad mal ein rekursives make clean clean-depends über alles

6. die xorg.conf von dem einen ist nicht gleich die xorg.conf des anderen PCs
7. Wenn überhaupt nötig, dann X -configure und editieren.
In diesem Fall waren die Chipsätze gleich, ebenso die Bildschirmauflösung. Aber das hat sich wohl erledigt - der andere Rechner hat wohl einen Platinenbruch am Netzwerkstöpsel.

Wenn du Zeit hast installiere 9.0 neu, nich 8.x und wenn möglich den amd64 Port! Wieviel RAM hast du? Kaufe dir solide 64bit Hardware, keine alten Rechner die nur i386 unterstützen!!!
Die Atom-Maschine hab ich nicht extra gekauft - die ist halt noch über. Und vergleichsweise sehr gut ausgetattet: 2GB Ram und 240GB SSD. Läuft halt nur noch am Netz. Kaufen würde ich sowas natürlich nicht mehr. Ich habe aber ein CoreDuo-Notebook mit 4GB RAM und SSD im Zulauf - extra zum "spielen". Ich tendiere da ebenfalls eher zu einem 32-bittigen NetBSD - den Speicher kann ich ja noch komplett addressieren. Und ich kann meine bisherigen mühsam zusammengebauten Pakete nutzen...
 
@beate
Deine mühsam zusammengebauten Pakete? Ich denke du steigst dann auf 9.0 um? Dann solltest du packages für 9.0 nutzen!

Ob du PAE unter i386 benutzt oder gleich die 4GB mit amd64 richtig adressierst ist eine andere Sache. Ich benutze nur noch den amd64 Port, es gibt weniger Probleme. Alles andere habe ich dir geschrieben.

VG aus LE
Franco
 
Es gibt zwei Atom-Rechner, einen mit 8.0 und einen mit 9.0. Der mit 8.0 ist defekt, auf dem mit 9.0 versuche ich, Pakete zu bauen.

Für 4 GB brauch ich aber noch kein PAE - das ist der physikalische Adressraum von 32 Bit ;-) Und m.W. sind die i386-Kernel auch ohne PAE gebaut, weil die ja auch auf noch älteren Altlasten laufen können sollen. (Ich hab da noch einen Pentium M mit NetBSD 7, bei dem leider die Festplatte zu kleben scheint... schade eigentlich ... die Kiste ist ja deutlich schneller als der Atom)

Aber mal was anderes: ich hab grad Streß mit einem Programm. Außerhalb des PKG-Baums - es muss noch gehörig debugged werden. Scheinbar erfolgreich zusammengelinkt, aber trotzdem findet es beim Start die X11-Bibliotheken nicht??

Code:
gcc -fomit-frame-pointer -ffixed-ebx -ffixed-ebp  -o stonx cpu.o  io.o main.o native.o utils.o ikbd.o debug.o blitter.o mem.o audio.o midi.o gemdos.o ui.o screen.o fdc.o bios.o syscalls.o memarray.o sfp.o toserror.o cookie.o mint/mint_comm.o mint/mint_stonxfs_fs.o mint/mint_stonxfs_dev.o mint/mint_interface.o mint/mint_serial.o mint/mint_misc.o x.o xlib_vdi.o code0000.o code0300.o code0600.o code0900.o code1200.o code1500.o -lossaudio -L/usr/X11R7/lib  -lSM -lICE -lXext -lX11
bash-5.0$ ./stonx 

./stonx: Shared object "libSM.so.7" not found

dementsprechend sagt mir

Code:
bash-5.0$ ldd ./stonx
./stonx:
        -lossaudio.1 => /usr/lib/libossaudio.so.1
        -lc.12 => /usr/lib/libc.so.12
        -lSM.7 => not found
        -lICE.7 => not found
        -lXext.7 => not found
        -lX11.7 => not found

obwohl die angeblich fehlenden Bibliotheken alle an ihren Plätzen sind (ich hab das geprüft)???? Das sind alles doch ganz grundlegende X11-Bibliotheken, die ich aus der Distribution heraus installiert hatte?
 
Zuletzt bearbeitet:
@beate
Nun einen Kernel kann man ganz schnell selber bauen, auch mit PAE wenn man will. Natürlich brauchst du das bei deinen noch 4GB nicht, aber wenn du RAM aufrüstest willst und bei deinem 32bit System bleibst schon. Soweit ich weiß, bekommst du von deinen 4GB aktuell nur 3,2GB real genutzt, aber das ist alles nicht das Problem in deinem Rechner scheinbar.

Ich kann dir bei deinem Bauen nicht helfen, da du völlig andere Grundvoraussetzungen hast als ich sie kenne und habe. Ich baue seit ewigen Zeiten alles selber, meist ohne größere Probleme und die Pakete auf Mega zeigen, dass es auch geht.

Fang einfach nochmal mit einer sauberen Installation und einer anderen Herangehensweise an!

VG und viel Erfolg
Franco
 
Mhmm, im Augenblick läuft alles durch, und erwartungsgemäß hakt es auch zunehmend weniger.
Leider finde ich in der Dokumentation nicht, wie man im Sourcecode die gesetzten Abhängigkeiten untersucht, und dann passieren blöde Sachen ... z.B. dass ein Make in curl auch gleich noch einen kleinen Webserver bauen will. Das ist genauso lästig wie die Unsitte in den Linuxen, zu jedem Paket auch noch etliche "empfohlene" Pakete zu installieren. Gibt es da einen Flag, den ich in mk.conf setzen kann?

Eigentlich will ich ja, dass ein Make irgendwo wirklich nur das baut, was wirklich notwendig ist. Und nicht den halben Paketbaum, und den möglichst noch mehrfach.

Ich glaube übrigens nicht, dass da was geschossen ist. Ich habe wohl ungünstig angefangen und kämpfe noch ziemlich mit den Details des Systems (und damit, dass z.B. Gentoos portage etwas detaillierter und für Neueinsteiger besser geeigneter dokumentiert ist.)

Zum anderen Nebenthema - stonx und die X-Bibliotheken.

Das Problem mit stonx hat überhaupt nichts mit dem Paketsystem zu tun. ich habe da einfach eine ganz normale Installation des 32-bit i386 und ein Programm, dass ich in meinem unprivilegierten Konto übersetzt habe; es wird nichts vorausgesetzt, was erst über PKGSRC ins System gekommen ist.

Ich sehe aber, dass andere simple X-Anwendungen - xteddy z.B. - diese Bibliotheken ein zweites Mal zu bauen scheinen. Und da sehe ich, dass es hier nötig ist, dem Linker den Suchpfad für die Bibliotheken ein zweites Mal mitzugeben (also -L/pfad -Wl,R/pfad). Da muss man erst mal drauf kommen;-) stonx scheint also so Pi mal Daumen zu laufen, und subjektiv flotter als sein Gegenstück aus der Distro, aranym. Es lohnt sich also, dranzubleiben.
 
Zuletzt bearbeitet:
Interessanterweise scheint es jetzt einigermaßen rund zu laufen, nachdem ich über den kompletten Dateibaum ein rekursive make clean geschickt habe. Und neu gebootet, weil ich ihr ein anderes Plätzchen spenieren wollte. Sogar dicke Brocken wie gtk- und qt-webkit, die ja gerne mal beim Bauen hakeln.

Den ersten Webbroser habe ich auch schon am laufen: surf, ein äußerst minimalistischer kleiner Browser, der aber für das, was ich mit der kleinen alten Kiste mittelfristig eigentlich will, gut geeignet sein könnte.
 
Zurück
Oben