Comments (9)
Strange behavior. I assume you are using Python 3? Which version of medpy are you using? The current master or the PyPi version? If the latter, please try with the former. Did this solve the problem?
It seems that, despite mentioning Python3, MedPy tries to load a Python2.7 version of libboost. Do you run MedPy with Python3? And did you also install it with Python3?
from medpy.
from medpy.
I don't understand why, but your MedPy's maxflow module was linked against a 2.7 version of LibBoost Python.
Could you please post the result of:
'''
import sys
print('boost_python-py' + str(sys.version_info.major) + str(sys.version_info.minor))
'''
and locate the maxflow.so file in your MedPy code and run:
'ldd maxflow.so'
Best,
Oskar
Ps: Might be connected with #20, but that issue should be solved in the branch you are using. Anyway, you can try the current master branch instead.
from medpy.
And please send the actual boost python lib version that is installed on your machine. I.e., the output of 'apt-cache search libboost-python'.
from medpy.
I tried again with the current master branch. I still have the issue:
anaconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0)
Here is more info:
"apt-cache search libboost-python" gives me
libboost-python-dev - Boost.Python Library development files (default version)
libboost-python1.58-dev - Boost.Python Library development files
libboost-python1.58.0 - Boost.Python Library
"print('boost_python-py' + str(sys.version_info.major) + str(sys.version_info.minor))" gives me:
boost_python-py36
"ldd maxflow.so" gives me
linux-vdso.so.1 => (0x00007ffe8d0ca000)
libboost_python-py27.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0 (0x00007f4d2904c000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f4d28cca000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f4d28ab4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4d286ea000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4d284cd000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4d281c4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4d29561000)
Many thanks!
from medpy.
Clearly, your installation of MedPy is linked against the Python 2 version of libboost (libboost_python-py27.so.1.58.0
). Why that should be the case is a mystery to me. The current master branch's setup.py used the code
if sys.platform == "darwin":
if sys.version_info.major > 2:
boost_python_library = 'boost_python' + str(sys.version_info.major)
else:
boost_python_library = 'boost_python'
else:
boost_python_library = 'boost_python-py' + str(sys.version_info.major) + str(sys.version_info.minor)
to find the libboost fitting to your Python version. Since the last line produces boost_python-py36
on your machine, I cannot understand why it tries to call the 2.7 version instead.
Could you post the output to
python -c "import medpy; print(medpy.__file__)"
and
strings anaconda3/bin/../lib/libstdc++.so.6 | grep GLIBC
And the complete log (stdout + stderr) of a clean MedPy installation from the master branch?
Essentially, not only the wrong libboost version is linked, but also the required symbols are not found in the libstdc++, which means an older version got somehow in the way (see https://developer.ibm.com/answers/questions/184266/libstdcso6-version-glibcxx-3420-not-found.html).
I assume, that something with using anaconda environment does clash with the global Linux environment. But what it should be, I cannot tell.
I'll try my best to help you. But it's more a linker or anaconda issue, than a MedPy one. You could also try to install MedPy on your Linux machine directly, not using Anaconda.
from medpy.
Here is the complete log of a clean MedPy installation from the master branch:
running develop
running egg_info
creating MedPy.egg-info
writing requirements to MedPy.egg-info/requires.txt
writing MedPy.egg-info/PKG-INFO
writing top-level names to MedPy.egg-info/top_level.txt
writing dependency_links to MedPy.egg-info/dependency_links.txt
writing manifest file 'MedPy.egg-info/SOURCES.txt'
reading manifest file 'MedPy.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'lib/maxflow/src/readme'
writing manifest file 'MedPy.egg-info/SOURCES.txt'
running build_ext
building 'medpy.graphcut.maxflow' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/lib
creating build/temp.linux-x86_64-2.7/lib/maxflow
creating build/temp.linux-x86_64-2.7/lib/maxflow/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -I/usr/include/python2.7 -c lib/maxflow/src/maxflow.cpp -o build/temp.linux-x86_64-2.7/lib/maxflow/src/maxflow.o -O0
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
lib/maxflow/src/maxflow.cpp: In instantiation of ‘flowtype Graph<captype, tcaptype, flowtype>::maxflow(bool, Block) [with captype = int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:12:16: required from here
lib/maxflow/src/maxflow.cpp:484:84: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
eration == 0 && reuse_trees) { if (error_function) (error_function)("reuse_tre
^
lib/maxflow/src/maxflow.cpp:485:75: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
hanged_list && !reuse_trees) { if (error_function) (error_function)("changed_l
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::process_source_orphan(Graph<captype, tcaptype, flowtype>::node) [with captype = int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:12:16: required from here
lib/maxflow/src/maxflow.cpp:366:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if (i->parent = a0_min)
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::process_sink_orphan(Graph<captype, tcaptype, flowtype>::node*) [with captype = int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:12:16: required from here
lib/maxflow/src/maxflow.cpp:443:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if (i->parent = a0_min)
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘flowtype Graph<captype, tcaptype, flowtype>::maxflow(bool, Block) [with captype = short int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:13:16: required from here
lib/maxflow/src/maxflow.cpp:484:84: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
eration == 0 && reuse_trees) { if (error_function) (error_function)("reuse_tre
^
lib/maxflow/src/maxflow.cpp:485:75: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
hanged_list && !reuse_trees) { if (error_function) (error_function)("changed_l
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::process_source_orphan(Graph<captype, tcaptype, flowtype>::node) [with captype = short int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:13:16: required from here
lib/maxflow/src/maxflow.cpp:366:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if (i->parent = a0_min)
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::process_sink_orphan(Graph<captype, tcaptype, flowtype>::node*) [with captype = short int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:13:16: required from here
lib/maxflow/src/maxflow.cpp:443:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if (i->parent = a0_min)
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘flowtype Graph<captype, tcaptype, flowtype>::maxflow(bool, Block) [with captype = float; tcaptype = float; flowtype = float]’:
lib/maxflow/src/instances.inc:14:16: required from here
lib/maxflow/src/maxflow.cpp:484:84: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
eration == 0 && reuse_trees) { if (error_function) (error_function)("reuse_tre
^
lib/maxflow/src/maxflow.cpp:485:75: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
hanged_list && !reuse_trees) { if (error_function) (error_function)("changed_l
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::process_source_orphan(Graph<captype, tcaptype, flowtype>::node) [with captype = float; tcaptype = float; flowtype = float]’:
lib/maxflow/src/instances.inc:14:16: required from here
lib/maxflow/src/maxflow.cpp:366:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if (i->parent = a0_min)
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::process_sink_orphan(Graph<captype, tcaptype, flowtype>::node*) [with captype = float; tcaptype = float; flowtype = float]’:
lib/maxflow/src/instances.inc:14:16: required from here
lib/maxflow/src/maxflow.cpp:443:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if (i->parent = a0_min)
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘flowtype Graph<captype, tcaptype, flowtype>::maxflow(bool, Block) [with captype = double; tcaptype = double; flowtype = double]’:
lib/maxflow/src/instances.inc:15:16: required from here
lib/maxflow/src/maxflow.cpp:484:84: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
eration == 0 && reuse_trees) { if (error_function) (error_function)("reuse_tre
^
lib/maxflow/src/maxflow.cpp:485:75: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
hanged_list && !reuse_trees) { if (error_function) (error_function)("changed_l
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::process_source_orphan(Graph<captype, tcaptype, flowtype>::node) [with captype = double; tcaptype = double; flowtype = double]’:
lib/maxflow/src/instances.inc:15:16: required from here
lib/maxflow/src/maxflow.cpp:366:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if (i->parent = a0_min)
^
lib/maxflow/src/maxflow.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::process_sink_orphan(Graph<captype, tcaptype, flowtype>::node*) [with captype = double; tcaptype = double; flowtype = double]’:
lib/maxflow/src/instances.inc:15:16: required from here
lib/maxflow/src/maxflow.cpp:443:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if (i->parent = a0_min)
^
In file included from lib/maxflow/src/graph.h:42:0,
from lib/maxflow/src/maxflow.cpp:5:
lib/maxflow/src/block.h: In instantiation of ‘Type* DBlock::New() [with Type = Graph<int, int, int>::nodeptr]’:
lib/maxflow/src/maxflow.cpp:84:5: required from ‘void Graph<captype, tcaptype, flowtype>::set_orphan_front(Graph<captype, tcaptype, flowtype>::node*) [with captype = int; tcaptype = int; flowtype = int]’
lib/maxflow/src/instances.inc:12:16: required from here
lib/maxflow/src/block.h:223:55: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
if (!first) { if (error_function) (error_function)("Not enough memory!"); e
^
lib/maxflow/src/block.h: In instantiation of ‘Type Block::New(int) [with Type = int]’:
lib/maxflow/src/maxflow.cpp:110:35: required from ‘void Graph<captype, tcaptype, flowtype>::add_to_changed_list(Graph<captype, tcaptype, flowtype>::node*) [with captype = int; tcaptype = int; flowtype = int]’
lib/maxflow/src/instances.inc:12:16: required from here
lib/maxflow/src/block.h:124:55: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
if (!next) { if (error_function) (error_function)("Not enough memory!"); e
^
lib/maxflow/src/block.h: In instantiation of ‘Type DBlock::New() [with Type = Graph<short int, int, int>::nodeptr]’:
lib/maxflow/src/maxflow.cpp:84:5: required from ‘void Graph<captype, tcaptype, flowtype>::set_orphan_front(Graph<captype, tcaptype, flowtype>::node*) [with captype = short int; tcaptype = int; flowtype = int]’
lib/maxflow/src/instances.inc:13:16: required from here
lib/maxflow/src/block.h:223:55: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
if (!first) { if (error_function) (error_function)("Not enough memory!"); e
^
lib/maxflow/src/block.h: In instantiation of ‘Type DBlock::New() [with Type = Graph<float, float, float>::nodeptr]’:
lib/maxflow/src/maxflow.cpp:84:5: required from ‘void Graph<captype, tcaptype, flowtype>::set_orphan_front(Graph<captype, tcaptype, flowtype>::node*) [with captype = float; tcaptype = float; flowtype = float]’
lib/maxflow/src/instances.inc:14:16: required from here
lib/maxflow/src/block.h:223:55: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
lib/maxflow/src/block.h: In instantiation of ‘Type* DBlock::New() [with Type = Graph<double, double, double>::nodeptr]’:
lib/maxflow/src/maxflow.cpp:84:5: required from ‘void Graph<captype, tcaptype, flowtype>::set_orphan_front(Graph<captype, tcaptype, flowtype>::node*) [with captype = double; tcaptype = double; flowtype = double]’
lib/maxflow/src/instances.inc:15:16: required from here
lib/maxflow/src/block.h:223:55: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -I/usr/include/python2.7 -c lib/maxflow/src/wrapper.cpp -o build/temp.linux-x86_64-2.7/lib/maxflow/src/wrapper.o -O0
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from lib/maxflow/src/wrapper.cpp:1:0:
lib/maxflow/src/pythongraph.h: In instantiation of ‘flowtype Pythongraph<captype, tcaptype, flowtype>::maxflow() [with captype = float; tcaptype = float; flowtype = float]’:
lib/maxflow/src/wrapper.cpp:36:38: required from here
lib/maxflow/src/pythongraph.h:20:70: warning: no return statement in function returning non-void [-Wreturn-type]
flowtype maxflow() { Graph<captype, tcaptype, flowtype>::maxflow(); };
^
In file included from lib/maxflow/src/wrapper.cpp:1:0:
lib/maxflow/src/pythongraph.h: In instantiation of ‘typename Graph<captype, tcaptype, flowtype>::termtype Pythongraph<captype, tcaptype, flowtype>::what_segment(int) [with captype = float; tcaptype = float; flowtype = float; typename Graph<captype, tcaptype, flowtype>::termtype = Graph<float, float, float>::termtype]’:
lib/maxflow/src/wrapper.cpp:37:43: required from here
lib/maxflow/src/pythongraph.h:21:131: warning: no return statement in function returning non-void [-Wreturn-type]
e what_segment(int i) { Graph<captype, tcaptype, flowtype>::what_segment(i); };
^
In file included from lib/maxflow/src/wrapper.cpp:1:0:
lib/maxflow/src/pythongraph.h: In instantiation of ‘flowtype Pythongraph<captype, tcaptype, flowtype>::maxflow() [with captype = double; tcaptype = double; flowtype = double]’:
lib/maxflow/src/wrapper.cpp:68:39: required from here
lib/maxflow/src/pythongraph.h:20:70: warning: no return statement in function returning non-void [-Wreturn-type]
flowtype maxflow() { Graph<captype, tcaptype, flowtype>::maxflow(); };
^
In file included from lib/maxflow/src/wrapper.cpp:1:0:
lib/maxflow/src/pythongraph.h: In instantiation of ‘typename Graph<captype, tcaptype, flowtype>::termtype Pythongraph<captype, tcaptype, flowtype>::what_segment(int) [with captype = double; tcaptype = double; flowtype = double; typename Graph<captype, tcaptype, flowtype>::termtype = Graph<double, double, double>::termtype]’:
lib/maxflow/src/wrapper.cpp:69:44: required from here
lib/maxflow/src/pythongraph.h:21:131: warning: no return statement in function returning non-void [-Wreturn-type]
e what_segment(int i) { Graph<captype, tcaptype, flowtype>::what_segment(i); };
^
In file included from lib/maxflow/src/wrapper.cpp:1:0:
lib/maxflow/src/pythongraph.h: In instantiation of ‘flowtype Pythongraph<captype, tcaptype, flowtype>::maxflow() [with captype = int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/wrapper.cpp:100:32: required from here
lib/maxflow/src/pythongraph.h:20:70: warning: no return statement in function returning non-void [-Wreturn-type]
flowtype maxflow() { Graph<captype, tcaptype, flowtype>::maxflow(); };
^
In file included from lib/maxflow/src/wrapper.cpp:1:0:
lib/maxflow/src/pythongraph.h: In instantiation of ‘typename Graph<captype, tcaptype, flowtype>::termtype Pythongraph<captype, tcaptype, flowtype>::what_segment(int) [with captype = int; tcaptype = int; flowtype = int; typename Graph<captype, tcaptype, flowtype>::termtype = Graph<int, int, int>::termtype]’:
lib/maxflow/src/wrapper.cpp:101:37: required from here
lib/maxflow/src/pythongraph.h:21:131: warning: no return statement in function returning non-void [-Wreturn-type]
e what_segment(int i) { Graph<captype, tcaptype, flowtype>::what_segment(i); };
^
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DMAJOR_VERSION=0 -DMINOR_VERSION=1 -I/usr/include/python2.7 -c lib/maxflow/src/graph.cpp -o build/temp.linux-x86_64-2.7/lib/maxflow/src/graph.o -O0
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
lib/maxflow/src/graph.cpp: In instantiation of ‘Graph<captype, tcaptype, flowtype>::Graph(int, int, void ()(char)) [with captype = int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:12:16: required from here
lib/maxflow/src/graph.cpp:22:62: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
if (!nodes || !arcs) { if (error_function) (error_function)("Not enough memor
^
lib/maxflow/src/graph.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::reallocate_nodes(int) [with captype = int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:12:16: required from here
lib/maxflow/src/graph.cpp:71:53: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
if (!nodes) { if (error_function) (error_function)("Not enough memory!"); exi
^
lib/maxflow/src/graph.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::reallocate_arcs() [with captype = int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:12:16: required from here
lib/maxflow/src/graph.cpp:95:52: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
if (!arcs) { if (error_function) (error_function)("Not enough memory!"); exit
^
lib/maxflow/src/graph.cpp: In instantiation of ‘Graph<captype, tcaptype, flowtype>::Graph(int, int, void ()(char*)) [with captype = short int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:13:16: required from here
lib/maxflow/src/graph.cpp:22:62: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
if (!nodes || !arcs) { if (error_function) (error_function)("Not enough memor
^
lib/maxflow/src/graph.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::reallocate_nodes(int) [with captype = short int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:13:16: required from here
lib/maxflow/src/graph.cpp:71:53: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
if (!nodes) { if (error_function) (error_function)("Not enough memory!"); exi
^
lib/maxflow/src/graph.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::reallocate_arcs() [with captype = short int; tcaptype = int; flowtype = int]’:
lib/maxflow/src/instances.inc:13:16: required from here
lib/maxflow/src/graph.cpp:95:52: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
if (!arcs) { if (error_function) (error_function)("Not enough memory!"); exit
^
lib/maxflow/src/graph.cpp: In instantiation of ‘Graph<captype, tcaptype, flowtype>::Graph(int, int, void ()(char*)) [with captype = float; tcaptype = float; flowtype = float]’:
lib/maxflow/src/instances.inc:14:16: required from here
lib/maxflow/src/graph.cpp:22:62: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
if (!nodes || !arcs) { if (error_function) (error_function)("Not enough memor
^
lib/maxflow/src/graph.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::reallocate_nodes(int) [with captype = float; tcaptype = float; flowtype = float]’:
lib/maxflow/src/instances.inc:14:16: required from here
lib/maxflow/src/graph.cpp:71:53: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
if (!nodes) { if (error_function) (error_function)("Not enough memory!"); exi
^
lib/maxflow/src/graph.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::reallocate_arcs() [with captype = float; tcaptype = float; flowtype = float]’:
lib/maxflow/src/instances.inc:14:16: required from here
lib/maxflow/src/graph.cpp:95:52: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
if (!arcs) { if (error_function) (error_function)("Not enough memory!"); exit
^
lib/maxflow/src/graph.cpp: In instantiation of ‘Graph<captype, tcaptype, flowtype>::Graph(int, int, void ()(char*)) [with captype = double; tcaptype = double; flowtype = double]’:
lib/maxflow/src/instances.inc:15:16: required from here
lib/maxflow/src/graph.cpp:22:62: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
if (!nodes || !arcs) { if (error_function) (error_function)("Not enough memor
^
lib/maxflow/src/graph.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::reallocate_nodes(int) [with captype = double; tcaptype = double; flowtype = double]’:
lib/maxflow/src/instances.inc:15:16: required from here
lib/maxflow/src/graph.cpp:71:53: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
if (!nodes) { if (error_function) (error_function)("Not enough memory!"); exi
^
lib/maxflow/src/graph.cpp: In instantiation of ‘void Graph<captype, tcaptype, flowtype>::reallocate_arcs() [with captype = double; tcaptype = double; flowtype = double]’:
lib/maxflow/src/instances.inc:15:16: required from here
lib/maxflow/src/graph.cpp:95:52: warning: deprecated conversion from string constant to ‘char’ [-Wwrite-strings]
if (!arcs) { if (error_function) (*error_function)("Not enough memory!"); exit
^
c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/lib/maxflow/src/maxflow.o build/temp.linux-x86_64-2.7/lib/maxflow/src/wrapper.o build/temp.linux-x86_64-2.7/lib/maxflow/src/graph.o -lboost_python-py27 -o /home/jianxuc/Projects/python_image_analysis/medpy/medpy/graphcut/maxflow.so
Creating /usr/local/lib/python2.7/dist-packages/MedPy.egg-link (link to .)
MedPy 0.3.0 is already the active version in easy-install.pth
Installing medpy_anisotropic_diffusion.py script to /usr/local/bin
Installing medpy_apparent_diffusion_coefficient.py script to /usr/local/bin
Installing medpy_binary_resampling.py script to /usr/local/bin
Installing medpy_convert.py script to /usr/local/bin
Installing medpy_create_empty_volume_by_example.py script to /usr/local/bin
Installing medpy_dicom_slices_to_volume.py script to /usr/local/bin
Installing medpy_dicom_to_4D.py script to /usr/local/bin
Installing medpy_diff.py script to /usr/local/bin
Installing medpy_extract_contour.py script to /usr/local/bin
Installing medpy_extract_min_max.py script to /usr/local/bin
Installing medpy_extract_sub_volume_auto.py script to /usr/local/bin
Installing medpy_extract_sub_volume_by_example.py script to /usr/local/bin
Installing medpy_extract_sub_volume.py script to /usr/local/bin
Installing medpy_fit_into_shape.py script to /usr/local/bin
Installing medpy_gradient.py script to /usr/local/bin
Installing medpy_graphcut_label_bgreduced.py script to /usr/local/bin
Installing medpy_graphcut_label_w_regional.py script to /usr/local/bin
Installing medpy_graphcut_label_wsplit.py script to /usr/local/bin
Installing medpy_graphcut_label.py script to /usr/local/bin
Installing medpy_graphcut_voxel.py script to /usr/local/bin
Installing medpy_grid.py script to /usr/local/bin
Installing medpy_info.py script to /usr/local/bin
Installing medpy_intensity_range_standardization.py script to /usr/local/bin
Installing medpy_intersection.py script to /usr/local/bin
Installing medpy_itk_gradient.py script to /usr/local/bin
Installing medpy_itk_smoothing.py script to /usr/local/bin
Installing medpy_itk_watershed.py script to /usr/local/bin
Installing medpy_join_masks.py script to /usr/local/bin
Installing medpy_join_xd_to_xplus1d.py script to /usr/local/bin
Installing medpy_label_count.py script to /usr/local/bin
Installing medpy_label_fit_to_mask.py script to /usr/local/bin
Installing medpy_label_superimposition.py script to /usr/local/bin
Installing medpy_merge.py script to /usr/local/bin
Installing medpy_morphology.py script to /usr/local/bin
Installing medpy_resample.py script to /usr/local/bin
Installing medpy_reslice_3d_to_4d.py script to /usr/local/bin
Installing medpy_set_pixel_spacing.py script to /usr/local/bin
Installing medpy_shrink_image.py script to /usr/local/bin
Installing medpy_split_xd_to_xminus1d.py script to /usr/local/bin
Installing medpy_stack_sub_volumes.py script to /usr/local/bin
Installing medpy_swap_dimensions.py script to /usr/local/bin
Installing medpy_watershed.py script to /usr/local/bin
Installing medpy_zoom_image.py script to /usr/local/bin
Installed /home/jianxuc/Projects/python_image_analysis/medpy
Processing dependencies for MedPy==0.3.0
Searching for pydicom==0.9.9
Best match: pydicom 0.9.9
Adding pydicom 0.9.9 to easy-install.pth file
Using /usr/local/lib/python2.7/dist-packages
Searching for nibabel==2.2.1
Best match: nibabel 2.2.1
Adding nibabel 2.2.1 to easy-install.pth file
Using /usr/local/lib/python2.7/dist-packages
Searching for numpy==1.13.3
Best match: numpy 1.13.3
Adding numpy 1.13.3 to easy-install.pth file
Using /usr/local/lib/python2.7/dist-packages
Searching for scipy==1.0.0
Best match: scipy 1.0.0
Adding scipy 1.0.0 to easy-install.pth file
Using /usr/local/lib/python2.7/dist-packages
Finished processing dependencies for MedPy==0.3.0
from medpy.
Also, python -c "import medpy; print(medpy.file)"
gives me:
/home/jianxuc/Projects/python_image_analysis/medpy/medpy/init.py
But, strings anaconda3/bin/../lib/libstdc++.so.6 | grep GLIBC
cannot find libstdc++.so.6. Namely, I canot find any file with name "libstdc++.so.6" in any sub-directory of /anaconda3/bin/
On my machine, python 3 and all other packages are maintained by anaconda. Is it possible that the installation of MedPy doesn't recognize this and use the native python 2.7 on the machine to install?
from medpy.
I can only assume it has to do with MedPy finding the global python version instead of the anaconda one. I won't fix this, since it's more Anaconda than MedPy related.
from medpy.
Related Issues (20)
- Possible wrong result returned by medpy.io.load HOT 1
- Problem with opening .img/.img.hdr file HOT 1
- reduce redundant computation when computing multiple surface distance-based metrics HOT 3
- Issue with graphcut support HOT 8
- medpy.metric.binary.hd95(pre,gt) always get "1"、“1.414”、‘’1.732“.。。。 HOT 1
- Should Dice coefficient for empty result and empty reference be 1? HOT 1
- ASSD equation is wrong HOT 1
- scipy deprecations HOT 1
- anisotropic_diffusion slicer error HOT 3
- Numpy.bool is deprecated HOT 7
- assd function crashes on different size arrays HOT 3
- How to remove noise automatically without set any threshold value on DICOM Volume Images& 2D Images ? HOT 1
- When I use medpy.io.load to read .nii files,it always wrong. HOT 1
- Why I cannot load my CT volumns?
- metrics for multi-classes? HOT 1
- Handle few deprecations in scipy HOT 2
- Conda recipe with graphcut support HOT 2
- Broken links and incomplete notebooks HOT 2
- No module named 'load' HOT 1
- No module named 'medpy.graphcut.maxflow' HOT 6
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 medpy.