On Mon, Mar 6, 2017 at 2:57 PM, Jon Loeliger <[email protected]> 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 = '[email protected]',
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
[email protected]
https://lists.fd.io/mailman/listinfo/vpp-dev