Comments (11)
If this is still an issue, this needs to be moved to the python-feedstock.
from boost-feedstock.
There is a current effort to create a different package for boost-python alone that should solve this problem:
conda-forge/staged-recipes#1887
from boost-feedstock.
This is unrelated to #1.
From travis-ci log, it seems correct packages are used.
Boost, numpy used are compiled with py27 and the python version is also 2.7.
blas: 1.1-openblas conda-forge
boost: 1.62.0-py27_0 conda-forge
bzip2: 1.0.6-3 defaults
ca-certificates: 2016.9.26-0 conda-forge
cmake: 3.6.2-0 conda-forge
curl: 7.49.1-2 conda-forge
expat: 2.1.0-2 conda-forge
icu: 56.1-4 conda-forge
jsoncpp: 0.10.6-1 conda-forge
libarchive: 3.2.1-2 conda-forge
libgfortran: 3.0.0-0 conda-forge
libiconv: 1.14-3 conda-forge
ncurses: 5.9-10 conda-forge
numpy: 1.10.4-py27_blas_openblas_205 conda-forge [blas_openblas]
openblas: 0.2.19-0 conda-forge
openssl: 1.0.2h-3 conda-forge
python: 2.7.12-1 conda-forge
readline: 6.2-0 conda-forge
sqlite: 3.13.0-1 conda-forge
tk: 8.5.19-1 conda-forge
toolchain: 2.0.0-0 conda-forge
xz: 5.2.2-0 conda-forge
zlib: 1.2.8-3 conda-forge
from boost-feedstock.
Yes, I think it is not related to #1.
Thanks to the PR by @shadowwalkersb at dolfim/staged-recipes#1 I think the problem is the presence of two incompatible libboost libraries in the conda package.
# this seems to work
${PREFIX}/lib/libpython2.7.dylib
vs
# this gives me problems
${PREFIX}/lib/python2.7/config/libpython2.7.dylib
The latter one is actually provided by
import string; from distutils.sysconfig import *; print(get_config_vars('LIBPL'))
Is this a Conda bug? Where should it be reported?
from boost-feedstock.
${PREFIX}/lib/python2.7/config/libpython2.7.a
is provided for embedding python. See here
Since you are not embedding python in this case, you are actually using the static python library in config folder and also linking with the dynamic library when a python session is started and your extension is loaded.
from boost-feedstock.
Thanks for the link, I was actually looking for a better explanation of LIBPL.
The point is that we have been linking against ${PREFIX}/lib/python2.7/config/libpython2.7.dylib
for years without any problem. Also on a clean system I can link that way and everything works.
I put a simple Docker build in a clean Ubuntu environment at dolfim/boost-python-numpy.
The error I get in the Conda build somehow looks like a mismatch of the Python version.
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: __init__() should return None, not 'NoneType'
from boost-feedstock.
Which Python is used to run the script? Seems like Dockerfile uses the system Python.
from boost-feedstock.
Conda's python package doesn't provide any ${PREFIX}/lib/python2.7/config/libpython2.7.dylib
right? So you might be linking to an incorrect python library.
In my system python, ${PREFIX}/lib/python2.7/config/libpython2.7.so
is symlinked to ${PREFIX}/lib/libpython.so
which means there is no difference.
from boost-feedstock.
@shadowwalkersb : yes, the example built with Docker is just system standard system python and boost. It was to illustrate that linking against ${PREFIX}/lib/python2.7/config/libpython2.7.so
actually works.
@isuruf : yes Conda doesn't seem to provide ${PREFIX}/lib/python2.7/config/libpython2.7.dylib
, but the static lib is there.
I would anyway assume that the two libs could be interchangeable, but this doesn't seem to be the case.
from boost-feedstock.
Is there still an issue that needs to be solve here or is this effectively the same as issue ( #28 )?
from boost-feedstock.
I hink we can close this as boost.python is split now
from boost-feedstock.
Related Issues (20)
- Boost.Python converter problem for Python 3.8.10 h3a889e0_1_cpython build for osx-64 HOT 1
- Missing CMake Config for Static Variant HOT 1
- Boost.Python and segmentation faults with numpy 1.21 HOT 9
- Rerender for new osx compiler HOT 1
- boost-Python issue with Python 3.11 HOT 3
- Missing static libraries? HOT 3
- Setting Python version with conda-forge boost HOT 2
- Possible macOS ABI breakage in boost-python when boost-python is compiled with clang 13 and downstream packages with clang 14? HOT 13
- Missing components showing up in dependent packages HOT 6
- Corrupted libs with osx-arm64 build?
- CMake: Could NOT find Boost HOT 5
- Does conda support helpers to generate props file for a conda package installed to be consumed in a C++ project? HOT 1
- boost/assert.hpp Missing HOT 2
- @conda-forge-admin, please rerender HOT 1
- Add missing new (built) cobalt library
- How to force boost 1.78 in conda-forge package? HOT 1
- @conda-forge-admin please rerender HOT 1
- boost-python minimalistic example throws malloc error on macOS HOT 9
- @conda-forge-admin, please re-render HOT 1
- split into two packages? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from boost-feedstock.