question on compiling xf86-video-qxl-0.0.17

Ciccarelli, Michael (Michael) Michael.Ciccarelli at lsi.com
Wed Aug 29 07:54:57 PDT 2012


> -----Original Message-----
> From: Alon Levy [mailto:alevy at redhat.com]
> Sent: Wednesday, August 29, 2012 10:21 AM
> To: Ciccarelli, Michael (Michael)
> Cc: xorg at lists.x.org
> Subject: Re: question on compiling xf86-video-qxl-0.0.17
> 
> > 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 tried pulling the latest from git and I even went through the trouble of updating automake, autoconf, autosomething else and I couldn't get the ./configure script to work.. so I just went back to the latest tar.bz2 release of xf86-video-qxl-0.0.17 as ./configure worked there atleast. I did compile a newer automake and the like in a different path that I was building to.. I think rhel 5.7 was still using the built-in /usr/bin one unless I did the full /sopt/spice/bin/autoreconf path (even though it was first on my path). When I tried to "/opt/spice/bin/autoreconf -i" it seemed to build a ./configure script but it would fail to run.. got to the line about ( ... ,RANDR) and would fail.. So ultimately I never made it to the point where it told me that my xorg release was too old in latest git qxl.

> 
> >
> > 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).

Not sure.. it didn't seem to be (or maybe it was stuck in a #include loop or something?) Once I added it it seemed to get past the uint16_t errors.

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

I was almost considering doing this but figured my head would be too bloodied from banging it against the wall... I think the only thing left that I wouldn't rebuild from rhel 5.7 would be /etc/motd due to dependencies.

> 
> 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).

Yes it was more of an experiment on my part to see if I could even just get qxl to build.. spice and everything else seemed to be ok on rhel 5 for the most part. Maybe Redhat can back-port some of that FC18 code into rhel 5, heh... (complete joke, but wishful thinking?)

> 
> > 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