OK, I've fixed a bug with dependencies, where it wouldn't re-build a C file if a header changed. I've also added some "configure" support. So modules like rlm_pam, python, perl, etc. only get built if their prerequisites are found. One benefit is that "make -j 8" now works. On my quad-core system I get this: $ time make -j 8 clean all ... real 0m4.357s user 0m24.702s sys 0m3.580s A complete build in less than 5 seconds. Very nice! Alan DeKok.
On 01/26/2012 08:57 AM, Alan DeKok wrote:
OK, I've fixed a bug with dependencies, where it wouldn't re-build a C file if a header changed. I've also added some "configure" support. So modules like rlm_pam, python, perl, etc. only get built if their prerequisites are found.
FWIW on a clean checkout I'm getting: checking for pam/pam_appl.h... no configure: creating ./config.status config.status: creating Makefile config.status: error: cannot find input file: all.mk.in configure: error: ./configure failed for src/modules/rlm_pam ...and ./configure bombs out.
Hi,
FWIW on a clean checkout I'm getting:
checking for pam/pam_appl.h... no configure: creating ./config.status config.status: creating Makefile config.status: error: cannot find input file: all.mk.in configure: error: ./configure failed for src/modules/rlm_pam
vi src/modules/rlm_pam/all.mk.in TARGET = @targetname.a SOURCES = rlm_pam.c TGT_LDLIBS = @pam_ldflags@ SRC_CFLAGS = @pam_cflags@ ...however, I then had to edit src/modules/rlm_krb5/rlm_krb5.c #include <et/com_err.h> instead of #include <com_err.h> ...which I've not neede to do before... but then it doesnt compile at the end build/lib/.libs/rlm_sql.so: undefined reference to `fr_connection_reconnect' build/lib/.libs/rlm_sql.so: undefined reference to `fr_connection_pool_delete' build/lib/.libs/rlm_perl.so: undefined reference to `boot_DynaLoader' build/lib/.libs/rlm_sql.so: undefined reference to `fr_connection_release' build/lib/.libs/rlm_sql.so: undefined reference to `fr_connection_get' build/lib/.libs/rlm_sql.so: undefined reference to `fr_connection_pool_init' collect2: ld returned 1 exit status make: *** [build/bin/radiusd] Error 1 alan
Alan Buxey wrote:
vi src/modules/rlm_pam/all.mk.in ... ...however, I then had to edit src/modules/rlm_krb5/rlm_krb5.c ... build/lib/.libs/rlm_sql.so: undefined reference to `fr_connection_reconnect' ... build/lib/.libs/rlm_perl.so: undefined reference to `boot_DynaLoader'
All fixed. Please do "git pull". The builds are now ~4s, which is great. But "configure" still takes *forever*. Maybe I'll try fixing that next. Alan DeKok.
On 26/01/12 08:57, Alan DeKok wrote:
$ time make -j 8 clean all ... real 0m4.357s user 0m24.702s sys 0m3.580s
I just wanted to say: this is awesome by the way! The compile is so so much faster now, and you really notice it when compiling after minor edits. Great stuff!
Hi,
On 26/01/12 08:57, Alan DeKok wrote:
$ time make -j 8 clean all ... real 0m4.357s user 0m24.702s sys 0m3.580s
I just wanted to say: this is awesome by the way! The compile is so so much faster now, and you really notice it when compiling after minor edits. Great stuff!
core blimey, this is a blast from the past - this thread is so old(!) :-) alan
alan buxey <A.L.M.Buxey@lboro.ac.uk> wrote:
Hi,
On 26/01/12 08:57, Alan DeKok wrote:
$ time make -j 8 clean all ... real 0m4.357s user 0m24.702s sys 0m3.580s
I just wanted to say: this is awesome by the way! The compile is so so much faster now, and you really notice it when compiling after minor edits. Great stuff!
core blimey, this is a blast from the past - this thread is so old(!) :-)
alan - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html
I could have sworn Alan sent a more recent email mentioning the faster builds. Maybe I'm just getting old and forgetful! Anyway: it's great! -- Sent from my phone. Please excuse brevity and typos.
participants (4)
-
Alan Buxey -
alan buxey -
Alan DeKok -
Phil Mayers