On Mon, Mar 6, 2017 at 2:57 PM, Jon Loeliger <j...@netgate.com> wrote:
> > Hi Billy, > > Soooo, 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