Op vr 19 feb. 2021 om 22:05 schreef Nathan Ernst via Boost-users < boost-users@lists.boost.org>:
> The missing symbols you quoted come from python itself. It looks like > you're missing a "-lpython" linker flag. > Thanks! That definitely put me on the right track. Eventually I got it working using the "-lpython3.6m" flag, since I found that the Python3.6 .so file was situated at /usr/lib/x86_64-linux-gnu/libpython3.6m.so Many thanks, this is much appreciated! I've pasted the full Dockerfile in https://github.com/boostorg/boost/issues/462, in case anyone is interested. > > Regards, > Nathan > > On Fri, Feb 19, 2021, 4:47 AM Roy de Bokx via Boost-users < > boost-users@lists.boost.org> wrote: > >> >> >> Op wo 17 feb. 2021 om 20:30 schreef Anonymous Maarten < >> anonymous.maar...@gmail.com>: >> >>> Thanks for your answer Maarten! >>>> Please bare with me as I'm a little new to this. Is there some way I >>>> can change the interpreter that is used for installing boost? Or do you >>>> think that adapting the --prefix flag may also work? >>>> >>> >>> When using the pre-built boost packages of a linux distribution >>> (ubuntu), you're generally stuck with the versions/options that its >>> packagers have chosen. >>> A distribution freezes versions to make a more robust experience. >>> >>> Adding a `--prefix` will not help because, first of all, it's not a >>> valid gcc option, and second, ubuntu 18.04 does not provide a >>> libboost-python-py37 shared/static library. >>> Do you really need python 3.7? Doesn't 3.6 suffice? >>> >> >> Thanks! This helped me understanding the issue a bit further. I think 3.6 >> should suffice indeed, so I tried using 3.6 by removing the 3.7 >> installation from the Dockerfile and using the -lboost_numpy3 flag instead. >> It seems I ran into some linking issue after this. It was able to find >> the right numpy3.so and libboost_python3-py36.so, but I'm getting a lot of >> errors like these: >> >> //usr/lib/x86_64-linux-gnu/libboost_numpy3.so: undefined reference to >> `PyExc_ValueError' >> >> //usr/lib/x86_64-linux-gnu/libboost_python3-py36.so.1.65.1: undefined >> reference to `PyLong_AsLong' >> >> //usr/lib/x86_64-linux-gnu/libboost_python3-py36.so.1.65.1: undefined >> reference to `PyNumber_InPlaceFloorDivide' >> >> //usr/lib/x86_64-linux-gnu/libboost_python3-py36.so.1.65.1: undefined >> reference to `PyBool_Type' >> etc... >> >> I've pasted the full docker file and logs in >> https://github.com/boostorg/boost/issues/462 >> Thanks again for any help. >> >>> >>> If you really want to use Boost.Python + python 3.7, you can do 2 things: >>> - stay on ubuntu bionic and build boost yourself (or use an alternative >>> c/c++ package manager, e.g. [conan](https://conan.io/) has a [boost >>> package](https://conan.io/center/boost)) >>> - more to a more recent ubuntu release. e.g. ubuntu 20.10 has python >>> 3.8: >>> https://packages.ubuntu.com/groovy/amd64/libboost-python1.71-dev/filelist >>> >> I've also given 20.10 a try, however I ran into the same linking issues >> as mentioned above. >> >>> >>> >>> >>> _______________________________________________ >> Boost-users mailing list >> Boost-users@lists.boost.org >> https://lists.boost.org/mailman/listinfo.cgi/boost-users >> > _______________________________________________ > Boost-users mailing list > Boost-users@lists.boost.org > https://lists.boost.org/mailman/listinfo.cgi/boost-users >
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users