kjliew / qemu-3dfx

MESA GL/3Dfx Glide pass-through for QEMU
GNU General Public License v2.0
407 stars 54 forks source link

Problem compiling on Slackware 15.0 #144

Closed sateuwdie closed 3 weeks ago

sateuwdie commented 3 weeks ago

I do those commands on Slackware 15.0

KVMGROUP=${KVMGROUP:-kvm}
TARGETS=${TARGETS:-all}
VNC_ENABLE=${VNC_ENABLE:-yes}
AUDIODRIVERS=${AUDIODRIVERS:-pa,alsa,oss,sdl}
BRIDGE_HELPER_SETUID=${BRIDGE_HELPER_SETUID:-no}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/MG}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
  KVMARCH="i386"
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
  KVMARCH="i386"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
  KVMARCH="x86_64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

# Needed to build man pages if built after plain "su"
export PATH=$PATH:/usr/share/texmf/bin

set -e

# Remove double CFLAGS
sed -i "s|^\ \ CFLAGS=\"-O2\ |  CFLAGS=\"|" configure

# Enable only x86* and arm emulation for qemu: if you want to build
# all the targets available use TARGETS=all
if [ "$TARGETS" = "all" ]; then
  targets=""
else
  targets="--target-list=i386-softmmu,x86_64-softmmu,i386-linux-user,x86_64-linux-user,arm-softmmu,arm-linux-user,armeb-linux-user"
fi

# To omit VNC capability, use VNC_ENABLE=no
if [ "$VNC_ENABLE" = "yes" ]; then
  with_vnc="--enable-vnc --enable-vnc-sasl --enable-vnc-jpeg"
else
  with_vnc="--disable-vnc"
fi

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/opt/qemu-3dfx \
  --libdir=/opt/qemu-3dfx/lib${LIBDIRSUFFIX} \
  --sysconfdir=/opt/qemu-3dfx/etc \
  --localstatedir=/opt/qemu-3dfx/var \
  --docdir=/opt/qemu-3dfx/doc/$PRGNAM-$VERSION \
  --enable-gtk \
  --enable-system \
  --enable-kvm \
  --disable-debug-info \
  --enable-virtfs \
  --enable-sdl \
  --enable-nettle \
  --enable-spice \
  --enable-curses \
  --enable-linux-user \
  --enable-curl \
  --enable-virglrenderer \
  --enable-vnc \
  --enable-vnc-sasl \
  --enable-vnc-jpeg \
  --enable-seccomp \
  --enable-modules \
  --enable-membarrier \
  --enable-smartcard \
  --enable-libnfs \
  --enable-crypto-afalg \
  --enable-lzfse \
  --enable-vde \
  --enable-attr \
  --enable-alsa \
  --enable-bochs \
  --enable-bpf \
  --enable-bzip2 \
  --enable-cap-ng \
  --enable-cloop \
  --enable-coroutine-pool \
  --enable-crypto-afalg \
  --enable-dmg \
  --enable-docs \
  --enable-gio \
  --enable-glusterfs \
  --enable-gnutls \
  --enable-guest-agent \
  --enable-iconv \
  --enable-jack \
  --enable-libdaxctl \
  --enable-libiscsi \
  --enable-libpmem \
  --enable-libssh \
  --enable-libudev \
  --enable-libusb \
  --enable-linux-aio \
  --enable-linux-io-uring \
  --enable-linux-user \
  --enable-lzfse \
  --enable-lzo \
  --enable-modules \
  --enable-mpath \
  --enable-nettle \
  --enable-numa \
  --enable-curses \
  --enable-opengl \
  --enable-oss \
  --enable-pa \
  --enable-parallels \
  --enable-pie \
  --enable-qcow1 \
  --enable-qed \
  --enable-rdma \
  --enable-replication \
  --enable-snappy \
  --enable-spice-protocol \
  --enable-tools \
  --enable-tpm \
  --enable-usb-redir \
  --enable-vdi \
  --enable-vhost-crypto \
  --enable-vhost-kernel \
  --enable-vhost-net \
  --enable-vhost-user \
  --enable-vhost-user-blk-server \
  --enable-vhost-vdpa \
  --enable-vte \
  --enable-vvfat \
  --enable-xkbcommon \
  --enable-zstd \
  --disable-docs \
  --audio-drv-list=${AUDIODRIVERS} \
  $with_vnc \
  $targets

