Re: [vpp-dev] Missing lib pneum during build?
On Fri, Mar 17, 2017 at 3:57 AM, wrote: > Jon, > > > > > I am no fairly confident that this patch fixes the race condition issue > > that I was seeing. > > > > Now. I am now failry confident > Wow. I suck at this typing ting! :-) > > And I am still seeing the build failure. Is there any chance > > of getting this patch or a similar fix in place? > > Yes, that should now be taken care of with https://gerrit.fd.io/r/#/c/ > 5666/ > > Best regards, > Ole > Awesome! Thank you! jdl ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev
Re: [vpp-dev] Missing lib pneum during build?
Jon, > > I am no fairly confident that this patch fixes the race condition issue > that I was seeing. > > Now. I am now failry confident > > And I am still seeing the build failure. Is there any chance > of getting this patch or a similar fix in place? Yes, that should now be taken care of with https://gerrit.fd.io/r/#/c/5666/ Best regards, Ole signature.asc Description: Message signed with OpenPGP ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev
Re: [vpp-dev] Missing lib pneum during build?
On Fri, Mar 10, 2017 at 1:55 PM, Jon Loeliger wrote: > > > Ole, > > I am no fairly confident that this patch fixes the race condition issue > that I was seeing. > Now. I am now failry confident And I am still seeing the build failure. Is there any chance of getting this patch or a similar fix in place? Thanks, jdl ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev
Re: [vpp-dev] Missing lib pneum during build?
On Wed, Mar 8, 2017 at 2:16 AM, wrote: > Jon, > > I have also seen this error. What I suspect happens is that while pneum is > already built and that the build dependency is correct, the library isn't > installed under the install- directory yet. > > I didn't manage to reproduce it right now, but would you mind trying this > to see if it works: > > diff --git a/src/vpp-api/python/Makefile.am b/src/vpp-api/python/Makefile. > am > index 5407682..c60e4f4 100644 > --- a/src/vpp-api/python/Makefile.am > +++ b/src/vpp-api/python/Makefile.am > @@ -39,7 +39,7 @@ libpneum_la_LDFLAGS = -module > libpneum_la_CPPFLAGS = > > # TODO: Support both Python 2 and 3. > -install-exec-local: > +install-exec-local: install-libLTLIBRARIES > cd $(srcdir); \ > mkdir -p $(pythondir); \ > mkdir -p $(pyexecdir); \ > > > (In other news I am looking at using CFFI instead, and then the whole > vpp_api.so would go away). > > Cheers, > Ole > Ole, I am no fairly confident that this patch fixes the race condition issue that I was seeing. At first, I was seeing a failure at about a 1 in 3 rate. That backed off to about 1 in 9 recently. No idea why... However, after applying this patch, I've run more than 30 builds successfully without a failure now. I've not done the statistics to determine how confident I am. :-) But I say go with it! I'll watch for it and let you know if it resurfaces! Thank you! jdl ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev
Re: [vpp-dev] Missing lib pneum during build?
On Wed, Mar 8, 2017 at 2:16 AM, wrote: > Jon, > > > > On 8 Mar 2017, at 01:34, Jon Loeliger wrote: > > > > On Mon, Mar 6, 2017 at 2:57 PM, Jon Loeliger wrote: > > > > S, despite the Peanut Gallery, I'm not yet crazy... :-) > > > > Now all we have to do is find the missing dependency in a Makefile! :-) > > > I have also seen this error. What I suspect happens is that while pneum is > already built and that the build dependency is correct, the library isn't > installed under the install- directory yet. > > I didn't manage to reproduce it right now, but would you mind trying this > to see if it works: > > diff --git a/src/vpp-api/python/Makefile.am b/src/vpp-api/python/Makefile. > am > index 5407682..c60e4f4 100644 > --- a/src/vpp-api/python/Makefile.am > +++ b/src/vpp-api/python/Makefile.am > @@ -39,7 +39,7 @@ libpneum_la_LDFLAGS = -module > libpneum_la_CPPFLAGS = > > # TODO: Support both Python 2 and 3. > -install-exec-local: > +install-exec-local: install-libLTLIBRARIES > cd $(srcdir); \ > mkdir -p $(pythondir); \ > mkdir -p $(pyexecdir); \ > > > (In other news I am looking at using CFFI instead, and then the whole > vpp_api.so would go away). > > Cheers, > Ole > Hi Ole, I am still working on confirming or refuting this patch. Naturally, since you sent that, my build server has failed to show the problem in, oh 20 builds or so. It used to fail 50% of the time... So I continue to build... Thanks, jdl ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev
Re: [vpp-dev] Missing lib pneum during build?
Jon, > On 8 Mar 2017, at 01:34, Jon Loeliger wrote: > > On Mon, Mar 6, 2017 at 2:57 PM, Jon Loeliger wrote: > > Hi Billy, > > S, despite the Peanut Gallery, I'm not yet crazy... :-) > > Now all we have to do is find the missing dependency in a Makefile! :-) > > Thanks, > jdl > > I may not be crazy (yet), but I am in a vacuum. > > OK, as a review, here is the error message: > > running build_ext > building 'vpp_api' extension > creating build > creating build/temp.linux-x86_64-2.7 > creating build/temp.linux-x86_64-2.7/vpp_papi > gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 > -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv > -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 > -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC > -I/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/ > -I/usr/include/python2.7 -c vpp_papi/pneum_wrap.c -o > build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o > creating build/lib.linux-x86_64-2.7 > gcc -pthread -shared -Wl,-z,relro > build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o > -L/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64 > -L. -lpneum -lpython2.7 -o build/lib.linux-x86_64-2.7/vpp_api.so > /bin/ld: cannot find -lpneum > collect2: error: ld returned 1 exit status > error: command 'gcc' failed with exit status 1 > make[7]: *** [install-exec-local] Error 1 > > > So, let's pick on install-exec-local. That is from > src/vpp-api/python/Makefile.am: > > install-exec-local: > cd $(srcdir); \ > mkdir -p $(pythondir); \ > mkdir -p $(pyexecdir); \ > PYTHONUSERBASE=$(prefix)\ > python setup.py build_ext -L $(libdir) \ > -I $(prefix)/include/ install --user > > And the setup.py in that directory says: > > setup (name = 'vpp_papi', >version = '1.3', >description = 'VPP Python binding', >author = 'Ole Troan', >author_email = 'o...@cisco.com', >test_suite = 'tests', >packages=['vpp_papi'], >ext_modules = [ >Extension( >'vpp_api', >sources = ['vpp_papi/pneum_wrap.c'], >libraries = ['pneum'], >)], >long_description = '''VPP Python language binding.''', >zip_safe = True, > ) > > Good, it lists pneum. But the problem is, we shouldn't run this > setup.py until after pneum is fully linked and on disk. This happened > too soon: > > gcc -pthread -shared -Wl,-z,relro > build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o > -L/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64 > -L. -lpneum -lpython2.7 -o build/lib.linux-x86_64-2.7/vpp_api.so > /bin/ld: cannot find -lpneum > > > Which means, the rule for vpp_api.so's dependencies, isn't listing the > real pneum library properly. > > I have no idea where that is supposed to take place yet. I have also seen this error. What I suspect happens is that while pneum is already built and that the build dependency is correct, the library isn't installed under the install- directory yet. I didn't manage to reproduce it right now, but would you mind trying this to see if it works: diff --git a/src/vpp-api/python/Makefile.am b/src/vpp-api/python/Makefile.am index 5407682..c60e4f4 100644 --- a/src/vpp-api/python/Makefile.am +++ b/src/vpp-api/python/Makefile.am @@ -39,7 +39,7 @@ libpneum_la_LDFLAGS = -module libpneum_la_CPPFLAGS = # TODO: Support both Python 2 and 3. -install-exec-local: +install-exec-local: install-libLTLIBRARIES cd $(srcdir); \ mkdir -p $(pythondir); \ mkdir -p $(pyexecdir); \ (In other news I am looking at using CFFI instead, and then the whole vpp_api.so would go away). Cheers, Ole signature.asc Description: Message signed with OpenPGP ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev
Re: [vpp-dev] Missing lib pneum during build?
On Mon, Mar 6, 2017 at 2:57 PM, Jon Loeliger wrote: > > Hi Billy, > > S, despite the Peanut Gallery, I'm not yet crazy... :-) > > Now all we have to do is find the missing dependency in a Makefile! :-) > > Thanks, > jdl > I may not be crazy (yet), but I am in a vacuum. OK, as a review, here is the error message: running build_ext building 'vpp_api' extension creating build creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/vpp_papi gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/ -I/usr/include/python2.7 -c vpp_papi/pneum_wrap.c -o build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o creating build/lib.linux-x86_64-2.7 gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o -L/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64 -L. -lpneum -lpython2.7 -o build/lib.linux-x86_64-2.7/vpp_api.so /bin/ld: cannot find -lpneum collect2: error: ld returned 1 exit status error: command 'gcc' failed with exit status 1 make[7]: *** [install-exec-local] Error 1 So, let's pick on install-exec-local. That is from src/vpp-api/python/Makefile.am: install-exec-local: cd $(srcdir); \ mkdir -p $(pythondir); \ mkdir -p $(pyexecdir); \ PYTHONUSERBASE=$(prefix)\ python setup.py build_ext -L $(libdir) \ -I $(prefix)/include/ install --user And the setup.py in that directory says: setup (name = 'vpp_papi', version = '1.3', description = 'VPP Python binding', author = 'Ole Troan', author_email = 'o...@cisco.com', test_suite = 'tests', packages=['vpp_papi'], ext_modules = [ Extension( 'vpp_api', sources = ['vpp_papi/pneum_wrap.c'], libraries = ['pneum'], )], long_description = '''VPP Python language binding.''', zip_safe = True, ) Good, it lists pneum. But the problem is, we shouldn't run this setup.py until after pneum is fully linked and on disk. This happened too soon: gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o -L/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64 -L. -lpneum -lpython2.7 -o build/lib.linux-x86_64-2.7/vpp_api.so /bin/ld: cannot find -lpneum Which means, the rule for vpp_api.so's dependencies, isn't listing the real pneum library properly. I have no idea where that is supposed to take place yet. An insight? Thanks, jdl ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev
Re: [vpp-dev] Missing lib pneum during build?
On Mon, Mar 6, 2017 at 2:48 PM, Billy McFall wrote: > I have seen this. I was compiling in a VM with 5 CPUs. I isolate CPUs 1-4 > from Linux via kernel cmdline arg isocpu. When compiling with 1 CPU I saw > the issue every time. Removed isocpu and compiled with 5 CPUs everything > worked. > > Billy McFall > Hi Billy, S, despite the Peanut Gallery, I'm not yet crazy... :-) Now all we have to do is find the missing dependency in a Makefile! :-) Thanks, jdl ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev
Re: [vpp-dev] Missing lib pneum during build?
I have seen this. I was compiling in a VM with 5 CPUs. I isolate CPUs 1-4 from Linux via kernel cmdline arg isocpu. When compiling with 1 CPU I saw the issue every time. Removed isocpu and compiled with 5 CPUs everything worked. Billy McFall On Mon, Mar 6, 2017 at 3:42 PM, Jon Loeliger wrote: > Guys, > > I am in the process of setting up a CI engine here. (Whee!) > This is on an entirely new machine with a new number of CPUs, etc. > What I'm noticing is that every other build or so fails. And it seems > to be for lack of a -lpneum each time it fails. But sometimes it all > builds properly too. > > What I'm thinking is that we have another missing dependency in > the Makefile somewhere that is allowing an out-of-order reference > to the pneum library prior to it really being ready. (We had a problem > like this a few months ago too. Blah.) > > Anyone else seen anything like this? Am I out in the weeds? > > Logs from around the build failure below... > > Thanks > jdl > > > > mkdir -p > /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib/python2.7/site-packages; > \ > mkdir -p > /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64/python2.7/site-packages; >\ > PYTHONUSERBASE=/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp > \ > python setup.py build_ext -L > /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64 > \ > -I > /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/ > install --user > /bin/mkdir -p > '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64' > /bin/mkdir -p > '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include' > /bin/sh ../../libtool --quiet --mode=install /bin/install -c libpneum.la > '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64' > /bin/mkdir -p > '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/pneum' > /bin/install -c -m 644 > /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-data/../src/vpp-api/python/pneum/pneum.h > > '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/pneum' > libtool: install: warning: relinking `libpneum.la' > running build_ext > building 'vpp_api' extension > creating build > creating build/temp.linux-x86_64-2.7 > creating build/temp.linux-x86_64-2.7/vpp_papi > gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 > -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv > -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 > -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC > -I/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/ > -I/usr/include/python2.7 -c vpp_papi/pneum_wrap.c -o > build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o > creating build/lib.linux-x86_64-2.7 > gcc -pthread -shared -Wl,-z,relro > build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o > -L/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64 > -L. -lpneum -lpython2.7 -o build/lib.linux-x86_64-2.7/vpp_api.so > /bin/ld: cannot find -lpneum > collect2: error: ld returned 1 exit status > error: command 'gcc' failed with exit status 1 > > > > > ___ > vpp-dev mailing list > vpp-dev@lists.fd.io > https://lists.fd.io/mailman/listinfo/vpp-dev > ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev
[vpp-dev] Missing lib pneum during build?
Guys, I am in the process of setting up a CI engine here. (Whee!) This is on an entirely new machine with a new number of CPUs, etc. What I'm noticing is that every other build or so fails. And it seems to be for lack of a -lpneum each time it fails. But sometimes it all builds properly too. What I'm thinking is that we have another missing dependency in the Makefile somewhere that is allowing an out-of-order reference to the pneum library prior to it really being ready. (We had a problem like this a few months ago too. Blah.) Anyone else seen anything like this? Am I out in the weeds? Logs from around the build failure below... Thanks jdl mkdir -p /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib/python2.7/site-packages; \ mkdir -p /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64/python2.7/site-packages; \ PYTHONUSERBASE=/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp \ python setup.py build_ext -L /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64 \ -I /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/ install --user /bin/mkdir -p '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64' /bin/mkdir -p '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include' /bin/sh ../../libtool --quiet --mode=install /bin/install -c libpneum.la '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64' /bin/mkdir -p '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/pneum' /bin/install -c -m 644 /var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-data/../src/vpp-api/python/pneum/pneum.h '/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/pneum' libtool: install: warning: relinking `libpneum.la' running build_ext building 'vpp_api' extension creating build creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/vpp_papi gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/include/ -I/usr/include/python2.7 -c vpp_papi/pneum_wrap.c -o build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o creating build/lib.linux-x86_64-2.7 gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/vpp_papi/pneum_wrap.o -L/var/lib/jenkins/workspace/build-ngr-rpm/build_root/BUILD/vpp/build-root/install-vpp-native/vpp/lib64 -L. -lpneum -lpython2.7 -o build/lib.linux-x86_64-2.7/vpp_api.so /bin/ld: cannot find -lpneum collect2: error: ld returned 1 exit status error: command 'gcc' failed with exit status 1 ___ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev