Re: [Keepalived-devel] error building 2.0.7
Status: Beta
Brought to you by:
acassen
|
From: Paul G. <gi...@tc...> - 2018-10-16 14:51:06
|
Thanks Quentin, that cleared up the issue in my mind for me very well. Either solution worked fine and build is progressing further. It looks like there are some more issues for me so I'll see how I get on and let you know of what happens: make[3]: Entering directory `/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7new/keepalived/core' CC main.o CC daemon.o CC pidfile.o CC layer4.o CC smtp.o CC global_data.o CC global_parser.o CC process.o process.c:41: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'realtime_priority_set' process.c:49: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'priority_set' process.c: In function 'set_process_priority': process.c:79: error: 'priority_set' undeclared (first use in this function) process.c:79: error: (Each undeclared identifier is reported only once process.c:79: error: for each function it appears in.) process.c:79: error: 'true' undeclared (first use in this function) process.c: In function 'reset_process_priority': process.c:91: error: 'priority_set' undeclared (first use in this function) process.c:91: error: 'false' undeclared (first use in this function) process.c: In function 'reset_process_priorities': process.c:141: error: 'realtime_priority_set' undeclared (first use in this function) process.c:150: error: 'false' undeclared (first use in this function) process.c:164: error: 'priority_set' undeclared (first use in this function) make[3]: *** [process.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7new/keepalived/core' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7new/keepalived' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7new' make: *** [/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7new/.stamp_built] Error 2 On Tue, 16 Oct 2018 at 14:26, Quentin Armitage <qu...@ar...> wrote: > 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 Armitage > On 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/37d6b3bc22d307d09ab8bd75111c3645c742c792 > 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 lis...@li...://lists.sourceforge.net/lists/listinfo/keepalived-devel > > |