Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 09 Jun 2012 19:00:14 +0200
From:      "O. Hartmann" <ohartman@zedat.fu-berlin.de>
To:        Current FreeBSD <freebsd-current@FreeBSD.org>,  Ports FreeBSD <freebsd-ports@freebsd.org>
Subject:   graphics/dri: nouveau_array.c:49:16: error: illegal storage class on function,                *extract_u = EXTRACT(char, unsigned, 1);
Message-ID:  <4FD3811E.4050800@zedat.fu-berlin.de>

next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig78D3A0A99A9603A05FF6E935
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I try to track down problems on one of our FreeBSD 10.0-CURRENT/amd64
boxes and therefore, I try recompiling "xorg".

One box is constantly failing to compile port graphics/dri with a
obviously well know error, as "googling" reveals (
http://lists.freedesktop.org/archives/mesa-dev/2011-December/016348.html)=
=2E

I share /etc/make.conf and /etc/src.conf on those FreeBSD 10.0-CURRENT
boxes, they are supposed to have set
WITH_NEW_XORG=3Dyes
WITHOUT_NOUVEAU=3Dyes

There was a time when also WITH_KMS=3Dyes was set on the box in question,=

but I disabled that again (commented out).

The problem is sticky. I also tried "portmaster -f graphics/dri",
everything is compiled well (CLANG) until it comes to graphics/dri itself=
=2E

graphics/libdrm is compiled without KMS.

Somehow bad things slipped into the system and I feel like floating like
a dead man in the water. I considered deleting /var/db/pkg/*, since
sometimes I need to delete manually specific folders in that directory
to make a port compiling again. But I do not know wether this is
introducing larger problems.

Compiling the whole ports (implies deleting them all) is no option for
this moment.

Does anyone know this problem and has a solution to get rid of this
sticky thing?

Regards,
Oliver


[...]
=2E./../src/egl/main -I../../../../../src/egl/drivers/dri
-I/usr/local/include -I/usr/local/include/libdrm    -DFEATURE_GL=3D1
-I/usr/local/include -I/usr/local/include/libdrm
-I/usr/local/include/nouveau   -I/usr/local/include -O3 -pipe
-fno-strict-aliasing -march=3Dnative -Wall -Wmissing-prototypes -std=3Dc9=
9
-fno-strict-aliasing -O3 -pipe -fno-strict-aliasing -march=3Dnative  -fPI=
C
 -DUSE_X86_64_ASM -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DPTHREADS
-DUSE_EXTERNAL_DXTN_LIB=3D1 -DIN_DRI_DRIVER -DHAVE_ALIAS
-DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -fvisibility=3Dhidden
nouveau_scratch.c -o nouveau_scratch.o
clang -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver
-I../../../../../include -I../../../../../src/mapi
-I../../../../../src/mesa -I../../../../../src/egl/main
-I../../../../../src/egl/drivers/dri -I/usr/local/include
-I/usr/local/include/libdrm    -DFEATURE_GL=3D1 -I/usr/local/include
-I/usr/local/include/libdrm -I/usr/local/include/nouveau
-I/usr/local/include -O3 -pipe -fno-strict-aliasing -march=3Dnative -Wall=

-Wmissing-prototypes -std=3Dc99 -fno-strict-aliasing -O3 -pipe
-fno-strict-aliasing -march=3Dnative  -fPIC  -DUSE_X86_64_ASM
-DHAVE_POSIX_MEMALIGN -DUSE_XCB -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=3D1
-DIN_DRI_DRIVER -DHAVE_ALIAS -DGLX_INDIRECT_RENDERING
-DGLX_DIRECT_RENDERING -fvisibility=3Dhidden  nouveau_array.c -o
nouveau_array.o
nouveau_array.c:49:16: error: illegal storage class on function
                *extract_u =3D EXTRACT(char, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
nouveau_array.c:49:16: error: expected ';' at end of declaration
                *extract_u =3D EXTRACT(char, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \=

                                                               ^
nouveau_array.c:50:16: error: illegal storage class on function
                *extract_f =3D EXTRACT(char, float, SCHAR_MAX);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
nouveau_array.c:50:16: error: expected ';' at end of declaration
                *extract_f =3D EXTRACT(char, float, SCHAR_MAX);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \=

                                                               ^
nouveau_array.c:53:16: error: illegal storage class on function
                *extract_u =3D EXTRACT(unsigned char, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
nouveau_array.c:53:16: error: expected ';' at end of declaration
                *extract_u =3D EXTRACT(unsigned char, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \=

                                                               ^
nouveau_array.c:54:16: error: illegal storage class on function
                *extract_f =3D EXTRACT(unsigned char, float, UCHAR_MAX);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
nouveau_array.c:54:16: error: expected ';' at end of declaration
                *extract_f =3D EXTRACT(unsigned char, float, UCHAR_MAX);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \=

                                                               ^
nouveau_array.c:57:16: error: illegal storage class on function
                *extract_u =3D EXTRACT(short, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
nouveau_array.c:57:16: error: expected ';' at end of declaration
                *extract_u =3D EXTRACT(short, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \=

                                                               ^
nouveau_array.c:58:16: error: illegal storage class on function
                *extract_f =3D EXTRACT(short, float, SHRT_MAX);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
nouveau_array.c:58:16: error: expected ';' at end of declaration
                *extract_f =3D EXTRACT(short, float, SHRT_MAX);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \=

                                                               ^
nouveau_array.c:61:16: error: illegal storage class on function
                *extract_u =3D EXTRACT(unsigned short, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
nouveau_array.c:61:16: error: expected ';' at end of declaration
                *extract_u =3D EXTRACT(unsigned short, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \=

                                                               ^
nouveau_array.c:62:16: error: illegal storage class on function
                *extract_f =3D EXTRACT(unsigned short, float, USHRT_MAX);=

                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
nouveau_array.c:62:16: error: expected ';' at end of declaration
                *extract_f =3D EXTRACT(unsigned short, float, USHRT_MAX);=

                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \=

                                                               ^
nouveau_array.c:65:16: error: illegal storage class on function
                *extract_u =3D EXTRACT(int, unsigned, 1);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
nouveau_array.c:65:16: error: expected ';' at end of declaration
                *extract_u =3D EXTRACT(int, unsigned, 1);
                             ^
nouveau_array.c:39:50: note: expanded from macro 'EXTRACT'
                out_t f(struct nouveau_array *a, int i, int j) {        \=

                                                               ^
nouveau_array.c:clang -c -I.
-I../../../../../src/mesa/drivers/dri/common -Iserver
-I../../../../../include -I../../../../../src/mapi
-I../../../../../src/mesa -I../../../../../src/egl/main
-I../../../../../src/egl/drivers/dri -I/usr/local/include
-I/usr/local/include/libdrm    -DFEATURE_GL=3D1 -I/usr/local/include
-I/usr/local/include/libdrm -I/usr/local/include/nouveau
-I/usr/local/include -O3 -pipe -fno-strict-aliasing -march=3Dnative -Wall=

-Wmissing-prototypes -std=3Dc99 -fno-strict-aliasing -O3 -pipe
-fno-strict-aliasing -march=3Dnative  -fPIC  -DUSE_X86_64_ASM
-DHAVE_POSIX_MEMALIGN -DUSE_XCB -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=3D1
-DIN_DRI_DRIVER -DHAVE_ALIAS -DGLX_INDIRECT_RENDERING
-DGLX_DIRECT_RENDERING -fvisibility=3Dhidden  nv04_context.c -o nv04_cont=
ext.o
66:16: error: illegal storage class on function
                *extract_f =3D EXTRACT(int, float, INT_MAX);
                             ^
nouveau_array.c:38:3: note: expanded from macro 'EXTRACT'
                auto out_t f(struct nouveau_array *, int, int);         \=

                ^
fatal error: too many errors emitted, stopping now [-ferror-limit=3D]
20 errors generated.
gmake[6]: *** [nouveau_array.o] Error 1
gmake[6]: *** Waiting for unfinished jobs....
nouveau_context.c:281:2: warning: expression result unused [-Wunused-valu=
e]
        context_bctx(ctx, FRAMEBUFFER);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=2E/nouveau_bo_state.h:103:2: note: expanded from macro 'context_bctx'
        __context_bctx(ctx, NOUVEAU_BO_CONTEXT_##s)
        ^
=2E/nouveau_bo_state.h:100:3: note: expanded from macro '__context_bctx'
                bctx;                                                   \=

                ^~~~
1 warning generated.
nv04_context.c:78:4: warning: expression result unused [-Wunused-value]
                        context_bctx_i(ctx, TEXTURE, 1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=2E/nouveau_bo_state.h:105:2: note: expanded from macro 'context_bctx_i'
        __context_bctx(ctx, NOUVEAU_BO_CONTEXT_##s##0 + (i))
        ^
=2E/nouveau_bo_state.h:100:3: note: expanded from macro '__context_bctx'
                bctx;                                                   \=

                ^~~~
1 warning generated.
gmake[6]: Leaving directory
`/usr/ports/graphics/dri/work/Mesa-7.11.2/src/mesa/drivers/dri/nouveau'
gmake[5]: *** [lib] Error 2
gmake[5]: Leaving directory
`/usr/ports/graphics/dri/work/Mesa-7.11.2/src/mesa/drivers/dri/nouveau'
gmake[4]: *** [subdirs] Error 1
gmake[4]: Leaving directory
`/usr/ports/graphics/dri/work/Mesa-7.11.2/src/mesa/drivers/dri'
gmake[3]: *** [default] Error 1
gmake[3]: Leaving directory
`/usr/ports/graphics/dri/work/Mesa-7.11.2/src/mesa/drivers'
gmake[2]: *** [driver_subdirs] Error 2
gmake[2]: Leaving directory
`/usr/ports/graphics/dri/work/Mesa-7.11.2/src/mesa'
gmake[1]: *** [subdirs] Error 1
gmake[1]: Leaving directory `/usr/ports/graphics/dri/work/Mesa-7.11.2/src=
'
gmake: *** [default] Error 1
*** [do-build] Error code 1

Stop in /usr/ports/graphics/dri.

=3D=3D=3D>>> make failed for graphics/dri
=3D=3D=3D>>> Aborting update

Terminated
=3D=3D=3D>>> There are messages from installed ports to display,
       but first take a moment to review the error messages
       above.  Then press Enter when ready to proceed.


--------------enig78D3A0A99A9603A05FF6E935
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQEcBAEBAgAGBQJP04EkAAoJEOgBcD7A/5N87M8H/27C8N/9HKqhIH223WAyEoH8
c5TvG/FeD36g2Z6nDG2WKnP3Sa4evBSuQPMXOUrFQtO6A0S/Hvy1dqkUCZ83xJG9
YgPNNdTuATZJuNqatOi92rewkkQkBmmosWRdfrDXa6sS1/3ozGE57JsqRrM9Wbb4
p2sVYQXM30n1jUc+Uh60jxrFmVqIudkRDCteusXJgjr0RLmX8K5fy/6tKYIExyDV
jIchoRxsVPhxHrz8F5GR82FS5wgsdVJalpw4jLNSO4ftJ/DedCegBk2rZURquxWT
Cp6Y+L1AogJJYWvXug2LU3vtepBAmrZQ2hY9ioh1PnXcF6VT/lDtbYRNC4FSv5c=
=VGym
-----END PGP SIGNATURE-----

--------------enig78D3A0A99A9603A05FF6E935--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FD3811E.4050800>