Building problem with dri 7.6
John Hein
jhein at symmetricom.com
Tue Mar 1 23:46:39 UTC 2011
Zhihao Yuan wrote at 16:38 -0600 on Mar 1, 2011:
> Let's me make this more clear: In my case,
Don't worry - I'm clear on what is happening, although I am not clear
about why you are doing this (see response to #2 below).
> 1. I can build dri 7.6 out of box with
> --enable-radeon-experimental-api set in libdrm.
I'm sure you can. If you do locally change the port and build with
--enable-radeon-experimental-api, then, yes, the radeon_cs_write_table
symbol will be defined in libdrm.
> 2. A drm/dri with radeon-experimental-api enabled just works. It does
> not require GEM/KMS.
>From libdrm's configure:
--enable-radeon-experimental-api
Enable support for radeon's KMS API (default:
disabled)
Enabling the radeon KMS API may indeed compile, but it won't do you
much good on FreeBSD [yet], as far as I understand it.
Why are you doing this? Are you seeing some tangible positive results
when you build and use libdrm_radeon on FreeBSD? Or are you just
doing it because you are curious to see if it makes a difference?
> 3. The problem, say 'Undefined symbol "radeon_cs_write_table"' only
> exists when I have a libdrm 2.4.17 with
> --disable-radeon-experimental-api, and I want to build a dri 7.6.1. I
> added the 'missing' header files (since HAVE_LIBDRM_RADEON=1), and got
> the wrong result.
Of course. As I said, that symbol is not defined by default unless
you go and start forcing things to compile differently in FreeBSD
(as you did by manually pulling in some .h files).
You asked the list to help you with a building problem but failed to
emphasize that you are deliberately making changes to build things in
an unsupported way (or more importantly why).
> 4. So the conclusion is, set --enable-radeon-experimental-api in
> libdrm, and everything works fine with WITHOUT_NOUVEAU=1. Without it,
> dri 7.6.1 can *not* be built. Maybe a libdrm 2.4.12 lets you to built
> everything else with WITHOUT_NOUVEAU=1, but I haven't test it.
I built dri 7.6.1 (WITHOUT_NOUVEAU=1) and using
--disable-radeon-experimental-api for libdrm
2.4.17, as have numerous other FreeBSD users.
The reason it did not work for you is that you got dri 7.6.1 to build
differently than everyone else by trying to convince it to use
libdrm_radeon (by manually copying in some headers it seems).
Again, the most important question is: why are you trying to build
and use libdrm_radeon on FreeBSD?
More information about the freebsd-x11
mailing list