gsutre / netbsd-drmgem

Porting DRM/GEM from OpenBSD to NetBSD (Intel only)
14 stars 3 forks source link

Build issues on NetBSD-current (amd64) #6

Closed dmatveev closed 12 years ago

dmatveev commented 12 years ago

Hello,

I am trying to build netbsd-drmgem on my amd64 machine. NetBSD is updated to today's current.

During building

$ cd /usr/src/external/mit/xorg/lib/libdrm
$ su root -c "make includes"
$ make
$ su root -c "make install"

I have got some issues:

#   compile  libdrm/xf86drm.ln
lint -chapbxzFS   -I/usr/X11R7/include/libdrm -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/X11R7/include -D__AMD64__    -i /usr/xsrc/external/mit/libdrm/dist/xf86drm.c
/usr/X11R7/include/libdrm/drm.h(178): warning: trailing ',' prohibited in enum declaration [54]
/usr/X11R7/include/libdrm/drm.h(428): warning: trailing ',' prohibited in enum declaration [54]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(149): warning: assignment in conditional context [159]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(193): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(320): warning: comparison of unsigned int with 0, op p >= p [162]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(337): warning: conversion to 'unsigned long' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(383): warning: conversion to 'unsigned long' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(420): warning: conversion to 'long' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(454): warning: assignment in conditional context [159]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(562): warning: assignment in conditional context [159]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(715): warning: conversion from 'unsigned long' to 'int' may lose accuracy [132]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(717): warning: conversion from 'unsigned long' to 'int' may lose accuracy [132]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(719): warning: conversion from 'unsigned long' to 'int' may lose accuracy [132]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(742): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(757): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(757): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(759): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(759): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(761): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(761): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(774): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(796): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(812): warning: pointer casts may be troublesome [247]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(794): warning: argument fd unused in function drmGetLibVersion [231]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(826): warning: cast discards 'const' from pointer target type [275]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(851): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(851): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(876): warning: cast discards 'const' from pointer target type [275]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(964): warning: enum type mismatch, op p = p [130]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(965): warning: enum type mismatch, op p = p [130]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1009): warning: enum type mismatch, op p = p [130]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1031): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1031): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1130): warning: conversion from 'unsigned long' to 'unsigned int' may lose accuracy [132]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1132): warning: conversion to 'long' due to prototype, arg #6 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1168): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1168): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1176): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1178): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1178): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1221): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1221): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1229): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1231): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1231): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1292): warning: enum type mismatch, op p = p [130]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1380): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1380): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1382): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(1382): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(2145): warning: conversion from 'unsigned long' to 'unsigned int' may lose accuracy [132]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(2146): warning: enum type mismatch, op p = p [130]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(2147): warning: enum type mismatch, op p = p [130]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(2162): warning: conversion from 'unsigned long' to 'int' may lose accuracy [132]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(2163): warning: conversion from 'unsigned long' to 'int' may lose accuracy [132]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(2471): warning: constant in conditional context [161]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(2502): DRM_IOCTL_SET_MASTER undefined [99]
/usr/xsrc/external/mit/libdrm/dist/xf86drm.c(2507): DRM_IOCTL_DROP_MASTER undefined [99]
#   compile  libdrm/xf86drm.o
*** Error code 1 (continuing)
gcc -O2 -I/usr/X11R7/include/libdrm -std=gnu99 -Werror   -fno-strict-aliasing  -I/usr/X11R7/include/libdrm  -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/X11R7/include -D__AMD64__ -c    /usr/xsrc/external/mit/libdrm/dist/xf86drm.c -o xf86drm.o
#   compile  libdrm/xf86drm.pico
*** Error code 1 (continuing)
gcc -O2 -I/usr/X11R7/include/libdrm -std=gnu99 -Werror   -fno-strict-aliasing  -I/usr/X11R7/include/libdrm  -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/X11R7/include -D__AMD64__ -c    -fPIC -DPIC /usr/xsrc/external/mit/libdrm/dist/xf86drm.c -o xf86drm.pico
#   compile  libdrm/xf86drm.po
*** Error code 1 (continuing)
gcc -O2 -I/usr/X11R7/include/libdrm -std=gnu99 -Werror   -fno-strict-aliasing  -I/usr/X11R7/include/libdrm  -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/X11R7/include -D__AMD64__ -c -DGPROF -DPROF    -pg /usr/xsrc/external/mit/libdrm/dist/xf86drm.c -o xf86drm.po
#   compile  libdrm/xf86drmMode.ln
*** Error code 1 (continuing)
lint -chapbxzFS   -I/usr/X11R7/include/libdrm -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/X11R7/include -D__AMD64__    -i /usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c
/usr/X11R7/include/libdrm/drm.h(178): warning: trailing ',' prohibited in enum declaration [54]
/usr/X11R7/include/libdrm/drm.h(428): warning: trailing ',' prohibited in enum declaration [54]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(77): warning: cannot do pointer arithmetic on operand of unknown size [136]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(156): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(156): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(161): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(161): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(166): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(166): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(171): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(171): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(199): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(211): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(211): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(212): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(212): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(213): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(213): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(214): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(214): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(251): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(251): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(251): warning: assignment in conditional context [159]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(260): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(260): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(275): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(292): initialisation of an incomplete type [175]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(292): incomplete structure or union drm_mode_fb_dirty_cmd: dirty [31]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(294): illegal member use: fb_id [102]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(295): undefined struct/union member: clips_ptr [101]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(295): warning: conversion from 'unsigned long' to 'int' may lose accuracy [132]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(296): undefined struct/union member: num_clips [101]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(298): DRM_IOCTL_MODE_DIRTYFB undefined [99]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(320): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(353): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(353): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(370): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(370): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(382): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(382): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(401): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(432): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(432): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(435): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(435): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(441): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(441): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(447): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(447): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(470): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(483): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(483): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(484): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(484): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(485): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(485): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(487): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(487): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(519): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(519): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(529): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(529): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(549): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(549): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(552): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(552): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(555): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(555): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(556): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(556): warning: conversion from 'unsigned long' to 'int' may lose accuracy, arg #1 [298]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(564): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(572): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(572): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(575): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(575): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(577): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(577): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(578): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(578): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(614): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(621): warning: conversion to 'int' due to prototype, arg #1 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(626): warning: conversion to 'int' due to prototype, arg #3 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(651): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(651): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(660): warning: argument busid unused in function drmCheckModesettingSupported [231]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(728): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(728): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(742): warning: conversion to 'int' due to prototype, arg #2 [259]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(742): warning: conversion of 'unsigned long' to 'int' is out of range, arg #2 [295]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(755): warning: conversion from 'long' to 'int' may lose accuracy [132]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(763): warning: possible pointer alignment problem [135]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(763): warning: pointer casts may be troublesome [247]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(769): warning: possible pointer alignment problem [135]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(769): warning: pointer casts may be troublesome [247]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(780): warning: possible pointer alignment problem [135]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(780): warning: pointer casts may be troublesome [247]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(799): incomplete structure or union drm_mode_crtc_page_flip: flip [31]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(801): illegal member use: fb_id [102]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(802): illegal member use: crtc_id [102]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(803): illegal member use: user_data [102]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(804): illegal member use: flags [102]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(805): illegal member use: reserved [102]
/usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c(807): DRM_IOCTL_MODE_PAGE_FLIP undefined [99]
#   compile  libdrm/xf86drmMode.o
*** Error code 1 (continuing)
gcc -O2 -I/usr/X11R7/include/libdrm -std=gnu99 -Werror   -fno-strict-aliasing  -I/usr/X11R7/include/libdrm  -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/X11R7/include -D__AMD64__ -c    /usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c -o xf86drmMode.o
#   compile  libdrm/xf86drmMode.pico
*** Error code 1 (continuing)
gcc -O2 -I/usr/X11R7/include/libdrm -std=gnu99 -Werror   -fno-strict-aliasing  -I/usr/X11R7/include/libdrm  -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/X11R7/include -D__AMD64__ -c    -fPIC -DPIC /usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c -o xf86drmMode.pico
#   compile  libdrm/xf86drmMode.po
*** Error code 1 (continuing)
gcc -O2 -I/usr/X11R7/include/libdrm -std=gnu99 -Werror   -fno-strict-aliasing  -I/usr/X11R7/include/libdrm  -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/X11R7/include -D__AMD64__ -c -DGPROF -DPROF    -pg /usr/xsrc/external/mit/libdrm/dist/xf86drmMode.c -o xf86drmMode.po
#     build  libdrm/libdrm.so.3.2
*** Error code 1 (continuing)
rm -f libdrm.so.3.2
gcc  -Wl,-x -shared -Wl,-soname,libdrm.so.3 -Wl,--warn-shared-textrel  -Wl,-rpath,/usr/X11R7/lib -L=/usr/X11R7/lib   -o libdrm.so.3.2  -Wl,-rpath-link,/lib  -L=/lib  -Wl,--whole-archive libdrm_pic.a -Wl,--no-whole-archive  
all ===> drm
*** Error code 1 (continuing)
`all' not remade because of errors.

I have resolved some issues related to include files (undefined identifiers), but it still failed to compile, as I think, due to many type conversion warnings.

Really, converting from int to long should be harmful on non-x86 systems. What should I do, how can I fix this stuff? Had you tried to build it on x86_64?

How does the graphics work on x86?

Regards, Dmitry

gsutre commented 12 years ago

I'll try to reproduce the problem with updated -current source, but in the mean time you can try:

autobuild.sh 201110070720Z

using the netbsd-drmgem/autobuild.sh script. I tried it (on NetBSD/amd64) and it went through libdrm without problem.

The X server works fine, until it doesn't (the dreaded gpu hung! message). It can take a while before the X server crashes, unless you play with VT switching (see #5). My test systems are an 915GM on NetBSD/i386 (tested sporadically) and an Arrandale under NetBSD/amd64 (tested regularly). See #4 for dmesg outputs.

gsutre commented 12 years ago

On my NetBSD/amd64 laptop that I upgraded to -current 201110070720Z (using binary sets), I couldn't reproduce the problem (with up-to-date -current sources) by following the README's instructions.

dmatveev commented 12 years ago

Okay, thanks, I will try again.

By the way, how do you patch the NetBSD source tree? By overwriting files from netbsd-drmgem?

I have used a git-diff produced patch, probably it is the problem.

gsutre commented 12 years ago

Yes the simplest solution is to overwrite files. The patch generated by git diff ... -- src only accounts for changes in src. So, after patching, it's still necessary to overwrite /usr/xsrc.

One more note: if you want display-port support, then you should use the display-port branch.

dmatveev commented 12 years ago

Ok, I have overwritten the files for this time, and everything compiled well. I even started pure X on my Intel G41!!! Thank you, man!

gsutre commented 12 years ago

Glad to hear that it built and launched fine. :-)

Please let me know how it goes.

In particular, if you have the opportunity, it would be nice if you could try after booting with the frame-buffer console. It works on my older laptop, but not on my latest one (see #4).

dmatveev commented 12 years ago

X11 does work fine, but... I have shut X server down, then started it again from the console and my FVWM have been displayed with artifacts. I have closed X server again, started it and then the system has gone to reboot.

gsutre commented 12 years ago

I believe that what you experienced is related to the issue #5 that I've been investigating recently. All I can say for now is: When the dmesg shows

inteldrm0: gpu hung!

it's unsafe to restart the X server.

dmatveev commented 12 years ago

Ahh okay.

Generally speaking, I even would like to participate in this port, but I am a completely kernel newbie and have no experience with programming for pure X, DRM, GEM and other stuff. But I still can send reports, logs and coredumps and do try some basic debugging. Is there any info about intel driver, DRM, GEM and its implementation on BSDs so I could read it and participate more efficiently?

Thanks