[MacPorts] #61933: wxmaxima crashes on macOS Big Sur v11k - conflicting wxWidget libs
MacPorts
noreply at macports.org
Tue Dec 29 18:20:00 UTC 2020
#61933: wxmaxima crashes on macOS Big Sur v11k - conflicting wxWidget libs
------------------------+--------------------------
Reporter: chlangley | Owner: MSoegtropIMC
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: wxmaxima |
------------------------+--------------------------
Comment (by ggruener):
The `is implemented in both...` warning is repeated very many times.
These warnings are then followed by very many
{{{
../src/common/object.cpp(251): assert "classTable->Get(m_className) ==
NULL" failed in Register(): Class "wxCommandEvent" already in RTTI table -
have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some
object file twice)?
}}}
And then
{{{
../src/common/stdpbase.cpp(62): assert "traits" failed in Get(): create
wxApp before calling this
Segmentation fault
}}}
Inspecting
`/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/`
shows that three equal files exist per each lib instead of two symbolic
links pointing to the versioned lib. For example:
{{{
-rwxr-xr-x 1 root wheel 743K Nov 23 09:52
libwx_osx_cocoau_xrc-3.0.0.4.0.dylib*
-rwxr-xr-x 1 root wheel 743K Nov 23 09:52
libwx_osx_cocoau_xrc-3.0.0.dylib*
-rwxr-xr-x 1 root wheel 743K Nov 23 09:52
libwx_osx_cocoau_xrc-3.0.dylib*
}}}
Making symbolic links to the versioned lib fixes the problem. For example:
{{{
-rwxr-xr-x 1 root wheel 743K Nov 23 09:52
libwx_osx_cocoau_xrc-3.0.0.4.0.dylib*
lrwxr-xr-x 1 root wheel 36B Dec 29 15:25
libwx_osx_cocoau_xrc-3.0.0.dylib@ -> libwx_osx_cocoau_xrc-3.0.0.4.0.dylib
lrwxr-xr-x 1 root wheel 32B Dec 29 15:25
libwx_osx_cocoau_xrc-3.0.dylib@ -> libwx_osx_cocoau_xrc-3.0.0.dylib
}}}
I fixed the symlinks for all libs in the directory. After this fix,
`wxmaxima` starts correctly without warning.
So I guess the source of the problem lies in the installation of port
`wxWidgets-3.0`. Perhaps it can be corrected to create symlinks instead of
copies of the libs.
--
Ticket URL: <https://trac.macports.org/ticket/61933#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list