<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Sat, 2010-06-05 at 10:33 +0800, Matt Dew wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
On Fri, Jun 4, 2010 at 11:04 AM, Matt Turner &lt;<A HREF="mailto:mattst88@gmail.com">mattst88@gmail.com</A>&gt; wrote:
&gt; On Thu, Jun 3, 2010 at 9:23 PM, Matt Dew &lt;<A HREF="mailto:matt@osource.org">matt@osource.org</A>&gt; wrote:
&gt;&gt; Has anyone had luck getting build.sh to run on gentoo?
&gt;&gt; It's something with gentoo's python I think. &nbsp; I searched around but no luck.
&gt;&gt;
&gt;&gt; It dies in libxcb.
&gt;&gt;
&gt;&gt; ...
&gt;&gt; ...
&gt;&gt; /usr/bin/python ./c_client.py -p
&gt;&gt; /home/matt/tmp/xorg.buildsh/lib64/python2.6/site-packages
&gt;&gt; /home/matt/tmp/xorg.buildsh/share/xcb/dri2.xml
&gt;&gt; Traceback (most recent call last):
&gt;&gt; &nbsp;File &quot;./c_client.py&quot;, line 1040, in &lt;module&gt;
&gt;&gt; &nbsp; module.resolve()
&gt;&gt; &nbsp;File &quot;/usr/lib64/python2.6/site-packages/xcbgen/state.py&quot;, line 94, in resolve
&gt;&gt; &nbsp; item.resolve(self)
&gt;&gt; &nbsp;File &quot;/usr/lib64/python2.6/site-packages/xcbgen/xtypes.py&quot;, line
&gt;&gt; 405, in resolve
&gt;&gt; &nbsp; self.reply.resolve(module)
&gt;&gt; &nbsp;File &quot;/usr/lib64/python2.6/site-packages/xcbgen/xtypes.py&quot;, line
&gt;&gt; 369, in resolve
&gt;&gt; &nbsp; ComplexType.resolve(self, module)
&gt;&gt; &nbsp;File &quot;/usr/lib64/python2.6/site-packages/xcbgen/xtypes.py&quot;, line
&gt;&gt; 296, in resolve
&gt;&gt; &nbsp; type = ListType(child, module.get_type(fkey), self)
&gt;&gt; &nbsp;File &quot;/usr/lib64/python2.6/site-packages/xcbgen/xtypes.py&quot;, line
&gt;&gt; 163, in __init__
&gt;&gt; &nbsp; self.expr = Expression(elts[0] if len(elts) else elt, self)
&gt;&gt; &nbsp;File &quot;/usr/lib64/python2.6/site-packages/xcbgen/expr.py&quot;, line 70, in __init__
&gt;&gt; &nbsp; self.lhs = Expression(list(elt)[0], parent)
&gt;&gt; &nbsp;File &quot;/usr/lib64/python2.6/site-packages/xcbgen/expr.py&quot;, line 71, in __init__
&gt;&gt; &nbsp; self.rhs = Expression(list(elt)[1], parent)
&gt;&gt; &nbsp;File &quot;/usr/lib64/python2.6/site-packages/xcbgen/expr.py&quot;, line 84, in __init__
&gt;&gt; &nbsp; raise Exception('XXX')
&gt;&gt; Exception: XXX
&gt;&gt; make[1]: *** [dri2.c] Error 1
&gt;&gt; make[1]: Leaving directory `/home/matt/xorg/modular/xcb/libxcb/src'
&gt;&gt; make: *** [all-recursive] Error 1
&gt;&gt;
&gt;&gt;
&gt;&gt; Matt
&gt;&gt; _______________________________________________
&gt;&gt; <A HREF="mailto:xorg-devel@lists.x.org">xorg-devel@lists.x.org</A>: X.Org development
&gt;&gt; Archives: <A HREF="http://lists.x.org/archives/xorg-devel">http://lists.x.org/archives/xorg-devel</A>
&gt;&gt; Info: <A HREF="http://lists.x.org/mailman/listinfo/xorg-devel">http://lists.x.org/mailman/listinfo/xorg-devel</A>
&gt;&gt;
&gt;
&gt; The standard way of building X from git on Gentoo is to use the
&gt; ebuilds available in the 'x11' layman overlay. This is a much simpler
&gt; and more maintainable solution.
&gt;
&gt; Matt
&gt;

I'm walking through the build scripts I can find, build.sh, jhbuild,
x-jhbuild, and now Michael's script to test them out from a newbie's
perspective.   I can't use gentoo specific ways.  Thanks for the info
though.

</PRE>
</BLOCKQUOTE>
X.org project uses GNU packages as a unit of distribution typically called tarballs. This is what X.org published on its web site, a GNU package that is configured, but not compiled or linked. Source code is shipped, not binaries. It's worth a look at the INSTALL file in the package. <BR>
<BR>
The source code in git contains Autoconf and Automake files (configure.ac and Makefile.am). When running autogen.sh script (which is not part of the GNU build system), it performs 2 steps: it runs autoreconf which creates the platform independent configuration and then it runs the generated script &quot;configure&quot; which creates the platform specific configuration. A tarball can be created from git on Linux and then be installed and configured on Solaris.<BR>
<BR>
In util/modular, scripts like build.sh and others have been created to cycle through all 240+ independent modules. They know nothing about the platform where they are executed and nothing about the tools needed to build (e.g. compilers, lex &amp; yacc, etc...)<BR>
<BR>
Assuming all the tools required to build are installed on a given platform, you can go to any X.Org package and type &quot;./configure ; make install&quot; and it should work (add your --prefix). <BR>
<BR>
What is typically not easy is to have all the tools lined up properly on a given platform. I have counted about 32 of them. I have documented them for Ubuntu and OpenSolaris. It would be nice to complete the list with those missing. <A HREF="http://wiki.x.org/wiki/RequiredPackages">http://wiki.x.org/wiki/RequiredPackages</A><BR>
<BR>
It looks like you are struggling with Python. I recall a similar issue on OpenSolaris which was solved by installed a python-lxml package. Maybe that can help.<BR>
<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
Matt
_______________________________________________
<A HREF="mailto:xorg-devel@lists.x.org">xorg-devel@lists.x.org</A>: X.Org development
Archives: <A HREF="http://lists.x.org/archives/xorg-devel">http://lists.x.org/archives/xorg-devel</A>
Info: <A HREF="http://lists.x.org/mailman/listinfo/xorg-devel">http://lists.x.org/mailman/listinfo/xorg-devel</A>
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>