troglobit / pimd

PIM-SM/SSM multicast routing for UNIX and Linux
http://troglobit.com/projects/pimd/
BSD 3-Clause "New" or "Revised" License
194 stars 86 forks source link

make fail on pimd-2.3.2 'LLONG_MIN' undeclared in function 'strtonum' #117

Closed whirreledpeas closed 6 years ago

whirreledpeas commented 6 years ago

I'm sure this is an issue with my install but I can't get through the compile. It keeps failing on the strtonum in libite with pimd-2.3.2. I am running slackware 11.0 with 2.6.18 Kernel and all the necessary pieces enabled in the kernel. Just need to multicast snoop on one side of the device for routing to the other. Thanks in advance!

John

troglobit commented 6 years ago

LLONG_MIN should be defined in your system header files --> /usr/include/limits.h, not sure when this was added to GLIBC though.

You can try patching `strtonum.c' with something like this:

/* Unless defined in GLIBC */
#ifndef LLONG_MAX
# define LLONG_MAX 0x7fffffffffffffffLL
#endif

#ifndef LLONG_MIN
# define LLONG_MIN (-0x7fffffffffffffffLL-1)
#endif
troglobit commented 6 years ago

In the upcoming pimd v3.0 the libite requirement has been removed, and strtonum.c has been added as a compat function to the pimd sources. I just pushed a commit including the above change to address older this issue.

whirreledpeas commented 6 years ago

Much thanks for the quick response. Did the trick! Now have snooping and advertising on both sides of the router/firewall. I will be using V3.0 on all my newer Slackware 14+ installs. Perfect!