I just turned on --with-osmesa and configure fails for me:
checking for -lOSMesa... not found configure: error: libOSMesa development files not found (or too old), OpenGL rendering in bitmaps won't be supported. This is an error since --with-osmesa was requested
config.log output would suggest that perhaps the test is being treated as C code, but libOSMesa needs to link with C++ libs.
configure:9067: checking for -lOSMesa configure:9092: gcc -o conftest -g3 -feliminate-unused-debug-symbols -O0 -mtune=core2 conftest.c -lOSMesa -lSM -lICE -lXext -lX11 -lm >&5 /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `operator delete[](void*)' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `operator new(unsigned long)' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `_glapi_get_proc_address' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `operator delete(void*)' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `_glapi_get_dispatch_table_size' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `operator new[](unsigned long)' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `__cxa_pure_virtual' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `__gxx_personality_v0' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `_glapi_get_context' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `vtable for __cxxabiv1::__class_type_info' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `_glapi_add_dispatch' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `_glapi_check_multithread' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `_glapi_tls_Context' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `_glapi_set_context' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `_glapi_set_dispatch' /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libOSMesa.so: undefined reference to `_glapi_tls_Dispatch' collect2: ld returned 1 exit status
This is on Gentoo x64 with:
media-libs/mesa-8.1_rc1_pre20120814 (classic egl g3dvl gallium llvm nptl osmesa shared-glapi vdpau xvmc -bindist -d3d -debug -gbm -gles1 -gles2 -kernel_FreeBSD -openvg -pax_kernel -pic -r600-llvm-compiler -selinux -video_cards_i915 -video_cards_i965 -video_cards_intel -video_cards_nouveau -video_cards_r100 -video_cards_r200 -video_cards_r300 -video_cards_r600 -video_cards_radeon -video_cards_radeonsi -video_cards_vmware -wayland -xa -xorg)
sys-devel/gcc-4.6.3 (cxx fortran graphite mudflap multilib nls nptl openmp -altivec -bootstrap -build -doc -fixed-point -gcj -go -gtk -hardened -libssp -multislot -nocxx -nopie -nossp -objc -objc++ -objc-gc -test -vanilla)
Any suggestions as to how this could be fixed? My autoconf skills are no match for this problem :-(
Thanks.
That's a Mesa bug (https://bugs.freedesktop.org/show_bug.cgi?id=47824). It might be fixed in current Mesa git, but you should be able to avoid it by disabling shared-glapi either way.
Peter Urbanec winehq.org@urbanec.net writes:
Any suggestions as to how this could be fixed? My autoconf skills are no match for this problem :-(
libOSMesa should be built without shared-glapi, we can't use it otherwise.
On 24/08/12 18:17, Alexandre Julliard wrote:
libOSMesa should be built without shared-glapi, we can't use it otherwise.
I rebuilt media-libs/mesa-8.1_rc1_pre20120814 without shared-glapi, but even then I get link errors during configure. Seems to be a missing dependency on C++ runtime.
I've had to resort to the attached hack to get configure for wine64 to complete on Gentoo x64. I'm not submitting this as a patch, because I'm not anywhere near sure whether this is the right way of actually solving the underlying issue. Unfortunately, I can't configure wine32, even with this hack, because the 32-bit packages for 64-bit Gentoo are supplied as pre-compiled binaries and osmesa is disabled in those.
Can I build wine64 --with-osmesa and WoW wine32 --without-mesa and still expect things to work?
Best regards,
Peter Urbanec