The compile phase give this error

/usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_3dfx_glidept_mm.c.o: in functionprocessArgs': glidept_mm.c:(.text+0x2997): undefined reference to glide_renderer_stat' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_3dfx_glidept_mm.c.o: in functionprocessFRet': glidept_mm.c:(.text+0x6eb): undefined reference to glide_renderer_stat' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_3dfx_glidewnd.c.o: in functionprofile_stat': glidewnd.c:(.text+0x1b0): undefined reference to glide_gui_fullscreen' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_3dfx_glidewnd.c.o: in functionstat_window': glidewnd.c:(.text+0x479): undefined reference to glide_gui_fullscreen' /usr/bin/ld: glidewnd.c:(.text+0x484): undefined reference toglide_window_stat' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_3dfx_glidewnd.c.o: in function fini_window': glidewnd.c:(.text+0x57c): undefined reference toglide_release_window' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_3dfx_glidewnd.c.o: in function init_window': glidewnd.c:(.text+0xa86): undefined reference toglide_gui_fullscreen' /usr/bin/ld: glidewnd.c:(.text+0xb76): undefined reference to glide_prepare_window' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mesagl_blit.c.o: in functionMesaBlitScale': mesagl_blit.c:(.text+0x1b7): undefined reference to mesa_gui_fullscreen' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mesagl_blit.c.o: in functionMesaRenderScaler': mesagl_blit.c:(.text+0xd3b): undefined reference to mesa_gui_fullscreen' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_linux.c.o: in functionMGLPresetPixelFormat': mglcntx_linux.c:(.text+0x3a1): undefined reference to mesa_prepare_window' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_linux.c.o: in functionMGLWndRelease': mglcntx_linux.c:(.text+0x852): undefined reference to mesa_release_window' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_mingw.c.o: in functionprofile_stat': mglcntx_mingw.c:(.text+0x14e): undefined reference to mesa_gui_fullscreen' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_mingw.c.o: in functiondeactivateOneshot': mglcntx_mingw.c:(.text+0x344): undefined reference to mesa_mouse_warp' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_mingw.c.o: in functiondeactivateSched': mglcntx_mingw.c:(.text+0x521): undefined reference to mesa_mouse_warp' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_mingw.c.o: in functiondeactivateOneshot': mglcntx_mingw.c:(.text+0x34c): undefined reference to mesa_renderer_stat' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_mingw.c.o: in functionMGLCursorDefine': mglcntx_mingw.c:(.text+0x351): undefined reference to mesa_cursor_define' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_mingw.c.o: in functionMGLMouseWarp': mglcntx_mingw.c:(.text+0x38f): undefined reference to mesa_mouse_warp' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_mingw.c.o: in functiondeactivateSched': mglcntx_mingw.c:(.text+0x44d): undefined reference to mesa_renderer_stat' /usr/bin/ld: mglcntx_mingw.c:(.text+0x52e): undefined reference tomesa_renderer_stat' /usr/bin/ld: libqemu-i386-softmmu.fa.p/hw_mesa_mglcntx_mingw.c.o: in function MGLActivateHandler': mglcntx_mingw.c:(.text+0x63e): undefined reference tomesa_renderer_stat' `

kjliew commented 3 weeks ago

A small donation to support the project & Game Preservation will have the QEMU prebuilt binaries delivered for you for your platform of choice. See details at https://github.com/kjliew/qemu-3dfx#donation. You're free to make inquiry on the supported platform of choice prior to making a donation.