How to compile a selected subset of xorg?

Fulko Hew fulko.hew at gmail.com
Tue Oct 2 06:22:29 PDT 2007


On 10/1/07, Peter Hutterer <mailinglists at who-t.net> wrote:
>
> Fulko Hew wrote:
> > In the end, I only really needed 17 pieces of the tree to get _my_
> > requirements met.
>
> can you post these 17 pieces to the list and/or the wiki. this question
> is recurring, so giving people a sane starting point seems like a good
> idea.


OK... In my case my project involved building Wireshark to run on a
headless client, and export its display to an external Linux/Unix PC
that acts as the X server.

In the beginning, I retrieved the tarballs (because I've never used
git and I thought the tarballs would be easier).  I ran my ported
Wireshark and whenever it told me about a missing library, I then
unpacked the appropriate tarball, and built it.  I was soon in
a dependancy hell, where to build one library, I had to have a lot
of other things pre-built (this nesting was sometimes many layers
deep).  Then I asked this list how they do it, and someone pointed me at
the wiki where I found 'build-from-tarballs.sh'.  I used that (because
I resolved the dependency order problem, commented out the X server
stuff I wasn't going to need, and built the rest.

Finally I got Wirehark to run on my 'test' system where I built and
installed everything.

But the problem still was... which libraries/apps did I really need.
Being an embedded system:

 a) I didn't want to package up (we use RPM) everything in X,
 b) we have download bandwidth/distribution issues to our customer's
targets.

So I only want to package and distribute only the minimum set of stuff
we had to have in order to run the app.

So again, I kept trying to run Wireshark, and everytime it complained
about a missing something, I'm RPM'ify that module, install it on a 2nd
test machine and try running Wireshark again.  Eventually I came up
with my list.

Then I still had an issue of what fonts were needed.  To get that, I ran:

strace wireshark 2>&1 | grep open | grep fonts

only to find out, it needed two file (both from the same tarball)
Funny thing is... when I run the same version on my Fedora 6 laptop,
it requests a bunch more fonts ;-()  but I didn't really care.

So, my final list, to run Wireshark/tshark I needed:

>From the GTK development tree (in no particular order):

atk
cairo
glib2
gtk2
libpng
pango

>From X (in the order of determining missing stuff):

fontconfig
freetype
libxml2
libXrender
libX11
libXau
libXdmcp
libXfixes
libXext
libXinerama
libXrandr
libXcursor
libfontenc
mkfontscale
mkfontdir
font-bh-ttf

Now that was _my_ list, for _my_ particular app/problem.
Your millage _will_ vary.


Now that I've got all this done, I need to ensure that I can
recreate my development environment, because...

During my build excercise, while trying to figure out how to build X, GTK,
etc.
I did upgrade some of my development tools (like autoconfig, etc.)
so now I'm going to attempt to re-build GTK/X/Wirehark on a 3rd test
machine that only has my RPMs installed in order to see what dev tools
(if any) I also need to package up in order to recreate that development
environment.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg/attachments/20071002/474ce9f7/attachment.html>


More information about the xorg mailing list