[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freeradius-users
Subject:    Re: Compiling FreeRADIUS CVS on FreeBSD -- dismal failures
From:       Chris Shenton <Chris.Shenton () hq ! nasa ! gov>
Date:       2004-06-30 21:53:39
Message-ID: 86zn6kpva4.fsf () Palimpsest ! saic ! hq ! nasa ! gov
[Download RAW message or body]

"Alan DeKok" <aland@ox.org> writes:

> That's the problem.  For some reason, it's picking
> /usr/local/lib/libradius.so, rather than the local libradius.so
> (or.a)
> 
> My suggestion is to NOT do "-L/usr/local/lib", and/or to temporarily
> "chmod -x /usr/local/lib/libradius.so", while building the server.

Makes sense.  I delete all my old freeradius stuff, blow-away the CVS,
and re-get via cvs.

To keep things really simple I do "./configure" then "make", it fails:

  chris@PECTOPAH(275> make
  Making all in libltdl...
  gmake[1]: Entering directory `/usr/local/src/CVS/freeradius/radiusd/libltdl'
  /usr/local/bin/bash ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.     -g \
-O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DOPENSSL_NO_KRB5   -Wall -D_GNU_SOURCE \
-g -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings \
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -W \
                -Wredundant-decls -Wundef -c ltdl.c
  ./libtool: line 1: s,^.*/,,g: No such file or directory
  ./libtool: line 1: -e: command not found
  *** Warning: inferring the mode of operation is deprecated.
  *** Future versions of Libtool will require -mode=MODE be specified.
  ./libtool: line 1: -e: command not found
  [repeated 27 more times]
  : compile: cannot determine name of library object from `'
  gmake[1]: *** [ltdl.lo] Error 1
  gmake[1]: Leaving directory `/usr/local/src/CVS/freeradius/radiusd/libltdl'
  gmake: *** [common] Error 1
  *** Error code 2

  Stop in /usr/local/src/CVS/freeradius/radiusd.

It is occurring here:

  progname=`echo "$progpath" | $SED $basename`

because $SED is undefined so I defined it at the top of the file

  SED="/usr/bin/sed"

I tried to get "configure" to set this with

  ./configure SED=/usr/bin/sed

but see the libltdl/libtool is hosed around line 55

  # The host system.
  host_alias=SED=/usr/bin/sed
  host=

Without my "configure SED=/usr/bin/sed" thing, those lines were:

  # The host system.
  host_alias=i386-unknown-freebsd5.2
  host=i386-unknown-freebsd5.2


It also looks like the top level Makefile wasn't created properly,
both with and without my "configure SED=/usr/bin/sed" thing;
there's no source specified in the "install" target:

  install:
	$(INSTALL) -d -m 755	$(R)$(sbindir)
	$(INSTALL) -d -m 755	$(R)$(bindir)
	$(INSTALL) -d -m 755	$(R)$(raddbdir)
	$(INSTALL) -d -m 755	$(R)$(mandir)
	$(INSTALL) -d -m 755	$(R)$(RUNDIR)
	$(INSTALL) -d -m 700	$(R)$(logdir)
	$(INSTALL) -d -m 700	$(R)$(radacctdir)
	$(INSTALL) -d -m 700	$(R)$(datadir)
	$(INSTALL) -d -m 755	$(R)$(dictdir)
	for i in 1 5 8; do \
		$(INSTALL) -d -m 755	$(R)$(mandir)/man$$i; \
		for p in man/man$$i/*.$$i; do \
			$(INSTALL) -m 644 $$p $(R)$(mandir)/man$$i; \
		done \
	done
	@$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
	@echo "Installing dictionary files in $(R)$(dictdir)"; \
	cd share; \
	for i in dictionary*; do \
		$(INSTALL) -m 644 $$i $(R)$(dictdir); \
	done
	$(LIBTOOL) --finish $(R)$(libdir)

Is there something wrong with how SED is getting set/used which cause
configure to generate broken libltdl/libtool and Makefile? I have a
suspicion that a broken SED may have caused the generation of other
slightly-broken files.  Or am I confused?

I can do a manual install but I haven't got all the bits in the
directories it wants yet.  Any suggestions? 

Thanks.

- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic