[Mesa-dev] [Mesa-announce] Mesa 10.3 release candidate 1

Matt Turner mattst88 at gmail.com
Tue Nov 4 19:44:34 PST 2014

On Tue, Nov 4, 2014 at 8:35 AM, Ausmus, James <james.ausmus at intel.com> wrote:
> On Mon, Nov 3, 2014 at 8:12 PM, Matt Turner <mattst88 at gmail.com> wrote:
>> On Mon, Nov 3, 2014 at 7:35 PM, Ausmus, James <james.ausmus at intel.com>
>> wrote:
>> > I am able to reproduce this consistently with -j40 - it bisects to:
>> Thanks. Maybe you could give a little more information, like an error
>> message or something?
> Same error as Thierry reported in this thread in August:

Unfortunately Thierry's was from a re-run of make, so it wasn't useful.

> make[4]: Entering directory
> `/build/x86-alex/tmp/portage/media-libs/mesa-9999/work/Mesa-9999/src/mapi'
>   CC     glapi_libglapi_la-glapi_gentable.lo
>   CC     glapi_libglapi_la-glapi_dispatch.lo
>   CC     glapi_libglapi_la-glapi_entrypoint.lo
>   CC     glapi_libglapi_la-glapi_getproc.lo
>   CC     glapi_libglapi_la-glapi_nop.lo
>   CC     glapi_libglapi_la-glapi.lo
>   CC     glapi_libglapi_la-u_current.lo
>   CC     glapi_libglapi_la-u_execmem.lo
>   GEN    .libs/install-mesa-links
> touch: cannot touch '.libs/install-mesa-links': No such file or directory
> make[4]: *** [.libs/install-mesa-links] Error 1

Thanks, this is perfect. I think I see what's going on now.

I think the problem is related to the fact that these .la files are
put into subdirectories' .libs directories, rather than into
src/mapi/.libs, which we try to create a file in. The .o files are put
into src/mapi/.libs, so I suspect that it's a race between writing the
first one of those, and touching .libs/install-mesa-links.

In install-lib-links.mk we specify the dependency of "all-local :
.libs/install-mesa-links" to prevent us from recreating the links, and
while "all-local" must run after "all", I guess there's nothing
preventing its dependencies from running before "all" has completed.

But we do specify the dependency ".libs/install-mesa-links :
$(lib_LTLIBRARIES)", and since those require the .lo files which must
have created .libs -- it's not clear why it's not working out. It
seems like this dependency isn't working.

On my system, lib_LTLIBRARIES are always built before
.libs/install-mesa-links, so it appears to work locally.

I've gone over this all and can't spot the problem. The dependencies
look fine. I tried automake-1.13 and 1.14, and make-3.82 and 4.0.
Maybe I'll have more luck on a 40 core system.

It's probably simple enough to put the 'install-mesa-links' file in
the current directory, rather than in .libs since we're relying on
libtool to create that. But I would like to understand what the heck
is going on.

More information about the mesa-dev mailing list