Date: Tue, 1 Mar 2011 10:23:02 -0700 From: John Hein <jhein@symmetricom.com> To: Zhihao Yuan <lichray@gmail.com> Cc: freebsd-x11@freebsd.org Subject: Re: Building problem with dri 7.6 Message-ID: <19821.11126.255927.142806@gossamer.timing.com> In-Reply-To: <20110228213141.GA32961@compaq.yuetime> References: <20110228213141.GA32961@compaq.yuetime>
next in thread | previous in thread | raw e-mail | index | archive | help
Zhihao Yuan wrote at 15:31 -0600 on Feb 28, 2011: > I posted this on freebsd-multimedia before. I guess I was in a wrong place. > > I have observed the building issue for a long time. > > ~> uname -a > FreeBSD compaq.yuetime 8.2-STABLE FreeBSD 8.2-STABLE #0: Thu Feb 24 > 18:11:55 CST 2011 root@compaq.yuetime:/usr/obj/usr/src/sys/HOUKAGO > amd64 > My card is Ati Mobile Radeon X1600. > > I built and installed libdrm 2.4.17, libGL, libGLU, libglut 7.6.1, so > far so good. When I want to > sudo make WITHOUT_NOUVEAU=1 > for a dri 7.6.1, > I got some error message says "can't find radeon_cs_int.h", which > means Mesa need the definition of struct radeon_cs_int (and > radeon_bo_int, actually). So I extract these definitions (included in > the attachment) and put them in the correct places, so that the > package is successfully built. > But, when I test it, I got the following error: > > ~> env LIBGL_DEBUG=verbose glxinfo | grep rendering > libGL: XF86DRIGetClientDriverName: 5.3.0 r300 (screen 0) > libGL: OpenDriver: trying /usr/local/lib/dri/r300_dri.so > libGL error: dlopen /usr/local/lib/dri/r300_dri.so failed > (/usr/local/lib/dri/r300_dri.so: Undefined symbol > "radeon_cs_write_table") > libGL error: unable to load driver: r300_dri.so > libGL: OpenDriver: trying /usr/local/lib/dri/swrast_dri.so > direct rendering: Yes > > I tried to disable the 'inline' for the related functions, but I can't > got it work. DRI 7.4.4.2 works fine with other 7.6.1 libs, but 7.4 is > relatively old. Your attachment did not make it. However, as the graphics/dri & graphics/libdrm ports exist today, it seems to be that graphics/dri should not even be trying to include radeon_cs_int.h The code has: work/Mesa-7.6.1/src/mesa/drivers/dri/r600/r600_cmdbuf.c-#ifdef HAVE_LIBDRM_RADEON work/Mesa-7.6.1/src/mesa/drivers/dri/r600/r600_cmdbuf.c:#include "radeon_cs_int.h" And looking at the configure script for graphics/dri, HAVE_LIBDRM_RADEON will only be defined if you somehow got the radeon flavor of libdrm installed (or at least appear to be installed by the graphics/dri configure script). However the libdrm port is built with: --disable-radeon-experimental-api If you have bypassed that or gotten libdrm_radeon installed some other way, this could explain why you are seeing build and dynamic linking trouble where other people are not. FWIW, I see no reference to "radeon_cs_write_table" in r300_dri.so installed here (part of dri-7.6.1,2). nm -oCD /usr/local/lib/dri/r300* | grep radeon_cs_ /usr/local/lib/dri/r300_dri.so:0006e180 T radeon_cs_begin /usr/local/lib/dri/r300_dri.so:0006e110 T radeon_cs_create /usr/local/lib/dri/r300_dri.so:0006e230 T radeon_cs_destroy /usr/local/lib/dri/r300_dri.so:0006e200 T radeon_cs_emit /usr/local/lib/dri/r300_dri.so:0006e1c0 T radeon_cs_end /usr/local/lib/dri/r300_dri.so:0006e260 T radeon_cs_erase /usr/local/lib/dri/r300_dri.so:0005b9f0 T radeon_cs_manager_legacy_ctor /usr/local/lib/dri/r300_dri.so:0005ba70 T radeon_cs_manager_legacy_dtor /usr/local/lib/dri/r300_dri.so:0006e290 T radeon_cs_need_flush /usr/local/lib/dri/r300_dri.so:0006e2c0 T radeon_cs_print /usr/local/lib/dri/r300_dri.so:0006e2f0 T radeon_cs_set_limit /usr/local/lib/dri/r300_dri.so:0006db10 T radeon_cs_space_add_persistent_bo /usr/local/lib/dri/r300_dri.so:0006dd40 T radeon_cs_space_check /usr/local/lib/dri/r300_dri.so:0006dcd0 T radeon_cs_space_check_with_bo /usr/local/lib/dri/r300_dri.so:0006dd70 T radeon_cs_space_reset_bos /usr/local/lib/dri/r300_dri.so:0006e320 T radeon_cs_space_set_flush /usr/local/lib/dri/r300_dri.so:0006e140 T radeon_cs_write_reloc
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19821.11126.255927.142806>