Bug 93547 - Built failed for "Mesa (master): nouveau: remove use of deprecated nouveau_device:: drm_version"
Summary: Built failed for "Mesa (master): nouveau: remove use of deprecated nouveau_de...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/nouveau (show other bugs)
Version: git
Hardware: x86 (IA32) All
: medium normal
Assignee: Nouveau Project
QA Contact: Nouveau Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-31 10:54 UTC by davidtecher
Modified: 2016-07-09 04:36 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description davidtecher 2015-12-31 10:54:18 UTC
I was trying to rebuilt Mesa from Git (31-Dec-2015).

There were two errors.

1. The following file 

#include "...nouveau.h"

was missing in both

- src/gallium/drivers/nouveau/nouveau_screen.c

- src/mesa/drivers/dri/nouveau/nouveau_screen.c

Compiler complained that 'nouveau_drm_new', 'nouveau_device_new', 'nouveau_destroy_screen' were functions implicitly declared

So I had (Sorry I am not a programer :( )

#include "/usr/include/libdrm/nouveau/nouveau.h"

To fix the problem. And it was OK.

2. The second issue is for the commit provided on 22-Dec-2015

/bin/bash ../../../../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"11.2.0-devel\" -DPACKAGE_STRING=\"Mesa\ 11.2.0-devel\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\" -DPA
KAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"11.2.0-devel\" -D_FILE_OFFSET_BITS=64 -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 -D
AVE_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_
OPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 -DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRI
UTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD=1 -DHAVE_SHA1_IN_LIBNETTLE=1 -I.  -I./include -I../../../../src -I../../../../include -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../.
/../../src/gallium/drivers -I../../../../src/gallium/winsys -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -DUSE_SSE41 -DDEBUG -DTEXTURE_FLOAT_ENABLED -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DHAVE_XLOCALE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_
LOPEN -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DHAVE_SHA1 -DGLX_USE_DRM -DHAVE_LIBUDEV -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DHAVE_ALIAS -DHAVE_DRI3 -DHAVE_MINCORE -DHAVE_LLVM=0x0308 -DMESA_LLVM_VERSION_PATCH=0 -fvisibility=hidden -I/usr/include/libdr
  -I/usr/include/libdrm -I/usr/include/libdrm/nouveau -I/usr/include/libdrm    -Og -ggdb -g -gdwarf-2 -gstrict-dwarf -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-strict-aliasing -fno-math-errno -fno-trapping-math -fno-builtin-memcmp
 -MT nv50/nv50_push.lo -MD -MP -MF $depbase.Tpo -c -o nv50/nv50_push.lo nv50/nv50_push.c &&\
mv -f $depbase.Tpo $depbase.Plo
nv50/nv50_miptree.c: In function 'nv50_miptree_create':
nv50/nv50_miptree.c:342:25: error: dereferencing pointer to incomplete type
    bool compressed = drm->version >= 0x01000101;
                         ^
Makefile:1251: recipe for target 'nv50/nv50_miptree.lo' failed
make[3]: *** [nv50/nv50_miptree.lo] Error 1
Comment 1 Karol Herbst 2015-12-31 11:00:24 UTC
do you have libdrm from master installed? nouveau needs at least 2.4.66 now anyway.
Comment 2 davidtecher 2015-12-31 21:32:13 UTC
Yes both drm and nouveau are synch'ed with their own master.

I tested/built drm/nouveau with the latest versions and got this issue

I am not a expert but could it be related to the kernel version that I am using. I am on Kernel 4.1.13
Comment 3 Ilia Mirkin 2016-07-09 04:36:09 UTC
This issue generally happens when you don't use packages, but rather "make install" directly onto your system. What ended up happening is that a file moved between versions of libdrm, and you probably have a stale version of one of the header files which is getting included.


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.