cosmos72 / twin

Text mode window environment. A "retro" program for embedded or remote systems, that doubles as X11 terminal and text-mode equivalent of VNC server
Other
661 stars 39 forks source link

gpm headers and libs are present, configured with gpm support but no gpm support on linux tty #59

Closed gottaeat closed 4 years ago

gottaeat commented 4 years ago

on an x86_64 musl linux host, gpm support does not get built even if it is specified in the configure phase, even though the headers and libraries exist.

gpm libs and headers:

 $ [~]: find /usr/lib /usr/include | grep gpm
/usr/lib/libgpm.so.2.1.0
/usr/lib/libgpm.so.2
/usr/include/gpm.h

twin libraries are in the runtime linker path list:

 $ [~]: uname -rms
Linux 5.6.0-apathy-t61-r0.5-bmq x86_64
 $ [~]: cat /etc/ld-musl-x86_64.path
/lib
/usr/lib
/opt/twin/lib
/opt/llvm-9.0.1/lib
 $ [~]: echo $PATH
/opt/twin/bin:/opt/llvm-9.0.1/bin:/usr/sbin:/usr/bin:/sbin:/bin:/mss/bin:/home/mss/execs

error i'm getting:

 $ [work]:  twin
twin: starting display driver module `hw_xft'...
      X11_InitHW() failed: DISPLAY is not set
twin: ...module `hw_xft' failed to start.
twin: starting display driver module `hw_gfx'...
      gfx_InitHW() failed: DISPLAY is not set
twin: ...module `hw_gfx' failed to start.
twin: starting display driver module `hw_X11'...
      X11_InitHW() failed: DISPLAY is not set
twin: ...module `hw_X11' failed to start.
twin: starting display driver module `hw_twin'...
      TW_InitHW() failed: TWDISPLAY is not set
twin: ...module `hw_twin' failed to start.
twin: starting display driver module `hw_tty'...
      tty_InitHW(): gpm mouse support not compiled, skipping it.
      xterm_InitMouse() failed: this `linux' terminal
      has no support for xterm-style mouse reporting.

        ALL  MOUSE  DRIVERS  FAILED.

      If you really want to run `twin' without mouse
      hit RETURN within 10 seconds to continue,
      otherwise hit CTRL-C (or wait 10 seconds) to cancel.
twin: ...module `hw_tty' failed to start.
twin: unable to load display driver module `hw_ggi' :
      Error loading shared library /opt/twin/lib/twin/libhw_ggi-0.8.0.so: No such
file or directory
twin: all display drivers failed for `'

twin:  ALL  DISPLAY  DRIVERS  FAILED.  QUITTING.

directory listings of $PREFIX/twin/lib and $PREFIX/twin/lib/twin:

 $ [~]: ls -l /opt/twin/lib{,/twin}
/opt/twin/lib:
total 288K
-rwxr-xr-x 1 root root  921 Mar  4 00:40 libTutf.la
lrwxrwxrwx 1 root root   16 Mar  4 00:40 libTutf.so -> libTutf.so.1.0.0
lrwxrwxrwx 1 root root   16 Mar  4 00:40 libTutf.so.1 -> libTutf.so.1.0.0
-rwxr-xr-x 1 root root 159K Mar  4 00:40 libTutf.so.1.0.0
-rwxr-xr-x 1 root root  913 Mar  4 00:40 libTw.la
lrwxrwxrwx 1 root root   14 Mar  4 00:40 libTw.so -> libTw.so.5.0.0
lrwxrwxrwx 1 root root   14 Mar  4 00:40 libTw.so.5 -> libTw.so.5.0.0
-rwxr-xr-x 1 root root 115K Mar  4 00:40 libTw.so.5.0.0
drwxrwxr-x 2 root root 4.0K Mar  4 00:40 twin

/opt/twin/lib/twin:
total 692K
-rwxr-xr-x 1 root root  60K Mar  4 00:40 libhw_X11-0.8.0.so
-rwxr-xr-x 1 root root  977 Mar  4 00:40 libhw_X11.la
lrwxrwxrwx 1 root root   18 Mar  4 00:40 libhw_X11.so -> libhw_X11-0.8.0.so
-rwxr-xr-x 1 root root  23K Mar  4 00:40 libhw_display-0.8.0.so
-rwxr-xr-x 1 root root  970 Mar  4 00:40 libhw_display.la
lrwxrwxrwx 1 root root   22 Mar  4 00:40 libhw_display.so -> libhw_display-0.8.0.so
-rwxr-xr-x 1 root root  65K Mar  4 00:40 libhw_gfx-0.8.0.so
-rwxr-xr-x 1 root root  983 Mar  4 00:40 libhw_gfx.la
lrwxrwxrwx 1 root root   18 Mar  4 00:40 libhw_gfx.so -> libhw_gfx-0.8.0.so
-rwxr-xr-x 1 root root  58K Mar  4 00:40 libhw_tty-0.8.0.so
-rwxr-xr-x 1 root root  981 Mar  4 00:40 libhw_tty.la
lrwxrwxrwx 1 root root   18 Mar  4 00:40 libhw_tty.so -> libhw_tty-0.8.0.so
-rwxr-xr-x 1 root root  32K Mar  4 00:40 libhw_twin-0.8.0.so
-rwxr-xr-x 1 root root 1004 Mar  4 00:40 libhw_twin.la
lrwxrwxrwx 1 root root   19 Mar  4 00:40 libhw_twin.so -> libhw_twin-0.8.0.so
-rwxr-xr-x 1 root root  56K Mar  4 00:40 libhw_xft-0.8.0.so
-rwxr-xr-x 1 root root  994 Mar  4 00:40 libhw_xft.la
lrwxrwxrwx 1 root root   18 Mar  4 00:40 libhw_xft.so -> libhw_xft-0.8.0.so
-rwxr-xr-x 1 root root  72K Mar  4 00:40 librcparse-0.8.0.so
-rwxr-xr-x 1 root root  952 Mar  4 00:40 librcparse.la
lrwxrwxrwx 1 root root   19 Mar  4 00:40 librcparse.so -> librcparse-0.8.0.so
-rwxr-xr-x 1 root root 120K Mar  4 00:40 libsocket-0.8.0.so
-rwxr-xr-x 1 root root  950 Mar  4 00:40 libsocket.la
lrwxrwxrwx 1 root root   18 Mar  4 00:40 libsocket.so -> libsocket-0.8.0.so
-rwxr-xr-x 1 root root  58K Mar  4 00:40 libterm-0.8.0.so
-rwxr-xr-x 1 root root  934 Mar  4 00:40 libterm.la
lrwxrwxrwx 1 root root   16 Mar  4 00:40 libterm.so -> libterm-0.8.0.so
-rwxr-xr-x 1 root root  79K Mar  4 00:40 libwm-0.8.0.so
-rwxr-xr-x 1 root root  922 Mar  4 00:40 libwm.la
lrwxrwxrwx 1 root root   14 Mar  4 00:40 libwm.so -> libwm-0.8.0.so
-rwxr-xr-x 1 root root  759 Mar  4 00:40 system.twenvrc.sh
-rwxr-xr-x 1 root root  14K Mar  4 00:40 system.twinrc
gottaeat commented 4 years ago
 $ [twin-0.8.1]: ./configure --prefix=/opt/twin --enable-hw-tty-linux=yes --enable-term=yes --enable-term-devpts=ye --enable-hw-tty=yes --enable-hw-tty-lrawkbd=yes --enable-hw-tty-twterm=yes --enable-hw-tty-termcap=yes --enable-hw-display=yes --enable-ext=yes --enable-hw-ggi=yes > ../twin-config.log 2>&1
 $ [twin-0.8.1]: 
 $ [twin-0.8.1]: grep -i gpm ../twin-config.log
checking for library containing Gpm_Open... no
checking for Gpm_Event.wdy... yes

just saw this in the configure log, i'll try rebuilding gpm to see if that fixes anything.

gottaeat commented 4 years ago

ah, found it, i for some reason didn't have libgpm.so even though i had libgpm.so.2 and libgpm.so.2.1.0. creaing a symlink as '/usr/lib/libgpm.so' -> '/usr/lib/libgpm.so.2' fixed the problem:

 $ [lib]: doas -- ln -sfvin $PWD/libgpm.so.2 $PWD/libgpm.so
'/usr/lib/libgpm.so' -> '/usr/lib/libgpm.so.2'
 $ [lib]: ls -al /usr/lib/*gpm*
lrwxrwxrwx 1 root root  20 Mar  4 01:41 /usr/lib/libgpm.so -> /usr/lib/libgpm.so.2
lrwxrwxrwx 1 root root  15 Mar  4 01:36 /usr/lib/libgpm.so.2 -> libgpm.so.2.1.0
-rwxr-xr-x 1 root root 31K Mar  4 01:37 /usr/lib/libgpm.so.2.1.0
 $ [twin-0.8.1]: grep -i gpm ../twin-config.log
checking for library containing Gpm_Open... -lgpm
checking for Gpm_Event.wdy... yes
 $ [twin-0.8.1]:

apologies.