From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 28 Feb 2008 18:27:38 +0100 From: Enrico Weigelt To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] plan9 httpd/pegasus on unix? Message-ID: <20080228172737.GA9702@nibiru.local> References: <20080223212240.GB4284@gluon> <47C29FC1.6020202@proweb.co.uk> <13426df10802250725w5e777a14n188dadeab28da480@mail.gmail.com> <4f34febc0802250826j34a1a5eucce219fe85970dad@mail.gmail.com> <20080227155247.GA23909@nibiru.local> <140e7ec30802272323n2ddc13bbu59050c05ba390be8@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <140e7ec30802272323n2ddc13bbu59050c05ba390be8@mail.gmail.com> User-Agent: Mutt/1.4.1i Topicbox-Message-UUID: 6804b764-ead3-11e9-9d60-3106f5b1d025 * sqweek 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 , 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/ ---------------------------------------------------------------------