tme-0.8 - The Machine Emulator

  • Links:

    http://www.abiyo.net/retrocomp…un3emulatedintme08onlinux

    https://people.csail.mit.edu/fredette/tme/


    Leider ist das Ding "ziemlich zickig" - was compilieren/linken angeht - steigt bei mir mit folgendem Fehler aus:


    Lt. google sollen libs in der Reihenfolge geändert werden..?? Hatte versucht -lX11 dran zu packen.. ohne Erfolgt.


    Mein Linux System: Linux Mint 19 32bit.


    Hat jemand von euch mehr Erfolg?


    Habe leider auch keine Windows Version (exe) gefunden, die man mal unter Wine hätte testen können..


    Peter

    github.com/petersieg

  • Wenn Du Sun emulieren willst, solltest Du das aktuelle MAME mal probieren, in den letzten zwei Versionen hat sich da eine Menge getan.


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Hallo Josef.


    Leider keine Änderung (make clean; export LIBS..; configure..; make).


    Code
    /usr/bin/ld: /usr/lib/gcc/i686-linux-gnu/7/../../../i386-linux-gnu/libgtk-x11-2.0.so: undefined reference to symbol 'g_source_remove'
    /usr/lib/gcc/i686-linux-gnu/7/../../../i386-linux-gnu/libglib-2.0.so: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status



    Gruss Peter

    github.com/petersieg

  • Welche GTK-Version wird verwendet? Ich wage mich zu entsinnen, dass es für tme-0.6 eine bestimmte Mimimal-Version >= 2.0.0 sein musste. Ob das mit einer 3.0'er geht, k.A. Ggf haben sich bestimmt Referenzen geändert!? EDIT: log gibt 2.24.32 aus


    Aus dem INSTALL bzgl X11

    Code
    For packages that use the X Window System, `configure' can usually
    find the X include and library files automatically, but if it doesn't,
    you can use the `configure' options `--x-includes=DIR' and
    `--x-libraries=DIR' to specify their locations.

    (...) - identischer Fehler. Siehe Log.

    Extrahiert bei mir (nur Handy verfügbar) nix außer dem Verzeichnis. Hat die zu extrahierende Datei "Leerzeichen" im Dateinamen? So kann ich mir das Log net anschauen. :( EDIt: ist ein gzip komprimiertes Archiv, der Suffix .zip ist irreführend. Zum Glück gibt es file. :fp:


    ngc224 bei dir lässt sich das als 64-bit binary übersetzen und linken? Beweis bitte mit ldd && file. - Bei Ubuntu 8.10 64-Bit wollte mir das mit 0.6 nicht glücken. K.A. ob sich da was bei 0.8 in Richtung 64-Bit Unterstützung des Host-OS getan hat aber Sinn würde es machen, bei Unterstützung einer Ultra 1 (UltraSPARC-I 64-Bit CPU).

    2 Mal editiert, zuletzt von escimo ()

  • linux-4232:/home/josef/tme-0.8-test1 # ldd tmesh/tmesh

    linux-vdso.so.1 (0x00007ffd25fb6000)

    libm.so.6 => /lib64/libm.so.6 (0x00007f57ba563000)

    libltdl.so.3 => /usr/local/lib64/libltdl.so.3 (0x00007f57ba35b000)

    libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x00007f57b9d1b000)

    libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x00007f57b9a63000)

    libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007f57b9853000)

    libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007f57b962b000)

    libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f57b92f3000)

    libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f57b90cb000)

    libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f57b8d2b000)

    libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007f57b8b13000)

    libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f57b88c3000)

    libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f57b866b000)

    libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f57b8353000)

    libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f57b810b000)

    libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f57b7e63000)

    libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f57b7b1b000)

    libc.so.6 => /lib64/libc.so.6 (0x00007f57b775b000)

    /lib64/ld-linux-x86-64.so.2 (0x00007f57ba8b3000)

    libdl.so.2 => /lib64/libdl.so.2 (0x00007f57b7553000)

    libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f57b734b000)

    libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f57b7143000)

    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f57b6f23000)

    libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f57b6d13000)

    libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f57b6b0b000)

    libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f57b68f3000)

    libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f57b66e3000)

    libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f57b64d3000)

    libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007f57b62cb000)

    libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007f57b60c3000)

    libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f57b5eab000)

    libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007f57b5c03000)

    libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007f57b59eb000)

    libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f57b57a3000)

    libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f57b559b000)

    libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f57b536b000)

    libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f57b515b000)

    libz.so.1 => /lib64/libz.so.1 (0x00007f57b4f43000)

    libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f57b4cab000)

    librt.so.1 => /lib64/librt.so.1 (0x00007f57b4aa3000)

    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f57b4873000)

    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f57b465b000)

    libmount.so.1 => /usr/lib64/libmount.so.1 (0x00007f57b4403000)

    libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f57b415b000)

    libthai.so.0 => /usr/lib64/libthai.so.0 (0x00007f57b3f4b000)

    libffi.so.7 => /usr/lib64/libffi.so.7 (0x00007f57b3d3b000)

    libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f57b3aab000)

    libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f57b3873000)

    libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f57b3653000)

    libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007f57b339b000)

    libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f57b3193000)

    libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007f57b2f5b000)

    libblkid.so.1 => /usr/lib64/libblkid.so.1 (0x00007f57b2d0b000)

    libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f57b2ae3000)

    libdatrie.so.1 => /usr/lib64/libdatrie.so.1 (0x00007f57b28db000)

    libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f57b26d3000)


    linux-4232:/home/josef/tme-0.8-test1 # file tmesh/tmesh

    tmesh/tmesh: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=294c952f47e4bb05b322ef5df1802b274a91a5bb, with debug_info, not stripped

    linux-4232:/home/josef/tme-0.8-test1 #

  • Code
    checking which variable specifies run-time library path... LD_LIBRARY_PATH                            checking for the default library search path... /lib /usr/lib /usr/lib/i386-linux-gnu/libfakeroot /usr/local/lib/i386-linux-gnu /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /usr/local/lib/i686-linux-gnu /l
    ib/i686-linux-gnu /usr/lib/i686-linux-gnu /usr/local/lib

    Ich sehe nirgends , das X11 header oder libs in einem Pfad auftauchen, außer da wo sie referenziert werden aber nicht gefunden werden DSO (dynamic shared object)


    Code
    /usr/lib/i386-linux-gnu/libX11.so.6: error adding symbols: DSO missing from command line

    Ich würde auch behaupten, das die X11-Libs *.so* nicht "gefunden werden.

  • Zuerst einmal: Danke für eure Zeit und Mühen!


    Leider immer noch Fehler:


    ./configure --disable-warnings --disable-shared --x-includes="/usr/include/X11" --x-libraries="/usr/lib/i386-linux-gnu"


    Eigentlich sollte doch bereits configure alles finden, was es braucht zum make - oder mit Fehler aussteigen..?


    Wenn es nicht will - soll es halt nicht sein.. unendlich viel Zeit will ich hier nicht investieren..


    Peter

  • Hallo Peter,


    Es scheint klar ein Umgebungsspezifisches Problem zu sein. Ich gehe davon aus, die FM ist eindeutig, nur der Nutzer (wir) ignorieren den inhaltlichen Wert (noch).


    Hättest du die Möglichkeit die Ausgabe von...

    # ls -l /usr/lib/i386-linux-gnu/libX11*

    ...zu posten? In diesem Verz wird nach der Lib (DSO) gesucht. I.d.R besteht die Ref auf die Lib aus einem/mehreren Symlinks auf reguläre DSO(s).


    Dann hätte ich gern (soweit eine Symboltabelle im Code vorhanden) gern die Ausgabe von

    # nm /usr/lib/i386-linux-gnu/<libX11_regular_filename>.so | grep -i "XKeysymToString"

    Die GTK Lib (Zeile 2) referenziert auf eine Func in der X11 Lib die nicht gefunden wird.


    Auch das explizite setzen der Umg-Var...

    # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/i386-linux-gnu:.

    ...zum Auffinden dee DSO könnte hier noch was bringen.


    Vllt schaffe ich es am WE mal das Mate un die VM zu installieren und das ganze nachzuspielen.


    Gruß, Stephan

    Einmal editiert, zuletzt von escimo ()

  • 1.)

    ich@ich-Macmini:~$ ls -l /usr/lib/i386-linux-gnu/libX11*

    -rw-r--r-- 1 root root 2038034 Aug 29 2018 /usr/lib/i386-linux-gnu/libX11.a

    lrwxrwxrwx 1 root root 15 Aug 29 2018 /usr/lib/i386-linux-gnu/libX11.so -> libX11.so.6.3.0

    lrwxrwxrwx 1 root root 15 Aug 29 2018 /usr/lib/i386-linux-gnu/libX11.so.6 -> libX11.so.6.3.0

    -rw-r--r-- 1 root root 1344352 Aug 29 2018 /usr/lib/i386-linux-gnu/libX11.so.6.3.0

    -rw-r--r-- 1 root root 1002 Aug 29 2018 /usr/lib/i386-linux-gnu/libX11-xcb.a

    lrwxrwxrwx 1 root root 19 Aug 29 2018 /usr/lib/i386-linux-gnu/libX11-xcb.so -> libX11-xcb.so.1.0.0

    lrwxrwxrwx 1 root root 19 Aug 29 2018 /usr/lib/i386-linux-gnu/libX11-xcb.so.1 -> libX11-xcb.so.1.0.0

    -rw-r--r-- 1 root root 5228 Aug 29 2018 /usr/lib/i386-linux-gnu/libX11-xcb.so.1.0.0


    2.)

    ich@ich-Macmini:~$ nm /usr/lib/i386-linux-gnu/libX11.so.6.3.0 | grep XKeysymToString

    nm: /usr/lib/i386-linux-gnu/libX11.so.6.3.0: no symbols


    Peter

    github.com/petersieg

  • $ file //usr/lib/x86_64-linux-gnu/libX11.so.6.3.0

    //usr/lib/x86_64-linux-gnu/libX11.so.6.3.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aacac1cf51d6d882d550625af3f0ef955f98f814, stripped


    ...ok ist "stripped", da ist standardmäßig keine Symboltabelle vorhanden.

    Auch das doppelte Wurzelverzeichnis "//" störrt nicht.

    Die Funktion ist grundsätzlich, laut manpage in der XLib enthalten

    $ man -k XKeysymToString

    XKeysymToString (3) - convert keysyms


    Irgendwas läuft auf dem Teil total schräg. Der findet ja so gut wie keine Libs, u.a. auch nicht

    /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so

    /usr/lib/i386-linux-gnu/libglib-2.0.so


    Bitte mal LD_LIBRARY_PATH vor dem Configure-Lauf im selben Fenster oder in der .profile hinterlegen, ggf. sourcen und erneut laufen lassen, so wie (als Punkt 3?) von mir angegeben.


    Ich probiere es parallel mal unter Xubuntu 18.04LTS 32-Bit, das ich gerade verfügbar habe in einer VM. Mate muß ich mir erst noch ziehe bzw. installieren.

  • Also ich bekomme den Fehler von dir, Peter, (noch) nicht. Dafür werde ich mit etwas anderem abgestraft.

    Warnings abschalten ist hier wohl Pflicht. Das ganze Prozedere hatte ich schon 2010-2011 mit tme-0.6: https://sonnenblen.de/index.php/topic,5782.0.html

    Der Link verweist auf einen Artikel aus dem Jahr 2011 mit Ubuntu 10.10. Auch nicht up-to-date


    Mal schauen...wo

    Über den Fehler hilft das natürlich nicht. Da ist man ggf gezwungen Hand an den Code zu legen.

    Dazu steht auch was im Changelog, Zeile 150

    * libtme/module.c: Undefine lt_preloaded_symbols, in an attempt to be

    forward-compatible with newer libltdls than our libtool knows about.


    Nachdem ich Werror aus der configure.in rausgenommen habe...

    Code
    if test "x$enable_warnings" = "xyes" -a "x$GCC" = "xyes"; then
      #CFLAGS="${CFLAGS-} -Wundef -Wall -Werror"
      CFLAGS="${CFLAGS-} -Wundef -Wall"
      CXXFLAGS="${CXXFLAGS-} -W"
    fi

    ...geht das Gewussel geht weiter...diesesmal ist alles zu neu.


    $ autoconf --version

    autoconf (GNU Autoconf) 2.69

    Copyright (C) 2012 Free Software Foundation, Inc.

    (...)


    Die Distro-Tools scheinen schlicht zu modern. :fp:

    Kein Wunder, dass openSuse das mitmacht. Die sind immer hinterher... :evil:


    Zwei Möglichkeiten sehe ich:

    1. alle alten Libs ziehen und in einer separaten Build-Umgebung übersetzen, ohne Referenzen chroot ggf.

    2. den Code anpassen, damit es mit up-to-date Libs und Tools kompatibel wird.

    Ich gebe zwar noch nicht auf, aber da muss man sich in Ruhe mit beschäftigen und dazu habe ich leider aktuell keine Zeit.

    Einmal editiert, zuletzt von escimo ()

  • Mit ihm hatte ich wegen einigen Fragen schon mal Kontakt und es sieht eher so, als ob Version 1.0 nicht mehr das Licht der Welt erblicken wird. GNU heißt inoffiziell bei mir auch manchmal "Gnu isN't yoUrs" was wiederum umgangssprachlich für "Passt dir net?! Mach es halt selbst!" steht. :ätsch:


    Ich werde mir die Version 0.8 auf jedenfall genauer im Zusammenhang mit den neueren Distros anschauen, das heißt in den Code schauen wie ein Schwein ins Uhrwerk. ::solder::

  • Also bei mir läßt sich tme-0.8 auch mit Linux Mint 19 / 32 Bit

    (in der Virtualbox) ohne Fehler compilieren.


    Ich mußte nur libgtk2.0-dev zusätzlich installieren und die

    Environment Variable LIBS setzen.


    josef@josef-VirtualBox:~$ printenv LIBS

    josef@josef-VirtualBox:~$ export LIBS='-lX11 -lglib-2.0'

    josef@josef-VirtualBox:~$ printenv LIBS

    -lX11 -lglib-2.0

    josef@josef-VirtualBox:~$ cd tme*8


    josef@josef-VirtualBox:~/tme-0.8$ uname -a

    Linux josef-VirtualBox 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:15:38 UTC 2018 i686 athlon i686 GNU/Linux


    josef@josef-VirtualBox:~/tme-0.8$ ./configure --disable-warnings --disable-shared

    josef@josef-VirtualBox:~/tme-0.8$ make

    .

    .

    .

    extracting global C symbols from `../scsi/.libs/tme_scsi.a'

    extracting global C symbols from `../serial/.libs/tme_serial_kb.a'

    (cd .libs && gcc -g -O2 -c -fno-builtin "tmeshS.c")

    rm -f .libs/tmeshS.c .libs/tmesh.nm .libs/tmesh.nmS .libs/tmesh.nmT

    gcc -g -O2 .libs/tmeshS.o -o tmesh tmesh.o ../bus/multibus/.libs/tme_bus_multibus.a ../bus/sbus/.libs/tme_bus_sbus.a ../generic/.libs/tme_generic.a ../host/gtk/.libs/tme_host_gtk.a ../host/posix/.libs/tme_host_posix.a ../ic/m68k/.libs/tme_ic_m68k.a ../ic/sparc/.libs/tme_ic_sparc.a /home/josef/tme-0.8/ic/ieee754/.libs/libtme-ieee754.a -lm ../ic/stp22xx/.libs/tme_ic_stp22xx.a ../ic/.libs/tme_ic_ad184x.a ../ic/.libs/tme_ic_am7930.a ../ic/.libs/tme_ic_am7990.a ../ic/.libs/tme_ic_am9513.a ../ic/.libs/tme_ic_i825x6.a ../ic/.libs/tme_ic_isil7170.a ../ic/.libs/tme_ic_lsi64854.a ../ic/.libs/tme_ic_mk48txx.a ../ic/.libs/tme_ic_mm58167.a ../ic/.libs/tme_ic_ncr5380.a ../ic/.libs/tme_ic_ncr53c9x.a ../ic/.libs/tme_ic_ncr89c105.a ../ic/.libs/tme_ic_nec765.a ../ic/.libs/tme_ic_stp2024.a ../ic/.libs/tme_ic_z8530.a ../machine/sun2/.libs/tme_machine_sun2.a ../machine/sun3/.libs/tme_machine_sun3.a ../machine/sun4/.libs/tme_machine_sun4.a /home/josef/tme-0.8/machine/sun/.libs/libtme-machine-sun.a ../scsi/.libs/tme_scsi.a ../serial/.libs/tme_serial_kb.a /home/josef/tme-0.8/generic/.libs/libtme-generic.a ./.libs/libtmesh.a -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig /usr/lib/i386-linux-gnu/libfreetype.so /home/josef/tme-0.8/libtme/.libs/libtme.a /home/josef/tme-0.8/libltdl/.libs/libltdl.a -ldl -lX11 -lglib-2.0

    rm -f .libs/tmeshS.o

    make[2]: Leaving directory '/home/josef/tme-0.8/tmesh'

    Making all in tools

    make[2]: Entering directory '/home/josef/tme-0.8/tools'

    make[2]: Nothing to be done for 'all'.

    make[2]: Leaving directory '/home/josef/tme-0.8/tools'

    make[2]: Entering directory '/home/josef/tme-0.8'

    make[2]: Leaving directory '/home/josef/tme-0.8'

    make[1]: Leaving directory '/home/josef/tme-0.8'



    josef@josef-VirtualBox:~/tme-0.8$ ldd tmesh/tmesh

    linux-gate.so.1 (0xb7f98000)

    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7ca0000)

    libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb77ab000)

    libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb76ea000)

    libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb768a000)

    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7685000)

    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb753b000)

    libglib-2.0.so.0 => /usr/lib/i386-linux-gnu/libglib-2.0.so.0 (0xb740b000)

    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb722f000)

    /lib/ld-linux.so.2 (0xb7f9a000)

    libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xb722a000)

    libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb721b000)

    libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb7212000)

    libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb71eb000)

    libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb709c000)

    libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xb7071000)

    libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb6e8a000)

    libpangoft2-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xb6e72000)

    libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb6e1f000)

    libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb6dd4000)

    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6db5000)

    libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb6da9000)

    libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb6da3000)

    libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb6d90000)

    libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb6d83000)

    libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xb6d77000)

    libXcomposite.so.1 => /usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xb6d73000)

    libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb6d6f000)

    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb6d5a000)

    libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb6d51000)

    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb6d25000)

    libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb6cae000)

    libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb6bf1000)

    libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xb6b40000)

    libpng16.so.16 => /usr/lib/i386-linux-gnu/libpng16.so.16 (0xb6b06000)

    libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xb6b02000)

    libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xb6af3000)

    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb6ad4000)

    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb6aca000)

    libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb6a9e000)

    libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb6a86000)

    libmount.so.1 => /lib/i386-linux-gnu/libmount.so.1 (0xb6a23000)

    libharfbuzz.so.0 => /usr/lib/i386-linux-gnu/libharfbuzz.so.0 (0xb697a000)

    libthai.so.0 => /usr/lib/i386-linux-gnu/libthai.so.0 (0xb696d000)

    libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb693b000)

    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb6937000)

    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb6930000)

    libblkid.so.1 => /lib/i386-linux-gnu/libblkid.so.1 (0xb68d8000)

    libgraphite2.so.3 => /usr/lib/i386-linux-gnu/libgraphite2.so.3 (0xb68a9000)

    libdatrie.so.1 => /usr/lib/i386-linux-gnu/libdatrie.so.1 (0xb68a0000)

    libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xb6885000)

    libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb687c000)


    josef@josef-VirtualBox:~/tme-0.8$ file tmesh/tmesh

    tmesh/tmesh: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=c55524876da360c001add1a49677c07dbd254038, with debug_info, not stripped

    josef@josef-VirtualBox:~/tme-0.8$


    Gruß,


    Josef

  • Erst mal noch ein Nachtrag bzgl nm. Gibt da ein besseres Tool: readelf und das "Symbol" wird auch in der Lib gefunden. Soweit so gut.

    Code
    $ readelf -s //usr/lib/i386-linux-gnu/libX11.so.6 | grep -i XKeysymToString
    291: 00023c60 604 FUNC GLOBAL DEFAULT 12 XKeysymToString


    Dann habe ich mal weitergeschaut in Google, wahrscheinlich die selbe Seite wie bei Peter bzgl. Anordnung/Auflistung der Abhängigkeiten:

    https://stackoverflow.com/ques…missing-from-command-line

    Danke für das Ausprobieren in der VBOX, Josef.

    Auf die Idee das für die Umgebung zu setzen bin ich nicht gekommen, war wohl (zu) einfach. ;)

    Dabei hatte ich die Zeile "LIBS = " im Makefile um "-lX11" erweitert, die -lglib-2.0 habe ich nicht gesetzt und der Fehler war der selbe wie bei Peter, weil die -lX11 überhaupt nicht auftauchte.

    Jetzt komme ich zwar über die eine Stelle drüber, aber jetzt fehlt ihm wieder ein Symbol.

    Ich probiere es unter xubuntu, habe aber die Ausführung noch etwas unrestriktiver gemacht (keine Warnings).

    Meine Anpassungen im Detail:

    Fehler jetzt:


    Mal nach "lt__PROGRAM__LTX_preloaded_symbols" schauen...

    Code
    $ basename $(pwd)
    tme-build
    
    $ grep -nr "lt__PROGRAM__LTX_preloaded_symbols" *
    Übereinstimmungen in Binärdatei libtme/module.o
    Übereinstimmungen in Binärdatei libtme/.libs/libtme.a
    
    $ nm libtme/.libs/libtme.a | grep lt__PROGRAM__LTX_preloaded_symbols
             U lt__PROGRAM__LTX_preloaded_symbols

    Wenn ich es out-of-the-box so wie bei Josef konfigurieren und übersetzen lasse, steigt er mit dem von mir im Beitrag weiter oben angegebenen Fehler aus, noch befor ich zum gtk-Teil komme. Daher hatte ich alle Warnings abgeschaltet und komme dann zumindest über definierte LIBS-Umgebungsvariable bis zum letzten angegebenen Fehler "lt__PROGRAM__LTX_preloaded_symbols"


    Zwischen den Umgebungskonfigs und Versionen scheinen Welten zu liegen liegen.

    Mit Mate habe ich es jetzt noch nicht probiert. Kann aber auch nicht die Lösung sein, nur damit es funktioniert auf eine andere Distro auszuweichen, zumal das zwischen Mate und (x)Ubuntu nur geringe Unterschiede bestehen sollten.

    Einmal editiert, zuletzt von escimo ()

  • Danke Josef für die Dateien.


    Unter Xubuntu 18.04LTS wurde es übersetzt.


    Ich habe in der module.c noch eine Zeile einkommentiert, die den letzten Fehler produziert hat, ohne weiter zu prüfen, ob das zu Problemen führt. Aber davon muss ich erst mal ausgehen. Wenn was fehlt wird mir das System das hoffentlich mitteilen


    Zusammengefasst gibt es in der tme-0.8/libtme/module.c jetzt zwei einkommentierte Zeilen bei mir unter Xubuntu 18.04LTS

    Irgendwie stimmt das aber auch nicht. Das Programm selbst ist dynamisch gelinkt und nicht statisch, was ich erwartet hätte.

    Muss mal schauen, ob das beim tme-0.6 unter Ubuntu 10.04LTS mit ldd auch so aussieht. Ich habe das alles schon wieder vergessen. Verdamte Sch...:wand:


    Im Anhang meine Dateien und Logs.

    env-Ausgabe sowie Configure- und Make-Ausgaben in der tme-0.8-build17.txt

    Die tmelib.a habe ich auch beigefügt, zwecks Symbolabgleich.

    ngc224  PeterSieg könntet ihr mir auch noch die tmelib.a anhängen oder mit meiner mal ein direkten diff machen, um zu sehen was außer dem einen Symbol noch fehlt?