[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help compiling 4.3.0 for 3.1 stable



Thanks very much Aaron for your help.  For the benefit of newbies with
similar questions, and without wanting to continue discussion on this
list, here is what I did.

BTW, Google has a new code search service:

  http://www.google.com/codesearch/advanced_code_search


> You will almost certainly need to install a number of additional
> packages;
> 
>     apt-get build-dep xfree86
> 
> should take care of that step.

Indeed - 30 packages which I won't list here.

As you suggested, I downloaded the .dsc file and used dpkg-source:

In a directory "zz/" with:

   xfree86_4.3.0.dfsg.1.orig.tar.gz
   xfree86_4.3.0.dfsg.1-14sarge1.diff.gz
   xfree86_4.3.0.dfsg.1-14sarge1.dsc

I ran:

  dpkg-source -x xfree86_4.3.0.dfsg.1-14sarge1.dsc

This gave me:

  zz/xfree86-4.3.0.dfsg.1/
  zz/xfree86-4.3.0.dfsg.1/xfree86-4.3.0.tar.gz
  zz/xfree86-4.3.0.dfsg.1/debian/
  zz/xfree86-4.3.0.dfsg.1/debian/local/
  zz/xfree86-4.3.0.dfsg.1/debian/patches/
  zz/xfree86-4.3.0.dfsg.1/debian/po/
  zz/xfree86-4.3.0.dfsg.1/debian/scripts/
  zz/xfree86-4.3.0.dfsg.1/debian/README
  zz/xfree86-4.3.0.dfsg.1/debian/rules          << Executable
  zz/xfree86-4.3.0.dfsg.1/debian/... and many more files

Then from zz/xfree86-4.3.0.dfsg.1/:

  debian/rules unpacked

created:

  zz/xfree86-4.3.0.dfsg.1/stampdir/
  zz/xfree86-4.3.0.dfsg.1/stampdir/log/
  zz/xfree86-4.3.0.dfsg.1/stampdir/sources/
  zz/XF-comp/xfree86-4.3.0.dfsg.1/build-tree/
  zz/xfree86-4.3.0.dfsg.1/build-tree/xc/
  zz/xfree86-4.3.0.dfsg.1/build-tree/xc/config/
  zz/xfree86-4.3.0.dfsg.1/build-tree/xc/doc/  etc. - the source tree

Now:

  debian/rules setup

works like a charm.  It applies about 240 patches from debian/patches.

Being a newbie, I didn't know what to do next, so I looked at
debian/rules to find a target which would compile the whole thing.  I
chose "build-arch-only" without too much thought.

  debian/rules build-arch-only

After 1.5 hours, I had a largish (22 Megs) XFree86 server binary (I
guess it compiled in all the drivers rather than making them modules) in:

  zz/xfree86-4.3.0.dfsg.1/build-tree/xc/programs/Xserver/

which I could copy to /usr/X11R6/bin/ in place of the old 1.7 Meg
version.  This runs fine.  There was also a very large XFree86 in
another tree under:

  zz/xfree86-4.3.0.dfsg.1/build-tree/xc-xserver-xfree86-dbg/

which I guess is full of debugging information.

Googling reveals that this "build-arch-only" target is not favoured:

  http://lists.debian.org/debian-x/2006/04/msg00064.html

and that most people use dpkg-buildpackage instead.

I found that I could change some code in:

 zz/xfree86-4.3.0.dfsg.1/build-tree/xc/programs/Xserver/hw/xfree86/common/xf86Xinput.c

and recompile the server only from:

  zz/xfree86-4.3.0.dfsg.1/build-tree/xc/programs/Xserver/

with:

  make Makefile
  make Makefiles
  make includes
  make depend
  make

The resulting XFree86 server in that directory embodied my changes.

Other newbies might pursue more conventional approaches to building via:

  man dpkg-buildpackage
  http://people.debian.org/~mpalmer/debian-mentors_FAQ.html
  http://www-128.ibm.com/developerworks/linux/library/l-debpkg.html
  http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules

   - Robin    http://www.firstpr.com.au







Reply to: