Re: error building 2.0.7

Paul Gildea <[email protected]> Tue, 16 Oct 2018 15:25:07 +0100
Newsgroups gmane.linux.keepalived.devel
Message-ID <CAP3D3geqOqg7kxn_XGxqe9kDUkiuxyn2zV9JDT7E8ckn5ZQmjw@mail.gmail.com>
--===============6848122389382713188==
Content-Type: multipart/alternative; boundary="000000000000be65f20578595283"

--000000000000be65f20578595283
Content-Type: text/plain; charset="UTF-8"

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 <[email protected]>
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 [email protected]://lists.sourceforge.net/lists/listinfo/keepalived-devel
>
>

--000000000000be65f20578595283
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Thanks Quentin, that cleared up the issue=
 in my mind for me very well. Either solution worked fine and build is prog=
ressing further.<div>It looks like there are some more issues for me so I&#=
39;ll see how I get on and let you know of what happens:</div><div><br></di=
v><div><div><font face=3D"monospace, monospace">make[3]: Entering directory=
 `/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7new/keepalived/=
core&#39;</font></div><div><font face=3D"monospace, monospace">=C2=A0 CC =
=C2=A0 =C2=A0 =C2=A0 main.o</font></div><div><font face=3D"monospace, monos=
pace">=C2=A0 CC =C2=A0 =C2=A0 =C2=A0 daemon.o</font></div><div><font face=
=3D"monospace, monospace">=C2=A0 CC =C2=A0 =C2=A0 =C2=A0 pidfile.o</font></=
div><div><font face=3D"monospace, monospace">=C2=A0 CC =C2=A0 =C2=A0 =C2=A0=
 layer4.o</font></div><div><font face=3D"monospace, monospace">=C2=A0 CC =
=C2=A0 =C2=A0 =C2=A0 smtp.o</font></div><div><font face=3D"monospace, monos=
pace">=C2=A0 CC =C2=A0 =C2=A0 =C2=A0 global_data.o</font></div><div><font f=
ace=3D"monospace, monospace">=C2=A0 CC =C2=A0 =C2=A0 =C2=A0 global_parser.o=
</font></div><div><font face=3D"monospace, monospace">=C2=A0 CC =C2=A0 =C2=
=A0 =C2=A0 process.o</font></div><div><font face=3D"monospace, monospace">p=
rocess.c:41: error: expected &#39;=3D&#39;, &#39;,&#39;, &#39;;&#39;, &#39;=
asm&#39; or &#39;__attribute__&#39; before &#39;realtime_priority_set&#39;<=
/font></div><div><font face=3D"monospace, monospace">process.c:49: error: e=
xpected &#39;=3D&#39;, &#39;,&#39;, &#39;;&#39;, &#39;asm&#39; or &#39;__at=
tribute__&#39; before &#39;priority_set&#39;</font></div><div><font face=3D=
"monospace, monospace">process.c: In function &#39;set_process_priority&#39=
;:</font></div><div><font face=3D"monospace, monospace">process.c:79: error=
: &#39;priority_set&#39; undeclared (first use in this function)</font></di=
v><div><font face=3D"monospace, monospace">process.c:79: error: (Each undec=
lared identifier is reported only once</font></div><div><font face=3D"monos=
pace, monospace">process.c:79: error: for each function it appears in.)</fo=
nt></div><div><font face=3D"monospace, monospace">process.c:79: error: &#39=
;true&#39; undeclared (first use in this function)</font></div><div><font f=
ace=3D"monospace, monospace">process.c: In function &#39;reset_process_prio=
rity&#39;:</font></div><div><font face=3D"monospace, monospace">process.c:9=
1: error: &#39;priority_set&#39; undeclared (first use in this function)</f=
ont></div><div><font face=3D"monospace, monospace">process.c:91: error: &#3=
9;false&#39; undeclared (first use in this function)</font></div><div><font=
 face=3D"monospace, monospace">process.c: In function &#39;reset_process_pr=
iorities&#39;:</font></div><div><font face=3D"monospace, monospace">process=
.c:141: error: &#39;realtime_priority_set&#39; undeclared (first use in thi=
s function)</font></div><div><font face=3D"monospace, monospace">process.c:=
150: error: &#39;false&#39; undeclared (first use in this function)</font><=
/div><div><font face=3D"monospace, monospace">process.c:164: error: &#39;pr=
iority_set&#39; undeclared (first use in this function)</font></div><div><f=
ont face=3D"monospace, monospace">make[3]: *** [process.o] Error 1</font></=
div><div><font face=3D"monospace, monospace">make[3]: *** Waiting for unfin=
ished jobs....</font></div><div><font face=3D"monospace, monospace">make[3]=
: Leaving directory `/media/vmpart/vrrp/buildroot/output/build/keepalived-2=
.0.7new/keepalived/core&#39;</font></div><div><font face=3D"monospace, mono=
space">make[2]: *** [all-recursive] Error 1</font></div><div><font face=3D"=
monospace, monospace">make[2]: Leaving directory `/media/vmpart/vrrp/buildr=
oot/output/build/keepalived-2.0.7new/keepalived&#39;</font></div><div><font=
 face=3D"monospace, monospace">make[1]: *** [all-recursive] Error 1</font><=
/div><div><font face=3D"monospace, monospace">make[1]: Leaving directory `/=
media/vmpart/vrrp/buildroot/output/build/keepalived-2.0.7new&#39;</font></d=
iv><div><font face=3D"monospace, monospace">make: *** [/media/vmpart/vrrp/b=
uildroot/output/build/keepalived-2.0.7new/.stamp_built] Error 2</font></div=
></div><div><br></div></div></div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr">On Tue, 16 Oct 2018 at 14:26, Quentin Armitage &lt;<a href=3D"mail=
to:[email protected]">[email protected]</a>&gt; wrote:<br></div=
><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1=
px #ccc solid;padding-left:1ex"><div bgcolor=3D"#ffffff" text=3D"#2e3436" l=
ink=3D"#2a76c6" vlink=3D"#2e3436"><div>Paul,</div><div><br></div><div>This =
appears probably to be due to a conflict between uClibc using TIMER_MAX and=
 keepalived defining TIMER_MAX. glibc doesn&#39;t have a definition of, or =
use, TIMER_MAX, at least not on my systems, and musl doesn&#39;t appear to =
either.</div><div><br></div><div>So the problem would appear to be namespac=
e polution by uClibc. Looking at the uClibc-ng source code, TIMER_MAX doesn=
&#39;t appear to be used other than to define it if it is not defined, in c=
ommon/bits/uClibc_local_lim.h, so I suspect it is some historical code in u=
Clibc that should be removed.</div><div><br></div><div>It would be simple e=
nough to rename the TIMER_MAX used in keepalived to something else, and the=
re are only 4 lines in keepalived where it is used (all in read_timer in  l=
ib/parser.c).</div><div><br></div><div>Could you just try moving the defini=
tion 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 an=
d seeing if it resolves your problem. </div><div><br></div><div>Please let =
me know what you work out, and we can then see if we can push a commit to w=
ork around the problem in uClibc.</div><div><br></div><div>Quentin Armitage=
</div><div>On Tue, 2018-10-16 at 12:22 +0100, Paul Gildea wrote:</div><bloc=
kquote type=3D"cite" style=3D"margin:0 0 0 .8ex;border-left:2px #729fcf sol=
id;padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><di=
v dir=3D"ltr">Hi,<div><br></div><div>I currently have 2.0.5 build and was t=
rying to patch it with a fix I need by patching this commit to it:</div><di=
v><a href=3D"https://github.com/acassen/keepalived/commit/37d6b3bc22d307d09=
ab8bd75111c3645c742c792" target=3D"_blank">https://github.com/acassen/keepa=
lived/commit/37d6b3bc22d307d09ab8bd75111c3645c742c792</a><br></div><div>How=
ever the code change must be too great between 2.0.5 and master because doi=
ng 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 buildi=
ng with the below error, do you know what might have changed to cause this =
or what is happening? I&#39;m not sure from reading the changelog. I have a=
lso tried to build 2.0.6 to narrow it down, =C2=A0which worked fine.</div><=
div><br></div><div><div><font face=3D"monospace, monospace">/media/vmpart/v=
rrp/buildroot/output/host/usr/x86_64-unknown-linux-uclibc/sysroot/usr/inclu=
de/bits/uClibc_local_lim.h:15:3: error: #error local_lim.h was incorrectly =
updated, use the NPTL version from glibc</font></div><div><font face=3D"mon=
ospace, monospace">make[3]: *** [parser.o] Error 1</font></div><div><font f=
ace=3D"monospace, monospace">make[3]: *** Waiting for unfinished jobs....</=
font></div><div><font face=3D"monospace, monospace">=C2=A0 CC =C2=A0 =C2=A0=
 =C2=A0 logger.o</font></div><div><font face=3D"monospace, monospace">make[=
3]: Leaving directory `/media/vmpart/vrrp/buildroot/output/build/keepalived=
-2.0.7/lib&#39;</font></div><div><font face=3D"monospace, monospace">make[2=
]: *** [all] Error 2</font></div><div><font face=3D"monospace, monospace">m=
ake[2]: Leaving directory `/media/vmpart/vrrp/buildroot/output/build/keepal=
ived-2.0.7/lib&#39;</font></div><div><font face=3D"monospace, monospace">ma=
ke[1]: *** [all-recursive] Error 1</font></div><div><font face=3D"monospace=
, monospace">make[1]: Leaving directory `/media/vmpart/vrrp/buildroot/outpu=
t/build/keepalived-2.0.7&#39;</font></div><div><font face=3D"monospace, mon=
ospace">make: *** [/media/vmpart/vrrp/buildroot/output/build/keepalived-2.0=
.7/.stamp_built] Error 2</font></div></div><div><br></div><div><br></div><d=
iv>Looking at the file with that error I see:</div><div><br></div><div><div=
 class=3D"m_6887387999980913702gmail-add" style=3D"color:green;font-size:13=
.3333px;white-space:pre-wrap"><font face=3D"monospace, monospace">#if !defi=
ned PTHREAD_KEYS_MAX || defined TIMER_MAX || !defined SEM_VALUE_MAX</font><=
/div><div class=3D"m_6887387999980913702gmail-ctx" style=3D"color:rgb(51,51=
,51);font-size:13.3333px;white-space:pre-wrap"><font face=3D"monospace, mon=
ospace"># error local_lim.h was incorrectly updated, use the NPTL version f=
rom glibc</font></div><div class=3D"m_6887387999980913702gmail-ctx" style=
=3D"color:rgb(51,51,51);font-size:13.3333px;white-space:pre-wrap"><font fac=
e=3D"monospace, monospace">#endif</font></div></div><div class=3D"m_6887387=
999980913702gmail-ctx" style=3D"color:rgb(51,51,51);font-size:13.3333px;whi=
te-space:pre-wrap"><font face=3D"monospace, monospace"><br></font></div><di=
v class=3D"m_6887387999980913702gmail-ctx" style=3D"color:rgb(51,51,51);fon=
t-size:13.3333px;white-space:pre-wrap"><font face=3D"monospace, monospace">=
Regards,</font></div><div class=3D"m_6887387999980913702gmail-ctx" style=3D=
"color:rgb(51,51,51);font-size:13.3333px;white-space:pre-wrap"><font face=
=3D"monospace, monospace"><br></font></div><div class=3D"m_6887387999980913=
702gmail-ctx" style=3D"color:rgb(51,51,51);font-size:13.3333px;white-space:=
pre-wrap"><font face=3D"monospace, monospace">--</font></div><div class=3D"=
m_6887387999980913702gmail-ctx" style=3D"color:rgb(51,51,51);font-size:13.3=
333px;white-space:pre-wrap"><font face=3D"monospace, monospace">Paul</font>=
</div></div></div></div></div>
<pre>_______________________________________________
Keepalived-devel mailing list
<a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]</a>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/keepalived-devel" t=
arget=3D"_blank">https://lists.sourceforge.net/lists/listinfo/keepalived-de=
vel</a>
</pre></blockquote></div></blockquote></div>

--000000000000be65f20578595283--


--===============6848122389382713188==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============6848122389382713188==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel

--===============6848122389382713188==--