O pacote plib para motores de jogo é distribuído apenas como fontes, e estou seguindo as instruções ao máximo, acredito; tenho todas as dependências, ou pensei assim, mas quando executo ./configure diz que não há GL funcionando.
Isso é muito estranho para mim, porque eu já tenho libglut-dev E libglut3.12 instalados, assim como freeglut3-dev e todos os pacotes mesa.
Abaixo está a saída completa:
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, então depois de criar uma nova instância 24.04, acho que finalmente descobri o problema (que não tem nada a ver com a versão do Ubuntu, na verdade).
o script de configuração testa o suporte ao X11 compilando e um programa de teste que o chama
XrmInitialize
e vincula à biblioteca libXt do X Toolkit Intrinsics:Na verdade, isso falha - porque
XrmInitialize
não está na libXt, está na libX11 - no entanto, o script não se importa (ele apenas assume que a construção continuará sem o suporte do X11)Em seguida, ele verifica o thread POSIX e o suporte GL, mas tenta vincular esses programas de teste a um conjunto diferente de bibliotecas X11 de qualquer maneira :
e
No meu caso, ambos os testes falham na nova instalação porque, embora libX11 e libXext estejam presentes, libXi (biblioteca de entrada X11) e libXmu (biblioteca de utilitários diversos X11) não estão. Em seguida, ele relata erroneamente as falhas como falta de funcionalidade pthread e GL.
Depois de instalar os pacotes libxi-dev e libxmu-dev, o
./configure
script é bem-sucedido, no entanto, ele ainda informa,checking for X... no
então você pode achar que precisa executar./configure LIBS=-lX11
para forçar o sucesso do teste XrmInitialize também.