Re: [Keepalived-devel] error building 2.0.7
Status: Beta
Brought to you by:
acassen
|
From: Quentin A. <qu...@ar...> - 2018-10-16 13:26:45
|
Paul, This appears probably to be due to a conflict between uClibc using TIMER_MAX and keepalived defining TIMER_MAX. glibc doesn't have a definition of, or use, TIMER_MAX, at least not on my systems, and musl doesn't appear to either. So the problem would appear to be namespace polution by uClibc. Looking at the uClibc-ng source code, TIMER_MAX doesn't appear to be used other than to define it if it is not defined, in common/bits/uClibc_local_lim.h, so I suspect it is some historical code in uClibc that should be removed. It would be simple enough to rename the TIMER_MAX used in keepalived to something else, and there are only 4 lines in keepalived where it is used (all in read_timer in lib/parser.c). Could you just try moving the definition of TIMER_MAX from lib/parser.h to lib/parser.c and see if that works. If not, could you try changing it to TIMER_MAX_UL or something like that and seeing if it resolves your problem. Please let me know what you work out, and we can then see if we can push a commit to work around the problem in uClibc. Quentin ArmitageOn Tue, 2018-10-16 at 12:22 +0100, Paul Gildea wrote: > Hi, > I currently have 2.0.5 build and was trying to patch it with a fix I > need by patching this commit to it: > https://github.com/acassen/keepalived/commit/37d6b3bc22d307d09ab8bd75 > 111c3645c742c792 > However the code change must be too great between 2.0.5 and master > because doing so causes build errors. To make the code more similar > before patching I decided to upgrade to the latest release, 2.0.7, > however that is not building with the below error, do you know what > might have changed to cause this or what is happening? I'm not sure > from reading the changelog. I have also tried to build 2.0.6 to > narrow it down, which worked fine. > > /media/vmpart/vrrp/buildroot/output/host/usr/x86_64-unknown-linux- > uclibc/sysroot/usr/include/bits/uClibc_local_lim.h:15:3: error: > #error local_lim.h was incorrectly updated, use the NPTL version from > glibc > make[3]: *** [parser.o] Error 1 > make[3]: *** Waiting for unfinished jobs.... > CC logger.o > make[3]: Leaving directory > `/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7/lib' > make[2]: *** [all] Error 2 > make[2]: Leaving directory > `/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7/lib' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory > `/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7' > make: *** [/media/vmpart/vrrp/buildroot/output/build/keepalived- > 2.0.7/.stamp_built] Error 2 > > > Looking at the file with that error I see: > > #if !defined PTHREAD_KEYS_MAX || defined TIMER_MAX || !defined > SEM_VALUE_MAX > # error local_lim.h was incorrectly updated, use the NPTL version > from glibc > #endif > > > Regards, > > > -- > Paul > > _______________________________________________ > Keepalived-devel mailing list > Kee...@li... > https://lists.sourceforge.net/lists/listinfo/keepalived-devel |