Hi all. Sorry in advance for any spelling blurb as i am using match sticks to hold me eyes open. I found a bug in the mesa, particularly related to the include files used in src/gallium/x11 files that contain the include egllog.h that define _elLog cant find the it. Not sure if the environment variable set for the source code under the gallium directory is not set right. Put simply even though the include is specified in the source file it does not actually include it and hence the compile fails due to "undefined reference _eglLog" Seems that it only ever fails to compile when gallium has been enabled. egl enabled with gles1 and 2 is fine but enable gallium and the compile error occurs. Hope it helps.
Aaa poop. I meant to type /src/gallium/state_trackers/egl/x11 as the directory in the source code to the file that includes egllog.h but does not seem to actually find the egllog.h file path at compile time. native_x11.c was one of the files that bunked out on compile so i picked it to see why. Of course other files that use the egllog.h include compile fine but not any of them.
Post a build log.
(In reply to comment #2) > Post a build log. I would love to but now it compiles fine. It seems that when you compile and install it first with -gallium -opnvg -xa disabled it compiles and installs. After that if you recompile it with the above 3 enabled it compiles fine. i guess it pulls the ellog header from the location it is installed to in the system. I shall run a build on the 10.1 version and see if it still compiles fine and see if i can output the buildlog at the same time.
As predicted. Trying to compile the new version bunked out on the same compile failure. Here is a short snippet while ill attach the main buildlog file to the attachments. ../../../../src/gallium/state_trackers/egl/.libs/libegl.a(egl_g3d_sync.o): In function `_eglGetSync': /var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/../../../../src/egl/main/eglsync.h:68: undefined reference to `_eglGetResource' ../../../../src/gallium/state_trackers/egl/.libs/libegl.a(egl_g3d_sync.o): In function `_eglPutSync': /var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/../../../../src/egl/main/eglsync.h:79: undefined reference to `_eglPutResource' ../../../../src/gallium/state_trackers/egl/.libs/libegl.a(egl_g3d_sync.o): In function `egl_g3d_client_wait_sync': /var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/common/egl_g3d_sync.c:230: undefined reference to `_eglGetCurrentContext' ../../../../src/gallium/state_trackers/egl/.libs/libegl.a(egl_g3d_sync.o): In function `egl_g3d_signal_sync': /var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/common/egl_g3d_sync.c:269: undefined reference to `_eglError' ../../../../src/gallium/state_trackers/egl/.libs/libegl.a(native_dri2.o): In function `dri2_surface_process_drawable_buffers': /var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/x11/native_dri2.c:171: undefined reference to `_eglLog' /var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/x11/native_dri2.c:169: undefined reference to `_eglLog' ../../../../src/gallium/state_trackers/egl/.libs/libegl.a(native_dri2.o): In function `dri2_display_init_screen': /var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/x11/native_dri2.c:824: undefined reference to `_eglLog' /var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/x11/native_dri2.c:840: undefined reference to `_eglLog' ../../../../src/gallium/state_trackers/egl/.libs/libegl.a(native_x11.o): In function `native_create_display': /var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/x11/native_x11.c:43: undefined reference to `_eglLog' ../../../../src/gallium/state_trackers/egl/.libs/libegl.a(x11_screen.o):/var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/state_trackers/egl/x11/x11_screen.c:274: more undefined references to `_eglLog' follow collect2: error: ld returned 1 exit status libtool: install: error: relink `egl_gallium.la' with the above command before installing it gmake[4]: *** [install-eglLTLIBRARIES] Error 1 gmake[4]: Leaving directory `/var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/targets/egl-static' gmake[3]: *** [install-am] Error 2 gmake[3]: Leaving directory `/var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/targets/egl-static' gmake[2]: *** [install-recursive] Error 1 gmake[2]: Leaving directory `/var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src/gallium/targets' gmake[1]: *** [install-recursive] Error 1 gmake[1]: Leaving directory `/var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64/src' make: *** [install-recursive] Error 1 * ERROR: media-libs/mesa-10.0.4::gentoo failed (install phase): * emake failed * * If you need support, post the output of `emerge --info '=media-libs/mesa-10.0.4::gentoo'`, * the complete build log and the output of `emerge -pqv '=media-libs/mesa-10.0.4::gentoo'`. * The complete build log is located at '/var/tmp/portage/media-libs/mesa-10.0.4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/media-libs/mesa-10.0.4/temp/environment'. * Working directory: '/var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4-amd64' * S: '/var/tmp/portage/media-libs/mesa-10.0.4/work/Mesa-10.0.4' >>> Failed to emerge media-libs/mesa-10.0.4, Log file: >>> '/var/tmp/portage/media-libs/mesa-10.0.4/temp/build.log' I am almost certain this has something to do with the compile/build process locating its include files folder.
Created attachment 96130 [details] Build log for mesa 10.0.4 followup for Matt Turner As promised here is the build log for the build fail on the include dependencies _eglLog and a few others which seem related to the same condition or failt. thanks
Same problem exists in latest stable branch 10.0.4
All the binaries produced by Mesa have no-undefined, since this cannot happen any more. Not to mention that st/egl has been nuked from the tree a while ago.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.