Author Topic: autoconf issue  (Read 2657 times)

0 Members and 1 Guest are viewing this topic.

I got this error, though I've installed the xlibmesa-gl and -glu libraries.

Extract from config.log follows:
configure:4701: checking for glBindBufferARB in -lGL
configure:4731: gcc -o conftest -g -O2   conftest.c -lGL   >&5
/tmp/cc8PzEed.o(.text+0xa): In function `main':
/home/dsusman/freespace/cvs/fs2_open/conftest.c:35: undefined reference to `glBindBufferARB'
collect2: ld returned 1 exit status
configure:4737: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "fs2_open"
| #define PACKAGE_TARNAME "fs2_open"
| #define PACKAGE_VERSION "3.6.5"
| #define PACKAGE_STRING "fs2_open 3.6.5"
| #define NO_CD_CHECK 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define NDEBUG 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| /* end confdefs.h.  */
| /* Override any gcc2 internal prototype to avoid an error.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
|    builtin and then its argument prototype would still apply.  */
| char glBindBufferARB ();
| int
| main ()
| {
| glBindBufferARB ();
|   ;
|   return 0;
| }
configure:4762: result: no

I hope you don't end up telling me to compile it :(


Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
Originally posted by mrduckman
I got this error, though I've installed the xlibmesa-gl and -glu libraries.

I hope you don't end up telling me to compile it :(

You just need a newer version of Mesa.  Version 5 is the minimum that will work though I've only tested down to 5.0.2.  I've got precompiled x86 versions if you want but nothing for x86_64.

The old installer package for fs2_open from a year or so ago had the libs in it and a script that would detect if they needed to be used over the older system versions.  I can't remember the filename offhand but look though and the .run package should be there somewhere.  You can just extract the libs and the script and with a few minor modifications you can use it with any current x86 version of fs2_open.

I'll check the headers you have there. I haven't tested on the amd64, but on a plain x86. I'd be able to tell tomorrow, when I get back to work :P

Grrrr. Debian sarge has 4.2.1.. Compiling 6.2.1

Compiling fs2_open now. Seems you have to install Mesa 6.2.1 over the local installation.


Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
There is a configure option to tell it to use OpenGL libs from a specific directory (--with-ogl-libs=DIR) during the link phase.  You can set a CXXFLAGS environment variable to use the headers from a specific place.  I do this when I'm building 32-bit binaries on my 64-bit system, or when I'm just testing the Mesa libs.  Since I've got an NVIDIA card and drivers I can't install Mesa so this makes sure I can still compile and test with it at least.

If you've got an old Mesa installed already though it's probably better to replace it anyway.  New extension support and speed ups as well as the usual bug fixes make it a good thing.

Debian doesn't put the newest version in testing. only in unstable. and I don't dare to use unstable yet :P
I think I could try to add --with-ogl-incs= to the configure.
I'll let you of my progress.

Added to the cvs