9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Enrico Weigelt <weigelt@metux.de>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] plan9 httpd/pegasus on unix?
Date: Thu, 28 Feb 2008 18:27:38 +0100	[thread overview]
Message-ID: <20080228172737.GA9702@nibiru.local> (raw)
In-Reply-To: <140e7ec30802272323n2ddc13bbu59050c05ba390be8@mail.gmail.com>

* sqweek <sqweek@gmail.com> wrote:
> >  Did you ever try to building qmail ?
>
>  Yes. On linux and netbsd. With and without various patches. Works perfectly.

Well, you've probably got the netqmail port, which automatically patches
it's own sourcetree within the build process. (AFAIK, DJB's license
doesn't allow shipping an complete sourcetree, so netqmail has to
be shipped as patch against qmail).

For local/native builds it might be okay, but for my crosscompiling/
sysroot'ing needs it's totally unusable. (at least the latest version
I tried several month ago)

> >  For some customer, I had to get it built in our automated image
> >  builder (which does evrything from scratch wit an sysroot'ed
> >  cross-toolchain).
>
> $ uname -p
> x86_64
> $ echo cc -m32 -O2 -include /usr/include/errno.h >conf-cc
> $ echo cc -m32 >conf-ld
> $ make

Well, this *very* unobvious and complex (instead of just passing $CC and
$LD to make), requires me to maintain additional logic, which woulnd't
be necessary, if DJB could write his makefiles in more standard and sane
ways ;-P

>  Granted, the -include is a bitch and took me awhile to work out.

Actually, this is crap. Probably he just forgets the #include's.
Having to include an absolute file is *very* bad for automated build systems.
BTW: ANSI-C and ISO-C spec define <errno.h>, not /usr/include/errno.h
(it's up to the compiler to find it).

>  The sysroot requirement is a little harder to meet, but really just
> requires a mount --bind /tmp/sysroot/var/qmail /var/qmail. Or, if
> you're running qmail on the host and really can't afford to stop it
> for a minute or two, a custom setup rule based on hier.c (or use a
> chroot - oh if only lunix had private namespaces...).

chroot != sysroot.

An sysroot is required for clean crosscompiling. Obviously you CANNOT
run the freshly compiled binaries there.

DBJ does really a lot of executing freshly compiled stuff, also for
finding out things which are already provided by the toolchain
(eg. typesizes). And - consider this insanity - he compiles-in
numeric user id's of the building system. Obvoius that this sooner
or later will cause great headhache.

> > Required me to completely rewrite all makefiles.
>
>  Just like you had to fork libixp and rewrite all its makefiles?

No, I forked libixp because it didn't yet suit my needs
(makefiles were quite okay). The result of my works on this front
are libmixp, libmixpsrv and libmvfs which are totally different
from libixp - an *complete* fork (including distinct naming)
was an obvious move from start on.

> You can rewrite makefiles in every spare second of your time and I
> don't care. However, your apparent inability to grasp any build system
> not written by yourself is no excuse to spread FUD about other
> packages.

Your personal ranting doesn't bring any argument, neither anything
else productive, and just wastes bandwidth.


cu
--
---------------------------------------------------------------------
 Enrico Weigelt    ==   metux IT service - http://www.metux.de/
---------------------------------------------------------------------
 Please visit the OpenSource QM Taskforce:
 	http://wiki.metux.de/public/OpenSource_QM_Taskforce
 Patches / Fixes for a lot dozens of packages in dozens of versions:
	http://patches.metux.de/
---------------------------------------------------------------------


  reply	other threads:[~2008-02-28 17:27 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-23 21:22 lejatorn
2008-02-23 21:34 ` erik quanstrom
2008-02-23 22:13 ` Skip Tavakkolian
2008-02-25 11:00 ` maht
2008-02-25 15:25   ` ron minnich
2008-02-25 16:26     ` John Barham
2008-02-27 15:52       ` Enrico Weigelt
2008-02-27 17:50         ` Steve Simon
2008-02-28  5:24         ` John Barham
2008-02-28  7:23         ` sqweek
2008-02-28 17:27           ` Enrico Weigelt [this message]
2008-02-28 19:23             ` Chad Dougherty
2008-02-29 14:43               ` Enrico Weigelt
2008-02-29  0:26             ` sqweek
2008-02-29 18:16               ` Enrico Weigelt
2008-02-29 18:18                 ` erik quanstrom
2008-02-29 18:37                 ` Uriel
2008-02-29 18:44                 ` Russ Cox
2008-02-25 16:30     ` lejatorn
2008-02-25 16:48       ` Kernel Panic
2008-02-25 19:03 ` Uriel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080228172737.GA9702@nibiru.local \
    --to=weigelt@metux.de \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).