question on compiling xf86-video-qxl-0.0.17

Alon Levy alevy at redhat.com
Wed Aug 29 07:20:30 PDT 2012


> Alon,
> 
> Thanks for the follow up.. (Sorry I'm posting at the top but no need
> to inline in code at this point). I was able to get a bit further on
> compiling but eventually the compile failed on GlyphPrint (or
> something, forget the name) not being defined later on.. I chatted
> with some people on freenode.net in #xorg and came to the conclusion
> that the X release in rhel 5 is too old to support
> xf86-video-qxl-0.0.17 as GlyphPrint wasn't defined in xorg 1.1.1.
> And according to Alanc in #xorg the ./configure script should have
> warned me that the release was too old (guess this is a bug??)

Yes, it should check for X version. Actually, see my comment below, the newest git should update this missing check.

> 
> I did use #include <stdlib.h> to fix a bunch of the problems as you
> mentioned though (if anyone else runs into this). Not sure if this
> is yet another bug?
> 

hm, I mentioned stdlib.h as something that was already being included by uxa-priv.h (iirc).

You could build xserver yourself, i.e. install everything into ~/qxl, using PKG_CONFIG_PATH for configure and LD_LIBRARY_PATH for execution.

Yeah, I can imagine how RHEL-5 is a PITA for this. It's even worse - the latest qxl (git, not released) doesn't support any X server but the latest - I broke this backward compat sort of on purpose (lazyness mostly), since it will be released with newer X releases (like F18).

> Thanks,
> Mike
> 
> -----Original Message-----
> From: Alon Levy [mailto:alevy at redhat.com]
> Sent: Wednesday, August 29, 2012 7:37 AM
> To: Ciccarelli, Michael (Michael)
> Cc: xorg at lists.x.org
> Subject: Re: question on compiling xf86-video-qxl-0.0.17
> 
> On Fri, Aug 24, 2012 at 05:34:13PM -0400, Ciccarelli, Michael
> (Michael) wrote:
> > On rhel 5.7 and I'm trying to compile xf86-video-qxl-0.0.17 from
> > source.. the configure script works and output seems fine, but
> > when I run a make I get the following list of errors:
> > 
> > [mc7 at pacelab29:~/spice/xf86-video-qxl-0.0.17$]: make make
> > all-recursive
> > make[1]: Entering directory `/home/mc7/spice/xf86-video-qxl-0.0.17'
> > Making all in src
> > make[2]: Entering directory
> > `/home/mc7/spice/xf86-video-qxl-0.0.17/src'
> > Making all in uxa
> > make[3]: Entering directory
> > `/home/mc7/spice/xf86-video-qxl-0.0.17/src/uxa'
> >   CC     uxa.lo
> > In file included from uxa.c:41:
> > uxa-priv.h:100: error: expected specifier-qualifier-list before
> > 'uint16_t'
> > uxa-priv.h:107: error: expected specifier-qualifier-list before
> > 'uint32_t'
> > uxa-priv.h: In function 'uxa_get_screen':
> > uxa-priv.h:171: warning: implicit declaration of function
> > 'dixLookupPrivate'
> > uxa-priv.h:171: warning: nested extern declaration of
> > 'dixLookupPrivate'
> > uxa-priv.h:171: warning: return makes pointer from integer without
> > a
> > cast
> > uxa-priv.h: At top level:
> > uxa-priv.h:272: error: expected '=', ',', ';', 'asm' or
> > '__attribute__' before 'Bool'
> > uxa-priv.h:401: error: expected declaration specifiers or '...'
> > before 'pixman_format_code_t'
> > uxa.c: In function 'uxa_close_screen':
> > uxa.c:421: error: 'struct <anonymous>' has no member named
> > 'picture'
> > uxa.c: In function 'uxa_driver_init':
> > uxa.c:526: warning: implicit declaration of function
> > 'dixSetPrivate'
> > uxa.c:526: warning: nested extern declaration of 'dixSetPrivate'
> > uxa.c:596: warning: implicit declaration of function 'assert'
> > uxa.c:596: warning: nested extern declaration of 'assert'
> > make[3]: *** [uxa.lo] Error 1
> > make[3]: Leaving directory
> > `/home/mc7/spice/xf86-video-qxl-0.0.17/src/uxa'
> > make[2]: *** [all-recursive] Error 1
> > make[2]: Leaving directory
> > `/home/mc7/spice/xf86-video-qxl-0.0.17/src'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory `/home/mc7/spice/xf86-video-qxl-0.0.17'
> > make: *** [all] Error 2
> > 
> > My knowledge of c at this point just isn't cutting it.. Any ideas
> > or pointers I can try?
> 
> What version of gcc are you using? What version of X are you using?
> 0.0.17 doesn't build with the latest X, and those uint16_t errors
> look like a missing header. I get the uint16_t typedef from stdlib.h
> (it indirectly includes bits/types.h).
> 
> you have /usr/include/xorg/privates.h with dixLookupPrivate ?
> (replace /usr with the root where you installed X if you aren't
> using the system's one).
> 
> The uxa-priv:272 error is from a missing _X_INLINE definition,
> defined in /usr/include/X11/Xfuncproto.h .
> 
> > 
> > Here is output from configure:
> > 
> > [mc7 at pacelab29:~/spice/xf86-video-qxl-0.0.17$]: ./configure
> > --prefix=/opt/spice --enable-xspice=only checking build system
> > type...
> > x86_64-unknown-linux-gnu checking host system type...
> > x86_64-unknown-linux-gnu checking for a BSD-compatible install...
> > /usr/bin/install -c checking whether build environment is sane...
> > yes
> > checking for a thread-safe mkdir -p... /bin/mkdir -p checking for
> > gawk... gawk checking whether make sets $(MAKE)... yes checking
> > whether to enable maintainer-specific portions of Makefiles... no
> > checking for style of include used by make... GNU checking for
> > gcc...
> > gcc checking whether the C compiler works... yes checking for C
> > compiler default output file name... a.out checking for suffix of
> > executables...
> > checking whether we are cross compiling... no checking for suffix
> > of
> > object files... o checking whether we are using the GNU C
> > compiler...
> > yes checking whether gcc accepts -g... yes checking for gcc option
> > to
> > accept ISO C89... none needed checking dependency style of gcc...
> > gcc3
> > checking for gcc option to accept ISO C99... -std=gnu99 checking
> > how
> > to run the C preprocessor... gcc -std=gnu99 -E checking for grep
> > that
> > handles long lines and -e... /bin/grep checking for egrep...
> > /bin/grep
> > -E checking for ANSI C header files... yes checking for
> > sys/types.h...
> > yes checking for sys/stat.h... yes checking for stdlib.h... yes
> > checking for string.h... yes checking for memory.h... yes checking
> > for
> > strings.h... yes checking for inttypes.h... yes checking for
> > stdint.h... yes checking for unistd.h... yes checking whether
> > __clang__ is declared... no checking whether __INTEL_COMPILER is
> > declared... no checking whether __SUNPRO_C is declared... no
> > checking
> > for pkg-config... /opt/spice/bin/pkg-config checking pkg-config is
> > at
> > least version 0.9.0... yes checking for a sed that does not
> > truncate
> > output... /bin/sed checking if gcc -std=gnu99 supports
> > -Werror=attributes... no checking how to print strings... printf
> > checking for a sed that does not truncate output... (cached)
> > /bin/sed
> > checking for fgrep... /bin/grep -F checking for ld used by gcc
> > -std=gnu99... /usr/bin/ld checking if the linker (/usr/bin/ld) is
> > GNU
> > ld... yes checking for BSD- or MS-compatible name lister (nm)...
> > /usr/bin/nm -B checking the name lister (/usr/bin/nm -B)
> > interface...
> > BSD nm checking whether ln -s works... yes checking the maximum
> > length
> > of command line arguments... 98304 checking whether the shell
> > understands some XSI constructs... yes checking whether the shell
> > understands "+="... yes checking for /usr/bin/ld option to reload
> > object files... -r checking for objdump... objdump checking how to
> > recognize dependent libraries... pass_all checking for ar... ar
> > checking for strip... strip checking for ranlib... ranlib checking
> > command to parse /usr/bin/nm -B output from gcc -std=gnu99
> > object...
> > ok checking for dlfcn.h... yes checking for objdir... .libs
> > checking
> > if gcc -std=gnu99 supports -fno-rtti -fno-exceptions... no checking
> > for gcc -std=gnu99 option to produce PIC... -fPIC -DPIC checking if
> > gcc -std=gnu99 PIC flag -fPIC -DPIC works... yes checking if gcc
> > -std=gnu99 static flag -static works... yes checking if gcc
> > -std=gnu99
> > supports -c -o file.o... yes checking if gcc -std=gnu99 supports -c
> > -o
> > file.o... (cached) yes checking whether the gcc -std=gnu99 linker
> > (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
> > checking
> > whether -lc should be explicitly linked in... no checking dynamic
> > linker characteristics... GNU/Linux ld.so checking how to hardcode
> > library paths into programs... immediate checking whether stripping
> > libraries is possible... yes checking if libtool supports shared
> > libraries... yes checking whether to build shared libraries... yes
> > checking if RENDER is defined... yes checking if XV is defined...
> > yes
> > checking if XFreeXDGA is defined... yes checking for XORG... yes
> > checking whether XSERVER_LIBPCIACCESS is declared... no checking
> > for
> > SPICE... yes checking for SPICE_PROTOCOL... yes checking for
> > .git...
> > no
> > configure: creating ./config.status
> > config.status: creating Makefile
> > config.status: creating src/Makefile
> > config.status: creating src/uxa/Makefile
> > config.status: creating scripts/Makefile
> > config.status: creating examples/Makefile
> > config.status: creating config.h
> > config.status: config.h is unchanged
> > config.status: executing depfiles commands
> > config.status: executing libtool commands
> > 
> > 
> >         xf86-video-qxl 0.0.17
> >         =====================
> > 
> >         prefix:                   /opt/spice
> >         c compiler:               gcc -std=gnu99
> > 
> >         Build qxl:                no
> >         Build xspice:             yes
> > 
> > Thanks,
> > Mike
> > _______________________________________________
> > xorg at lists.x.org: X.Org support
> > Archives: http://lists.freedesktop.org/archives/xorg
> > Info: http://lists.x.org/mailman/listinfo/xorg
> > Your subscription address: alevy at redhat.com
> _______________________________________________
> xorg at lists.x.org: X.Org support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: http://lists.x.org/mailman/listinfo/xorg
> Your subscription address: alevy at redhat.com
> 



More information about the xorg mailing list