Bug 89260

Summary: macros.h:34:25: fatal error: util/u_math.h: No such file or directory
Product: Mesa Reporter: Fabio Pedretti <pedretti.fabio>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: eric, eta, jfonseca, kai
Version: gitKeywords: regression
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Fabio Pedretti 2015-02-21 07:40:17 UTC
After changes in the latest 12h osmesa fails to build:
  CC       osmesa.lo
In file included from ../../../../../../src/mesa/drivers/osmesa/osmesa.c:44:0:
../../../../../../src/mesa/main/macros.h:34:25: fatal error: util/u_math.h: No such file or directory
 #include "util/u_math.h"
                         ^
compilation terminated.

Full log including configure options here:
https://launchpadlibrarian.net/198345895/buildlog_ubuntu-vivid-i386.mesa_10.6~git1502210730.9fe818~gd~v_BUILDING.txt.gz
Comment 1 Fabio Pedretti 2015-02-22 10:06:32 UTC
Eric, any news on this? I didn't bisect, but it looks a regression of one of your latest commits.
Comment 2 Fabio Pedretti 2015-02-22 10:09:17 UTC
This commit is the likely cause:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=41b1882ed45f0fcb827a178cb3f7143fcaa8c4d9

author	Eric Anholt <eric@anholt.net>	2015-02-11 22:24:33 (GMT)
committer	Eric Anholt <eric@anholt.net>	2015-02-20 19:36:34 (GMT)
commit	41b1882ed45f0fcb827a178cb3f7143fcaa8c4d9 (patch)
tree	b9a2f335d36f6bc2adbf4963a4ab82cdefb6cfd9
parent	5ca019358f7a598174bd4adb6746fedc0ca78943 (diff)
mesa: Use u_math.h from macros.h
This avoids duplication of some macros and other definitions across the
tree.

Note that COPY_4FV switches from a memcpy-based implementation to an
assignment of 4 floats.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Comment 3 Kai 2015-02-23 14:41:23 UTC
I'M seeing the same FTBFS with current Git master's HEAD (050bf75c8b). My last successful build was 6c34fd20be.

The failing log shows:
> libtool: compile:  gcc -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"10.6.0-devel\" "-DPACKAGE_STRING=\"Mesa 10.6.0-devel\"" "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"10.6.0-devel\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DYYTEXT_POINTER=1 -DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 -DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 -DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD=1 -DHAVE_SHA1_IN_LIBGCRYPT=1 -I. -I../../../../../../src/mesa/drivers/osmesa -I../../../../../../include -I../../../../../../src -I../../../../../../src/mapi -I../../../../src/mapi -I../../../../../../src/mesa/ -DUSE_EXTERNAL_DXTN_LIB=1 -D_GNU_SOURCE -DUSE_SSE41 -DNDEBUG -DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM -DHAVE_XLOCALE_H -DHAVE_STRTOF -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DGLX_USE_DRM -DHAVE_LIBUDEV -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DHAVE_ALIAS -DHAVE_DRI3 -DHAVE_MINCORE -DHAVE_LLVM=0x0307 -DLLVM_VERSION_PATCH=0 -D_FORTIFY_SOURCE=2 -pthread -fvisibility=hidden -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -march=native -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-strict-aliasing -fno-builtin-memcmp -MT osmesa.lo -MD -MP -MF .deps/osmesa.Tpo -c ../../../../../../src/mesa/drivers/osmesa/osmesa.c  -fPIC -DPIC -o .libs/osmesa.o
> In file included from ../../../../../../src/mesa/drivers/osmesa/osmesa.c:44:0:
> ../../../../../../src/mesa/main/macros.h:34:25: fatal error: util/u_math.h: No such file or directory

And, indeed, Fabio's guess from comment #2 seems to be pointing in the right direction, reverting 41b1882ed45f0fcb827a178cb3f7143fcaa8c4d9 gives me a different, but related FTBFS:
> In file included from ../../../../src/mesa/main/core.h:45:0,
>                  from ../../../../src/glsl/nir/../program.h:25,
>                  from ../../../../src/glsl/nir/nir_lower_samplers.cpp:27:
> ../../../../src/mesa/main/macros.h:258:1: error: expected unqualified-id before 'do'
>  do {                                \
>  ^
> ../../../../src/gallium/auxiliary/util/u_math.h:895:31: note: in expansion of macro 'COPY_4V'
>  #define COPY_4FV( DST, SRC )  COPY_4V(DST, SRC)
>                                ^
> ../../../../src/mesa/main/macros.h:279:1: note: in expansion of macro 'COPY_4FV'
>  COPY_4FV(GLfloat dst[4], const GLfloat src[4])
>  ^
> ../../../../src/mesa/main/macros.h:263:3: error: expected unqualified-id before 'while'
>  } while (0)
>    ^
> ../../../../src/gallium/auxiliary/util/u_math.h:895:31: note: in expansion of macro 'COPY_4V'
>  #define COPY_4FV( DST, SRC )  COPY_4V(DST, SRC)
>                                ^
> ../../../../src/mesa/main/macros.h:279:1: note: in expansion of macro 'COPY_4FV'
>  COPY_4FV(GLfloat dst[4], const GLfloat src[4])
>  ^
> Makefile:1668: recipe for target 'nir/nir_lower_samplers.lo' failed
Comment 4 Brian Paul 2015-02-23 15:39:04 UTC
patch posted to mesa-dev for review.
Comment 5 Kai 2015-02-23 16:08:39 UTC
(In reply to Brian Paul from comment #4)
> patch posted to mesa-dev for review.

I replied there, but for the record of this bug: the posted patch works for me.
Comment 6 Brian Paul 2015-02-23 17:07:41 UTC
patch committed.

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.