Opened 7 years ago
Last modified 6 years ago
#55569 assigned defect
sundials2 @2.7.0: Symbol not found: _klu_solve
Reported by: | jantheron | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | sundials2 |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
cantera fails upon importing to python27 with the following message
>>> import cantera as ct Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cantera/__init__.py", line 4, in <module> from ._cantera import * ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cantera/_cantera.so, 2): Symbol not found: _klu_solve Referenced from: /opt/local/lib/libsundials_cvodes.2.dylib Expected in: flat namespace in /opt/local/lib/libsundials_cvodes.2.dylib
Change History (4)
comment:1 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | seanfarley added; port info --maintainers cantera-devel removed |
---|---|
Description: | modified (diff) |
Keywords: | cantera klu_solve python27 removed |
Port: | sundials2 added; cantera removed |
Summary: | cantera klu_solve missing symbol → sundials2 @2.7.0: Symbol not found: _klu_solve |
comment:2 Changed 7 years ago by jantheron
Should I file a bug for the sundials2 port in that case, or what course of action do you recommend?
comment:3 Changed 7 years ago by seanfarley (Sean Farley)
Owner: | set to seanfarley |
---|---|
Status: | new → accepted |
comment:4 Changed 6 years ago by mf2k (Frank Schima)
Cc: | seanfarley removed |
---|---|
Owner: | seanfarley deleted |
Status: | accepted → assigned |
Note: See
TracTickets for help on using
tickets.
For future reference, into the Cc field, you should place the maintainer's email address or GitHub handle. You can find this information by running the command
port info --maintainers [portname]
. Don't literally paste that command into the Cc field. Also, remember to use WikiFormatting when writing in Trac.Since the unknown symbol was referenced from a sundials2 library, I think this is probably a bug in the sundials2 port rather than the cantera port. The cantera source code does not contain the string
klu_solve
but the sundials2 source code does.I don't know if it has any bearing on the problem, but I'm suspicious of the use of the flat namespace, which has not been recommended for over a decade. I don't yet see where in the build system the flat namespace is being requested.
I notice that the sundials libraries are being built with
-undefined dynamic_lookup
, which means that if there are any undefined symbols at build time, it doesn't complain about them, assuming that they will exist at runtime; in the case ofklu_solve
at least, that's apparently not happening. If I remove that flag from the build, then the build fails with undefined symbols errors, not unsurprisingly.