sonnenblen.de - Das unabhängige Sun User Forum
Software => Programmieren, Kompilieren => Thema gestartet von: escimo am 08. März 2009, 18:19:41
-
Hallo zusammen,
ich beschäftige mich derzeit etwas mit dem TME ("The Machine Emulator").
Weitere Infos:
- Seite von Matt Fredette (http://people.csail.mit.edu/fredette/tme/) zu seinem TME (en)
- Seite auf Sun3zoo.de (http://www.sun3zoo.de/de/tme.html) (de)
Diese Software ermöglicht das Emulieren von folgenden Sun Systemen:
- Sun-2/120 (68k)
- Sun-3/150/160 (68k)
- Sun-4/75 (SPARC)
Mich interessiert hier speziell die Emulation einer Sun-4 (SPARCstation 2 und höher), womit sich angeblich SunOS 4.x betreiben lassen soll. *lechz*
Natürlich kann man unter QEMU (http://) (Buch (http://qemu-buch.de/)) mit GNU/Linux ähnliche Ergebnisse erzielen. Doch da ich mit QEMU (noch) nicht zufrieden bin, versuche ich es mit dieser Alternative. "Ich möchte eine mobile SPARCstation mit ``fädd, grlglr-ass´´ SunOS zum rumsenieren!" ;)
Unter Solaris 10 5/08 (amd64) sowie Ubuntu 8.10 (amd64) hatte ich bis jetzt leider keinen Erfolg mit dem Übersetzungslauf. Bei dem verwendeten Skripten kommt es immer wieder zu Parser-Fehlern beim Übersetzungslauf. Ich werde es nach Installation von Ubuntu 8.10 (i386) unter VirtualBox 2.1 den Compile-Versuch wiederholen und hoffen, dass dieses Mal alles glatt geht.
Später mehr.
Grüße,
escimo
-
Ich werde es nach Installation von Ubuntu 8.10 (i386) unter VirtualBox 2.1 den Compile-Versuch wiederholen und hoffen, dass dieses Mal alles glatt geht.
Nichts da. Bricht mit Fehler bei gtk-mouse.c (implizite Deklaration) ab - ARSCH! Muss man sich immer um alles kümmern? >:( (Damit ich mich nicht zweimal mit identischen Inhalt aufregen muss: ...!*-X (http://www.sonnenblen.de/index.php/topic,5629.msg34116.html#msg34116)... )
Werde die Abhängigkeiten auch gleich selbst übersetzen. Ich berichte ein anderes Mal. Heute habe ich keinen Nerv mehr.
-
Hi escimo!
Freu dich nicht zu früh - TME ist ja schließlich noch 0.6, also Alpha-Qualität.
Meine Erfahrungen mit TME möchte ich wiefolgt zusammenfassen: Es fehlt noch das Quäntchen "X" zur Version 1.0.
"X" heisst: Netzwerk.
Um es kurz zu machen, ich habe Netzwerk nur in folgender Konstellation ans Laufen bekommen: Wirt: PC unter NetBSD 3.0, Gast: NetBSD 1.6.3 bei Sun3-Emulation.
Sun4 - Nada. SunOS4 Nada. Linux, Solaris: dito.
Dabei funktioniert zumindest in der Sun3-Emulation schon soooo viel...
Und auch Sun4 ist sehr vielversprechend.
Selbst mit SunOS 4.1.1 oder 4.1.4 bin ich ziemlich weit gekommen. Unter Sun3 kann ich sogar X11 starten, kompilieren und Frame-Maker hochfahren. Das klappt sowohl mit einem x86-Linux als auch einem sparc-Sol10 Wirt.
Aber Netzwerk... man braucht die dappischen bpf (Berkeley packet filter)
Ich hab mal in die Sourcen reingeguckt, aber davon verstehe ich zu wenig, um das umzuschreiben. Sollte ja nicht so schwer sein, /dev/nit oder libpcode oder so... dachte ich. Pfeifendeckel.
Tschüß
Peter
-
Mal eine Frage zum Verständnis. Ich habe vor, die Software einer Sparcstation5 mit SunOS ??? unter QEMU laufen zu lassen. Wirt x86 System mit Linux. Kann man Hoffnung haben? Ist es grundsätzlich möglich Plattenabzüge per dd in so einen Emulator einzubinden? Danke für Eure Mühen.
-
Hallo madnex,
sorry, die Kombination QEMU+SunOS funktioniert noch nicht. Bestrebungen gehen wohl in die Richtung, doch so weit ist es leider noch nicht.
Grüße,
escimo
-
Alles zum ausflippen: warum kann man unter Gentoo TME "einwandfrei" aus den Quellen übersetzen aber Ubuntu "zickt" in der 32-Bit chroot-Umgebung rum. Und da habe ich GLIB 2.0 und GTK 1.2 ohne Probleme übersetzen und installieren können unterhalb /usr/local...
Der Compiler erkennt die folgenden Zeilen als Fehler und bricht ab, da beim Kompilieren der Schalter -Werror gesetzt ist:
(intrepid)root@inovo:~/projects/tme/tme-0.6# make
make all-recursive
make[1]: Entering directory `/home/sx/projects/tme/tme-0.6'
Making all in tme
make[2]: Entering directory `/home/sx/projects/tme/tme-0.6/tme'
Making all in generic
make[3]: Entering directory `/home/sx/projects/tme/tme-0.6/tme/generic'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/sx/projects/tme/tme-0.6/tme/generic'
Making all in ic
make[3]: Entering directory `/home/sx/projects/tme/tme-0.6/tme/ic'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/sx/projects/tme/tme-0.6/tme/ic'
Making all in machine
make[3]: Entering directory `/home/sx/projects/tme/tme-0.6/tme/machine'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/sx/projects/tme/tme-0.6/tme/machine'
Making all in scsi
make[3]: Entering directory `/home/sx/projects/tme/tme-0.6/tme/scsi'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/sx/projects/tme/tme-0.6/tme/scsi'
make[3]: Entering directory `/home/sx/projects/tme/tme-0.6/tme'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/sx/projects/tme/tme-0.6/tme'
make[2]: Leaving directory `/home/sx/projects/tme/tme-0.6/tme'
Making all in libltdl
make[2]: Entering directory `/home/sx/projects/tme/tme-0.6/libltdl'
make all-am
make[3]: Entering directory `/home/sx/projects/tme/tme-0.6/libltdl'
make[3]: Leaving directory `/home/sx/projects/tme/tme-0.6/libltdl'
make[2]: Leaving directory `/home/sx/projects/tme/tme-0.6/libltdl'
Making all in libtme
make[2]: Entering directory `/home/sx/projects/tme/tme-0.6/libtme'
make all-am
make[3]: Entering directory `/home/sx/projects/tme/tme-0.6/libtme'
if /bin/bash ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I. -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/include/X11 -D_TME_IMPL -DTME_NO_LOG -DTME_NO_DEBUG_LOCKS -DTME_NO_AUDIT_ATOMICS -DNDEBUG -g -O2 -Wundef -Wall -Werror -MT misc.lo -MD -MP -MF ".deps/misc.Tpo" \
-c -o misc.lo `test -f 'misc.c' || echo './'`misc.c; \
then mv ".deps/misc.Tpo" ".deps/misc.Plo"; \
else rm -f ".deps/misc.Tpo"; exit 1; \
fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I. -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/include/X11 -D_TME_IMPL -DTME_NO_LOG -DTME_NO_DEBUG_LOCKS -DTME_NO_AUDIT_ATOMICS -DNDEBUG -g -O2 -Wundef -Wall -Werror -MT misc.lo -MD -MP -MF .deps/misc.Tpo -c misc.c -o misc.o
if /bin/bash ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I. -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/include/X11 -D_TME_IMPL -DTME_NO_LOG -DTME_NO_DEBUG_LOCKS -DTME_NO_AUDIT_ATOMICS -DNDEBUG -g -O2 -Wundef -Wall -Werror -MT threads-sjlj.lo -MD -MP -MF ".deps/threads-sjlj.Tpo" \
-c -o threads-sjlj.lo `test -f 'threads-sjlj.c' || echo './'`threads-sjlj.c; \
then mv ".deps/threads-sjlj.Tpo" ".deps/threads-sjlj.Plo"; \
else rm -f ".deps/threads-sjlj.Tpo"; exit 1; \
fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I. -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/include/X11 -D_TME_IMPL -DTME_NO_LOG -DTME_NO_DEBUG_LOCKS -DTME_NO_AUDIT_ATOMICS -DNDEBUG -g -O2 -Wundef -Wall -Werror -MT threads-sjlj.lo -MD -MP -MF .deps/threads-sjlj.Tpo -c threads-sjlj.c -o threads-sjlj.o
if /bin/bash ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I. -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/include/X11 -D_TME_IMPL -DTME_NO_LOG -DTME_NO_DEBUG_LOCKS -DTME_NO_AUDIT_ATOMICS -DNDEBUG -g -O2 -Wundef -Wall -Werror -MT memory-auto.lo -MD -MP -MF ".deps/memory-auto.Tpo" \
-c -o memory-auto.lo `test -f 'memory-auto.c' || echo './'`memory-auto.c; \
then mv ".deps/memory-auto.Tpo" ".deps/memory-auto.Plo"; \
else rm -f ".deps/memory-auto.Tpo"; exit 1; \
fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I. -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/include/X11 -D_TME_IMPL -DTME_NO_LOG -DTME_NO_DEBUG_LOCKS -DTME_NO_AUDIT_ATOMICS -DNDEBUG -g -O2 -Wundef -Wall -Werror -MT memory-auto.lo -MD -MP -MF .deps/memory-auto.Tpo -c memory-auto.c -o memory-auto.o
if /bin/bash ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I. -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/include/X11 -D_TME_IMPL -DTME_NO_LOG -DTME_NO_DEBUG_LOCKS -DTME_NO_AUDIT_ATOMICS -DNDEBUG -g -O2 -Wundef -Wall -Werror -MT module.lo -MD -MP -MF ".deps/module.Tpo" \
-c -o module.lo `test -f 'module.c' || echo './'`module.c; \
then mv ".deps/module.Tpo" ".deps/module.Plo"; \
else rm -f ".deps/module.Tpo"; exit 1; \
fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I. -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/include/X11 -D_TME_IMPL -DTME_NO_LOG -DTME_NO_DEBUG_LOCKS -DTME_NO_AUDIT_ATOMICS -DNDEBUG -g -O2 -Wundef -Wall -Werror -MT module.lo -MD -MP -MF .deps/module.Tpo -c module.c -o module.o
cc1: warnings being treated as errors
module.c: In function 'tme_module_open':
module.c:245: error: format not a string literal and no format arguments
module.c:255: error: format not a string literal and no format arguments
module.c:297: error: format not a string literal and no format arguments
module.c:322: error: format not a string literal and no format arguments
make[3]: *** [module.lo] Error 1
make[3]: Leaving directory `/home/sx/projects/tme/tme-0.6/libtme'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/sx/projects/tme/tme-0.6/libtme'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sx/projects/tme/tme-0.6'
make: *** [all] Error 2
(intrepid)root@inovo:~/projects/tme/tme-0.6# uname -a
Linux inovo 2.6.27-16-generic #1 SMP Tue Dec 1 19:26:23 UTC 2009 i686 GNU/Linux
Google brachte mir folgendes:
https://wiki.ubuntu.com/CompilerFlags#-Wformat%20-Wformat-security (https://wiki.ubuntu.com/CompilerFlags#-Wformat%20-Wformat-security)
Da ich den Code nicht anfassen will, schlägt mir die Seite folgendes vor:
Disabled with -Wno-format-security or -Wformat=0 in CPPFLAGS.
Nun muss ich nur noch eine Stelle finden wo ich das geeignetermaßen einfüge... :-\
-
Nun muss ich nur noch eine Stelle finden wo ich das effektiv einfüge... :-\
Folgendes brachte keine Erfolg:
- configure.in: CPPFLAGS = ... -Wformat=0
- Makefile: CPPFLAGS = ... -Wformat=0
Dann habe ich es mit einer Setzen der Umgebungsvariable probiert:
(Shell)> # export CPPFLAGS = " ${CPPFLAGS-} -Wformat=0 "
Nach "sh ./configure --disable-shared -with-x"
und "make" habe ich jetzt folgende Fehler (hier man kommt zumindest etwas weiter):
...
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -I. -D_TME_IMPL -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/include/X11 -DTME_NO_LOG -DTME_NO_DEBUG_LOCKS -DTME_NO_AUDIT_ATOMICS -DNDEBUG -Wformat=0 -Wundef -Wall -Werror -MT gtk-mouse.lo -MD -MP -MF .deps/gtk-mouse.Tpo -c gtk-mouse.c -o gtk-mouse.o
cc1: warnings being treated as errors
gtk-mouse.c: In function '_tme_gtk_mouse_mouse_event':
gtk-mouse.c:170: error: implicit declaration of function '_tme_gtk_mouse_warp_pointer'
make[3]: *** [gtk-mouse.lo] Error 1
make[3]: Leaving directory `/home/sx/projects/tme/tme-0.6/host/gtk'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/sx/projects/tme/tme-0.6/host'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sx/projects/tme/tme-0.6'
make: *** [all] Error 2
Wenn das so weitergeht, bin ich nächstes Jahr immer noch nicht fertig und da ist es bekanntlich nicht mehr lange hin... :P
-
ich glaube mit dem rausschmeissen von -Werror ersparst du dir ne Menge Arbeit. Ansonsten Header finden der _tme_gtk_mouse_warp_pointer enthaelt und #includen.
Mfg. Erisch
-
Hi Erisch,
danke für den Tipp. Ich habe in der Datei "configure.in" den Schalter "-Werror" rausgenommen:
-Werror
Make all warnings into hard errors. Source code which triggers
warnings will be rejected.
(intrepid)root@inovo:~/projects/tme/tme-0.6# make
cd . && /bin/bash /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
/home/sx/projects/tme/tme-0.6/missing: line 46: aclocal-1.7: command not found
WARNING: `aclocal-1.7' is missing on your system. You should only need it if
you modified `acinclude.m4' or `configure.in'. You might want
to install the `Automake' and `Perl' packages. Grab them from
any GNU archive site.
cd . && \
/bin/bash /home/sx/projects/tme/tme-0.6/missing --run automake-1.7 --gnu Makefile
aclocal.m4:48: error: m4_defn: undefined macro: _m4_divert_diversion
aclocal.m4:48: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
automake-1.7: autoconf failed with exit status: 1
make: *** [Makefile.in] Error 1
Jetzt findet der beim Build das Kommando aclocal-1.7 nicht. Hat das System vollkommen recht, unter diesem Namen gibt es das auch nicht:
(intrepid)root@inovo:~/projects/tme/tme-0.6# which aclocal
/usr/bin/aclocal
(intrepid)root@inovo:~/projects/tme/tme-0.6# aclocal --version
aclocal (GNU automake) 1.10.1
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Tom Tromey <tromey@redhat.com>
and Alexandre Duret-Lutz <adl@gnu.org>.
(intrepid)root@inovo:~/projects/tme/tme-0.6# ls -l /usr/bin/aclocal
lrwxrwxrwx 1 root root 25 2009-09-30 18:45 /usr/bin/aclocal -> /etc/alternatives/aclocal
(intrepid)root@inovo:~/projects/tme/tme-0.6# ls -l /etc/alternatives/aclocal
lrwxrwxrwx 1 root root 21 2009-09-30 18:45 /etc/alternatives/aclocal -> /usr/bin/aclocal-1.10
(intrepid)root@inovo:~/projects/tme/tme-0.6# ls -l /usr/bin/aclocal-1.10
-rwxr-xr-x 1 root root 31139 2008-05-03 02:38 /usr/bin/aclocal-1.10
Und das geht jetzt munter so weiter:
(intrepid)root@inovo:~/projects/tme/tme-0.6# grep -inR "aclocal-1.7" ./*
./bus/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./bus/sbus/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./bus/multibus/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./config.log:2693:ACLOCAL='${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7'
./config.status:538:s,@ACLOCAL@,${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7,;t t
./generic/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./host/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./host/posix/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./host/gtk/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./host/bsd/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./ic/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./ic/ieee754/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./ic/sparc/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./ic/m68k/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./libltdl/Makefile:39:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/libltdl/missing --run aclocal-1.7
./libltdl/config.status:490:s,@ACLOCAL@,${SHELL} /home/sx/projects/tme/tme-0.6/libltdl/missing --run aclocal-1.7,;t t
./libltdl/config.log:1613:ACLOCAL='${SHELL} /home/sx/projects/tme/tme-0.6/libltdl/missing --run aclocal-1.7'
./libtme/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./machine/sun4/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./machine/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./machine/sun3/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./machine/sun2/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./machine/sun/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./scsi/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./serial/Makefile:74:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./tme/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./tme/machine/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./tme/scsi/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./tme/generic/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./tme/ic/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./tmesh/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
./tools/Makefile:43:ACLOCAL = ${SHELL} /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
Da muss ich wohl noch so einiges anpassen ::)
(intrepid)root@inovo:~/projects/tme/tme-0.6# make clean
cd . && \
/bin/bash /home/sx/projects/tme/tme-0.6/missing --run automake-1.7 --gnu Makefile
aclocal.m4:48: error: m4_defn: undefined macro: _m4_divert_diversion
aclocal.m4:48: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
automake-1.7: autoconf failed with exit status: 1
make: *** [Makefile.in] Error 1
(intrepid)root@inovo:~/projects/tme/tme-0.6# which automake
/usr/bin/automake
(intrepid)root@inovo:~/projects/tme/tme-0.6# ls -l /usr/bin/automake
lrwxrwxrwx 1 root root 26 2009-09-30 18:45 /usr/bin/automake -> /etc/alternatives/automake
(intrepid)root@inovo:~/projects/tme/tme-0.6# ls -l /etc/alternatives/automake
lrwxrwxrwx 1 root root 22 2009-09-30 18:45 /etc/alternatives/automake -> /usr/bin/automake-1.10
(intrepid)root@inovo:~/projects/tme/tme-0.6# ls -l /usr/bin/automake-1.7
lrwxrwxrwx 1 root root 22 2009-12-16 18:45 /usr/bin/automake-1.7 -> /usr/bin/automake-1.10
-
(intrepid)root@inovo:~/projects/tme/tme-0.6# make
cd . && /bin/bash /home/sx/projects/tme/tme-0.6/missing --run aclocal-1.7
acinclude.m4:35: warning: underquoted definition of AC_CHECK_ALIGNOF
acinclude.m4:35: run info '(automake)Extending aclocal'
acinclude.m4:35: or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
configure.in:173: warning: macro `AM_PATH_GTK' not found in library
acinclude.m4:35: error: m4_defn: undefined macro: _m4_divert_diversion
acinclude.m4:35: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal-1.7: autom4te failed with exit status: 1
make: *** [aclocal.m4] Error 1
Naja, das will ja nun überhaupt nicht - nur am meckern. Die Sources sind beim Versuch sie zu kompilieren fast so schlimm wie ich. Ich sehe mich schon ein Gentoo oder RedHat in einer VM installieren, da ich davon ausgehe, der Build funktioniert in einer anderen GNU/Linux-Distribution.
Und das alles nur, um
1) meine SPARCstation2 mitnehmen zu können, wo ich mit dem Laptop hingehe
2) für den Fall eines Hardware-Tods der SPARCstation2 ich noch einen Hauch von SunOS4@SPARC und SPARCompiler-Kit habe
Wenn ich wüsste wo ich anfangen muss, würde ich mir meinen eigenen SPARC-Emulator schreiben und der geht dann nur unter den von mir genutzten Betriebssystem(-Varianten) :P
-
Habe mich mal etwas schlau gemacht: m4 kann u.a. die Definition für das Macro "AM_PATH_GTK" nicht finden. Das ist unterhalb des Quellcode-Verzeichnisses von TME nicht enthalten, sondern wird in der Datei gtk.m4 im Quellcode-Stammverzeichnis von GTK+ 1.2 definiert:
AC_DEFUN(AM_PATH_GTK,
[...]
Dem Kommando aclocal kann mittels Option "-I path/to/directory/with/m4_files/" zusätzlich ein Suchpfad für Macro-Definitionen mit übergeben werden.
Ich bin mir jetzt noch nicht sicher an welcher Stelle ich das wie hinzufüge, doch "kommt Zeit kommt Rat".
-
, doch "kommt Zeit kommt Rat".
...und kommt der Rat nicht, kommt seine Frau....
Der musste einfach sein
-
Unglaublich aber war: es gibt Neuigkeiten.
Auf der folgenden Seite habe ich zufällig gelesen, dass Matt Fredette seinen TME weiterentwickelt hat, um u.a. sun4u (Ultra1) zu unterstützen:
http://tyom.blogspot.com/2010/07/tme-strikes-back.html (http://tyom.blogspot.com/2010/07/tme-strikes-back.html)
Letzte Änderung der Seite: June 6 2010
http://people.csail.mit.edu/fredette/tme/index.html (http://people.csail.mit.edu/fredette/tme/index.html)
Da lese ich auch was von Martux (http://www.martux.org/)- eine Art Backport von OpenSolaris für Ultra1/2-Systeme mit UltraSPARC-1. Interessant.
Obwohl ich den TME unter Ubuntu 8.10 (64-Bit) bis dato nicht übersetzen kann und derzeit auch TOD-Probleme mit der SS2 kann ich mich derzeit nicht drum bemühen. Vielleicht kommt jemand von Euch dazu die neue Version (Alpha-Release) auszuprobieren.
Viele Grüße,
escimo
-
Lang ist es her, doch diesesmal ist es geschafft. :)
Nachdem ich mir endlich die Zeit genommen habe, läuft zumindest die TME Version 0.6, um mir eine Sun-4/75 (SPARCstation 2) zu "emulieren" mit Bild auf Notebook mit Ubuntu 10.04 (32-Bit)
TME-0.6(Sun-4/75) unter Ubunut 10.04 (32-Bit) (http://escimo.lima-city.de/tme/sun4c_toosy_tme_1.png)
Nachher habe ich dann noch den IDPROM mit der Host-ID und der MAC meiner aktiven SPARCstation 2 "reprogrammieren".
Aktuell installiere ich testweise mal das vorgegebene NetBSD 3.1 / SPARC, später kommt dann das SunOS 4.1.4 drauf.
Wenn jemand noch ne exaktere Anleitung zur Compilierung TME benötigt, der möge sich bitte melden.
Viele Grüße,
escimo
EDIT: So richtig arbeiten lässt sich damit nun überhaupt nicht. Die Tasten für '/' und ';' sind einfach net machbar. Jedesmal bekomme ich ein '?'. In der Datei sun-keyboards.txt ist zumindest der Scan- und Break-Code korrekt nach SPARC KBD Spec. Habe bis jetzt noch keinen Weg gefunden ein Slash oder Semikolon zu zaubern, auch das Gleichheitszeichen geht nur mit Umwegen und auch net einzeln, sondern nur zusammen mit '+'.
Vergleiche ich die Scan-Codes mit showkey unter Linux stimmt nichts mehr... ???
-
EDIT: So richtig arbeiten lässt sich damit nun überhaupt nicht. Die Tasten für '/' und ';' sind einfach net machbar. Jedesmal bekomme ich ein '?'. In der Datei sun-keyboards.txt ist zumindest der Scan- und Break-Code korrekt nach SPARC KBD Spec. Habe bis jetzt noch keinen Weg gefunden ein Slash oder Semikolon zu zaubern, auch das Gleichheitszeichen geht nur mit Umwegen und auch net einzeln, sondern nur zusammen mit '+'.
Einen kleinen Teilerfolg. Das Slash-Zeichen '/' habe ich über die "Divisions-Taste" des Num-Tastaturblocks erzeugen können.
-
URSACHE für nicht darstellbare Tastatur-Sonderzeichen
Das für TME dienende Host-OS Ubuntu ist mit der deutschen Tastatur-Einstellung nicht kompatibel.
LÖSUNG 1
Sobald man das US-Tastaturlayout/-Mapping Host-seitig aktiviert kann das gewünschte (Sonder-)Zeichen (u.a. '/', ';', '=') auch innerhalb des TME (inkl. Guest-OS) dargestellt werden.
LÖSUNG 2
Versuch eines eigenen Mappings für sun-keyboards.txt ... in Arbeit.
Update: Inzwischen ist für die SS2-Emulation in TME ein lauffähiges SunOS 4.1.3 installiert wie die folgenden Screenshots zeigen.
- Setzen MAC + HostID für NVRAM (http://escimo.lima-city.de/tme/sun4c_toosy_tme_2.png)
- Hoffentlich unbedeutende Fehlermeldung im OBP und Ausgabe von .idprom (http://escimo.lima-city.de/tme/sun4c_toosy_tme_3.png)
- Paketauswahl SunOS 4.1.3 (http://escimo.lima-city.de/tme/sun4c_toosy_tme_4.png)
- Installation SunOS 4.1.3 (http://escimo.lima-city.de/tme/sun4c_toosy_tme_5.png)
- Start SunOS 4.1.3 (http://escimo.lima-city.de/tme/sun4c_toosy_tme_7.png)
- SunView unter SunOS 4.1.3 (http://escimo.lima-city.de/tme/sun4c_toosy_tme_6.png)