-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build on macintosh #179
Comments
hi, it seems to be an issue with your python setup.
did you follow these steps carefully?
https://topology-tool-kit.github.io/installation-osx.html
@jalevine may help you on this one.
cheers
--
Dr Julien Tierny
CNRS Researcher
Sorbonne Universite
http://lip6.fr/Julien.Tierny
…On Sunday, December 30, 2018 1:48:13 PM CET Kamakshidasan wrote:
Undefined symbols for architecture x86_64:
"_PyUnicode_FromString", referenced from:
ttk::DimensionReduction::execute() const in libdimensionReduction.a(DimensionReduction.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
|
did you follow these steps carefully?
I guess so..
On another note, I really feel TTK should have some under-the-hood
auto-update functionality or a small pop-up update dialog. It just becomes
cumbersome and messy every single time.
On Sun, Dec 30, 2018 at 5:40 PM Julien Tierny <notifications@github.com>
wrote:
… hi, it seems to be an issue with your python setup.
did you follow these steps carefully?
https://topology-tool-kit.github.io/installation-osx.html
@jalevine may help you on this one.
cheers
--
Dr Julien Tierny
CNRS Researcher
Sorbonne Universite
http://lip6.fr/Julien.Tierny
On Sunday, December 30, 2018 1:48:13 PM CET Kamakshidasan wrote:
> Undefined symbols for architecture x86_64:
> "_PyUnicode_FromString", referenced from:
> ttk::DimensionReduction::execute() const in
libdimensionReduction.a(DimensionReduction.cpp.o)
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see
invocation)
>
>
>
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#179 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AI7akGqKy8dAYviHBtbJ-avVpKBxFcmMks5u-OxxgaJpZM4Zk7CT>
.
|
This sounds a lot like the DimensionReduction module cannot find python's libraries when compiling / linking. What versions of python are you building against and how did you install it? If you're using homebrew python, and want to recreate my setup, you may also have to add (as suggested by homebrew): export PATH="/usr/local/opt/python/libexec/bin/:$PATH" To your .bashrc (or similar shell startup script). This ensures that when you build ParaView with PARAVIEW_ENABLE_PYTHON=ON it selects the right one. TTK in turn takes the ParaView python information when running its cmake. Are you explicitly trying to use this feature of TTK? If not, we might be able to do a workaround where you do not compile it. We're still debugging some of the DimensionReduction features on OSX. |
If you're using homebrew python, and want to recreate my setup, you may
also have to add (as suggested by homebrew):
export PATH="/usr/local/opt/python/libexec/bin/:$PATH"
To your .bashrc (or similar shell startup script). This ensures that when
you build ParaView with PARAVIEW_ENABLE_PYTHON=ON it selects the right one.
TTK in turn takes the ParaView python information when running its cmake.
Yup. I did that.
This sounds a lot like the dDmensionReduction module cannot find python's
libraries when compiling / linking.
I agree.
Are you explicitly trying to use this feature of TTK? If not, we might be
able to do a workaround where you do not compile it. We're still debugging
some of the DimensionReduction features on OSX.
Not exactly. I need the Wasserstein Matcher for now, that's about it.
What versions of python are you building against and how did you install it?
I'm attaching compile_commands.json if that helps.
…On Fri, Jan 4, 2019 at 7:45 AM Joshua Levine ***@***.***> wrote:
This sounds a lot like the dDmensionReduction module cannot find python's
libraries when compiling / linking.
What versions of python are you building against and how did you install
it?
If you're using homebrew python, and want to recreate my setup, you may
also have to add (as suggested by homebrew):
export PATH="/usr/local/opt/python/libexec/bin/:$PATH"
To your .bashrc (or similar shell startup script). This ensures that when
you build ParaView with PARAVIEW_ENABLE_PYTHON=ON it selects the right one.
TTK in turn takes the ParaView python information when running its cmake.
Are you explicitly trying to use this feature of TTK? If not, we might be
able to do a workaround where you do not compile it. We're still debugging
some of the DimensionReduction features on OSX.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#179 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AI7akNQwatDNVISVqybH-NH2UlSs-4_Gks5u_viLgaJpZM4Zk7CT>
.
|
hi there,
the following commits should fix your issue for now:
ca0e27c
589c507
they make ttk's scikit-learn support optional even if numpy is installed.
plus, scikit-learn's support is disabled by default on macos for now.
please update your source tree and rebuild.
I will close the issue for now.
please feel free to re-open it if the problem persists.
cheers,
--
Dr Julien Tierny
CNRS Researcher
Sorbonne Universite
http://lip6.fr/Julien.Tierny
…On Sunday, December 30, 2018 1:48:13 PM CET Kamakshidasan wrote:
Undefined symbols for architecture x86_64:
"_PyUnicode_FromString", referenced from:
ttk::DimensionReduction::execute() const in libdimensionReduction.a(DimensionReduction.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
|
Thanks @julien-tierny, it worked :) |
Looking closely at compile_commands.json, it does seem like there's an inconsistency. When you're building core/base/dimensionReduciton you find python3.7 and use that. This is the only object that gets built with python3.7 (see lines 78, 79) All other objects, in particular ttkDimensionReduction appear to be including and/or linking against python2.7 (see, for example, lines 368, 369). It appears you have both pythons installed with homebrew. On my environment, I explicitly removed python@2 from homebrew (which is kind of recommended these days). My guess is that either on the ParaView cmake or the TTK cmake commands, it found half of one python and half of the other. You may have to run ccmake instead and manually set up python to work correctly, my guess would be for the ParaView compilation. Can you confirm which version of python ParaView was compiled against? It may also be related to if your installation of vtk was brewed with the "--without-python@2" formula. I found this is a bit tricky with the current version of homebrew in vtk, as some of the dependencies needed to installed in sequence with that flag (see step 2 of https://topology-tool-kit.github.io/installation-osx.html) |
You're guess might be right. Paraview is against Python 2.7. I don't think I have updated it after TTK 0.9.1. I think VTK works fine, though. I think I might have to install Paraview again with a newer version --- but this means I might have to migrate all my earlier TTK scripts :( |
You're guess might be right. Paraview is against Python 2.7. I don't think I have updated it after TTK 0.9.1. I think VTK works fine, though.
if you want to use ttk's scikit-learn support, you'll have to fix your paraview to build it against python 3. if you don't need scikit-learn, then don't.
on a side note, python 2.7 (in general) is scheduled to be unsupported soon.
I think I might have to install Paraview again with a newer version --- but this means I might have to migrate all my earlier TTK scripts :(
I believe such a migration (if any) should be seamless.
--
Dr Julien Tierny
CNRS Researcher
Sorbonne Universite
http://lip6.fr/Julien.Tierny
…On Wednesday, January 9, 2019 6:02:38 AM CET Kamakshidasan wrote:
> My guess is that either on the ParaView cmake or the TTK cmake commands, it found half of one python and half of the other.
You're guess might be right. Paraview is against Python 2.7. I don't think I have updated it after TTK 0.9.1. I think VTK works fine, though.
I think I might have to install Paraview again with a newer version --- but this means I might have to migrate all my earlier TTK scripts :(
|
Undefined symbols for architecture x86_64:
"_PyUnicode_FromString", referenced from:
ttk::DimensionReduction::execute() const in libdimensionReduction.a(DimensionReduction.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The text was updated successfully, but these errors were encountered: