pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/39359: graphics/MesaLib with "dri" fails for big-endian systems
>Number: 39359
>Category: pkg
>Synopsis: graphics/MesaLib with "dri" fails for big-endian systems
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Aug 15 20:15:00 +0000 2008
>Originator: Kernigh
>Release: NetBSD 4.0 with pkgsrc-2008Q2
>Organization:
>Environment:
System: NetBSD ghostborough.local 4.0 NetBSD 4.0 (GENERIC) #0: Sun Dec 16
00:27:58 PST 2007
builds@wb30:/home/builds/ab/netbsd-4-0-RELEASE/macppc/200712160005Z-obj/home/builds/ab/netbsd-4-0-RELEASE/src/sys/arch/macppc/compile/GENERIC
macppc
Architecture: powerpc
Machine: macppc
>Description:
Using pkgsrc-2008Q2, when I built the driver x11/xf86-video-ati, it brought
in graphics/MesaLib as a dependency. I had enabled the "dri" option. (My
NetBSD kernel has no DRM, so DRI does not work, but I enabled "dri" anyway.)
The build of graphics/MesaLib failed in two places under the
/usr/pkgsrc/graphics/MesaLib/work/Mesa-7.0.3/src/mesa/drivers/dri directory.
In dri/mach64/mach64_context.h there is a part that reads
#if MESA_LITTLE_ENDIAN == 1
...
#else
#include <byteswap.h>
#define LE32_IN( x ) bswap_32( *(GLuint *)(x) )
...
#endif
My powerpc machine is big-endian, so the compiler entered the #else section
and tried to #include <byteswap.h>. The error was the missing "byteswap.h"
file. I do not seem to have a "byteswap.h" file in the Mesa sources or
anywhere on my computer.
When I bypassed that first error, I received a second error in
dri/sis/sis_context.h where it reads
#if defined(__i386__) || defined(__amd64__)
#define MMIO_WMB() __asm __volatile("" : : : "memory")
#else
#error platform needs WMB
#endif
Because my machine is not i386 nor amd64, the compiler stepped on the #error
line.
>How-To-Repeat:
$ cat /etc/mk.conf
PKG_DEFAULT_OPTIONS=dri
X11_TYPE=modular
$ cd /usr/pkgsrc/x11/xf86-video-ati
$ sudo make
with x11/xf86-video-ati building graphics/MesaLib as a dependency.
>Fix:
I only have the following work-around to bypass the mach64 and sis drivers.
When the build fails at the first error, then move the mach64 and sis
drivers away,
$ cd /usr/pkgsrc/graphics/MesaLib/work/Mesa-7.0.3/src/mesa/drivers/dri
$ sudo mv mach64-off
$ sudo mv sis-off
then go back to x11/xf86-video-ati and restart the build. The Makefile will
skip the mach64 and sis directories as it notices that they went missing.
Home |
Main Index |
Thread Index |
Old Index