The plib package for game-engines is only distributed as sources, and I'm following the instructions to a T, I believe; got all the dependencies, or I thought so, but when I run ./configure it says there is no working GL.
This is very odd to me, because I got libglut-dev AND libglut3.12 already installed, as well as freeglut3-dev and all the mesa packages.
Below is the full output:
danw58@danw58-MS-7E12:~/Downloads/zip/plib/plib-1.8.5$ ./autogen.sh
Running aclocal
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
Running automake
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:14: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see:
configure.in:14: https://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
configure.in:34: installing './compile'
src/fnt/Makefile.am:9: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
src/js/Makefile.am:11: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/net/Makefile.am:11: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/psl/Makefile.am:15: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/puAux/Makefile.am:23: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/pw/Makefile.am:9: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/sg/Makefile.am:11: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/sl/Makefile.am:15: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/ssg/Makefile.am:32: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/ssgAux/Makefile.am:34: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
Running autoconf
configure.in:14: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.
./lib/autoconf/general.m4:2434: AC_DIAGNOSE is expanded from...aclocal.m4:429: AM_INIT_AUTOMAKE is expanded from...
configure.in:14: the top level
configure.in:309: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.in:309: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.in:309: the top level
configure.in:377: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.in:377: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
configure.in:377: the top level
configure.in:377: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.in:377: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2823: _AC_COMPILE_IFELSE is expanded from...
./lib/autoconf/general.m4:2839: AC_COMPILE_IFELSE is expanded from...
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
configure.in:377: the top level
configure.in:394: warning: AC_OUTPUT should be used without arguments.
configure.in:394: You should run autoupdate.
======================================
Now you are ready to run './configure'
======================================
danw58@danw58-MS-7E12:~/Downloads/zip/plib/plib-1.8.5$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/home/danw58/Downloads/zip/plib/plib-1.8.5/missing: Unknown `--is-lightweight' option
Try `/home/danw58/Downloads/zip/plib/plib-1.8.5/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
includedir changed to ${prefix}/include/plib libdir is ${exec_prefix}/lib
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ranlib... ranlib
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for pthread_create in -lpthread... no
checking for glNewList in -lGL... no
checking for glNewList in -lMesaGL... no
configure: error: could not find working GL library
danw58@danw58-MS-7E12:~/Downloads/zip/plib/plib-1.8.5$
OK so after spinning up a fresh 24.04 instance I think I finally figured out the issue (which is nothing to do with the Ubuntu version, as it happens).
the configure script tests for X11 support by compiling and a test program that calls
XrmInitialize
and linking it against the X Toolkit Intrinsics library libXt:As it happens, this fails - because
XrmInitialize
is not in libXt, it's in libX11 - however the script doesn't care (it just assumes that the build will continue without X11 support)It then goes ahead and checks for POSIX thread and GL support but tries to link these test programs against a different set of X11 libraries anyway:
and
In my case, both tests fail on the fresh installation because although libX11 and libXext are present, libXi (X11 input library) and libXmu (X11 miscellaneous utility library) are not. It then erroneously reports the failures as missing pthread and GL functionality.
After installing libxi-dev and libxmu-dev packages, the
./configure
script succeeds, however it still reportschecking for X... no
so you may find you need to run./configure LIBS=-lX11
to force the XrmInitialize test to succeed as well.