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

[altq 425] Re: Altq-2.1 and rsvp tools link errors




I guess you just had old object files.  Try "make clean".

The rsvp package uses "log()" for logging messages.  The function is
defined in rsvp_debug.c.
As you pointed out, this name conflicts with the logarithm function
name in the math library, and could have nasty side effects if you
want to use the math library.
So, I modified Makefile to rename log() to log_write() by C
preprocesser to avoid the conflict.
If you compile rsvp_debug.c, the original log() function should be
compiled as log_write().

-Kenjiro

Cambria, Mike wrote:
> Hi,
> 
> I've installed altq-2.1 on FreeBSD-3.4-Release as well as RSVP
> (rsvpd.rel4.2a4-1.tar) from ISI as instructed in the rsvpd-kit directory.
> After applying the patch as instructed in the README, I get link errors in
> the tools directory.  Altq itself and rsvpd (with the api programs in the
> apitools directory) work.
> 
> The link errors result from the definition of log as log_write.  Did I
> missed something?  Did I screw something up?  I know I can work around these
> problems, but do others see the same thing?  I so, I wanted to call it to
> your attention.  If I am the only one, I will start looking for what I did
> wrong.
> 
> The first case looks like it is simply the log() function being redefined
> from the logarithm lib call to the log_write call.
> 
> The second case is altq defining where logging is to be done.  However, altq
> never patched this function into the rsvp distribution.  The function
> log_write does exist, in altqd.c, but doesn't end up in libaltq (which rsvpd
> does link against.)
> 
> The errors are shown below:
> 
> bash-2.03# make
> ../bin/loader gcc -g -Wall -I../rsvpd -DRSVP_DIAG -L../rsvpd -o rstat
> rstat.o -lutil -lrsvp -lm
> ../rsvpd/libutil.a(rsvp_specs.o): In function `math_log':
> /usr/local/rel4.2a4/rsvpd/rsvp_specs.c(.text+0x251e): undefined reference to
> `log_write'
> ../rsvpd/libutil.a(rsvp_print.o): In function `rsvp_print_pkt':
> /usr/local/rel4.2a4/rsvpd/rsvp_print.c:123: undefined reference to
> `log_write'
> /usr/local/rel4.2a4/rsvpd/rsvp_print.c:126: undefined reference to
> `log_write'
> /usr/local/rel4.2a4/rsvpd/rsvp_print.c:128: undefined reference to
> `log_write'
> /usr/local/rel4.2a4/rsvpd/rsvp_print.c:136: undefined reference to
> `log_write'
> ../rsvpd/libutil.a(rsvp_print.o):/usr/local/rel4.2a4/rsvpd/rsvp_print.c:138:
> more undefined references to `log_write' follow
> *** Error code 1
> 
> 
> Thanks,
> MikeC
>