OpenMEEG headmodel error

it's not a memory problem. We just updated openmeeg to version 2.4 and you hit a tiny issue.

What Linux/OS version are you using?

in the mean time you can revert to older 2.2 version:

http://openmeeg.gforge.inria.fr/download/release-2.2/OpenMEEG-2.2.0-Linux64.amd64-gcc-4.3.2-OpenMP-static.tar.gz

see:

Alex

Gosh! thats what i think, i use unbuntu 16.04.4 trying to update and maybe this will fix my problem, if not i will go back to the old version

thank you so much, that was quick! :slight_smile:

the update didn’t work, im gonne move to the old version. Thank you very much for your help!

Martine

We should figure out what happens in order to properly fix it.

Can you see if https://github.com/mlapin/libsdca/issues/1 helps?
See solutions that do work in the description of the issue.

My analysis is that we now build openmeeg with a newer version of GCC
and that can create issues with your matlab that is older than this GCC
version. Yes we should have a proper fix for this.

Alex

Hi Alex,

I observed the same issue with Matlab 2014b on Ubuntu 14.
Is this something you’re going to fix in your distribution?

***************************************************************************
** Error: OpenMEEG call: om_assemble -HM
**       "/export02/ftadel/tmp/openmeeg.geom"
**       "/export02/ftadel/tmp/openmeeg.cond"
**       "/export02/ftadel/tmp/openmeeg_hm.mat"
** OpenMEEG error #1: 
** ./om_assemble: /export01/local/matlab14b/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by ./om_assemble)

Francois

The life cycle of Ubuntu 14 ends April 2019. So we should actually support it. But I don’t think that ubuntu’s libstdc is actually the problem but the one for matlab14.

can you try to run the following things (adjust accordingly):

$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX  
$ strings /opt/matlab/R2017b/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_DEBUG_MESSAGE_LENGTH


strings /export01/local/matlab14b/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.5
GLIBCXX_3.4.9
_ZSt10adopt_lock@@GLIBCXX_3.4.11
GLIBCXX_3.4.10
GLIBCXX_3.4.16
GLIBCXX_3.4.1
_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4
_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
_ZSt10defer_lock@@GLIBCXX_3.4.11
_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4
_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.11
_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
GLIBCXX_3.4.12
_ZNSi6ignoreEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.2
_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.15
_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
GLIBCXX_3.4.11
GLIBCXX_3.4.3
GLIBCXX_3.4.7
_ZNSi6ignoreEl@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.14
_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
_ZSt15future_category@@GLIBCXX_3.4.14
_ZNSi6ignoreEl@GLIBCXX_3.4
GLIBCXX_3.4
_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
_ZNVSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.11
_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4
_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
_ZNSi6ignoreEv@GLIBCXX_3.4
_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
GLIBCXX_3.4.8
GLIBCXX_3.4.13
_ZSt11try_to_lock@@GLIBCXX_3.4.11
_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.17
GLIBCXX_3.4.4
_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4

Matlab 2012b:

strings /export01/local/matlab12b/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.5
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.1
_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4
_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4
_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
GLIBCXX_3.4.12
_ZNSi6ignoreEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.2
_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
GLIBCXX_3.4.6
_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
GLIBCXX_3.4.11
GLIBCXX_3.4.3
GLIBCXX_3.4.7
_ZNSi6ignoreEl@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
_ZNSi6ignoreEl@GLIBCXX_3.4
GLIBCXX_3.4
_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4
_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
_ZNSi6ignoreEv@GLIBCXX_3.4
_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
GLIBCXX_3.4.8
GLIBCXX_3.4.13
_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.4
_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4

Matlab 2016b:

strings /export01/local/matlab16b/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.5
GLIBCXX_3.4.9
_ZSt10adopt_lock@@GLIBCXX_3.4.11
GLIBCXX_3.4.10
GLIBCXX_3.4.16
GLIBCXX_3.4.1
_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4
_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
_ZSt10defer_lock@@GLIBCXX_3.4.11
_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4
_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.11
GLIBCXX_3.4.20
_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
GLIBCXX_3.4.12
_ZNSi6ignoreEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.2
_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.15
_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
GLIBCXX_3.4.19
_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
GLIBCXX_3.4.11
GLIBCXX_3.4.3
GLIBCXX_3.4.7
_ZNSi6ignoreEl@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.14
_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
GLIBCXX_3.4.18
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
_ZSt15future_category@@GLIBCXX_3.4.14
_ZNSi6ignoreEl@GLIBCXX_3.4
GLIBCXX_3.4
_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4
_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
_ZNVSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.11
_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4
_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4
_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
_ZNSi6ignoreEv@GLIBCXX_3.4
_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
GLIBCXX_3.4.8
GLIBCXX_3.4.13
_ZSt11try_to_lock@@GLIBCXX_3.4.11
_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.17
GLIBCXX_3.4.4
_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4

What I don’t understand is why it tries to pick the one from Matlab. Can you do an ldd of o_assemble to see if it picks the system one.

Once said that, which is the oldest Matlab version supported by brainstorm?

Can you do an ldd of o_assemble to see if it picks the system one

What should I do?

Once said that, which is the oldest Matlab version supported by brainstorm?

Matlab 2008a:
https://neuroimage.usc.edu/brainstorm/Installation

❯ cd .brainstorm/openmeeg/linux64

~/.brainstorm/openmeeg/linux64
❯ ldd om_assemble
	linux-vdso.so.1 =>  (0x00007ffd50c80000)
	libOpenMEEG.so.1 => not found
	libOpenMEEGMaths.so.1 => not found
	libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f05b2d5c000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f05b29d6000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f05b27bf000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f05b23df000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f05b21db000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f05b1fbc000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f05b1c66000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f05b2f8b000)

and the issue is related to this https://nl.mathworks.com/matlabcentral/answers/329796-issue-with-libstdc-so-6

Since brainstorm already hacks the rpaths and so on, a natural solution would be to provide a libstc++ and use it.

@Francois can you try to start matlab like this on your linux machine, and then check if you have problems still.

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/bin/matlab

thx

When running from a terminal:

ftadel@jupiter:~/.brainstorm/openmeeg/linux64$ ldd om_assemble
	linux-vdso.so.1 =>  (0x00007fff131e4000)
	libOpenMEEG.so.1 => not found
	libOpenMEEGMaths.so.1 => not found
	libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f3aa307f000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3aa2d6c000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3aa2b55000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3aa278c000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3aa2588000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3aa236a000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3aa2064000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3aa32ae000)

When running from Matlab:

>> !ldd om_assemble
./om_assemble: /export01/local/matlab14b/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by ./om_assemble)
	linux-vdso.so.1 =>  (0x00007ffc925ca000)
	libOpenMEEG.so.1 => not found
	libOpenMEEGMaths.so.1 => not found
	libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f226546e000)
	libstdc++.so.6 => /export01/local/matlab14b/sys/os/glnxa64/libstdc++.so.6 (0x00007f2265167000)
	libgcc_s.so.1 => /export01/local/matlab14b/sys/os/glnxa64/libgcc_s.so.1 (0x00007f2264f52000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2264b89000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2264985000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2264767000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2264461000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f226569d000)

From Matlab, started with “LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/bin/matlab”:
(in this configuration: OpenMEEG works)

>> !ldd om_assemble
	linux-vdso.so.1 =>  (0x00007ffcf01ae000)
	/usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6c9acc5000)
	libOpenMEEG.so.1 => not found
	libOpenMEEGMaths.so.1 => not found
	libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f6c9aa96000)
	libgcc_s.so.1 => /export01/local/matlab14b/sys/os/glnxa64/libgcc_s.so.1 (0x00007f6c9a881000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6c9a4b8000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6c9a1b2000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f6c9afd8000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6c99fae000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6c99d90000)

Trying to find a simpler solution for the users, I tested the following:

>> !LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 ldd om_assemble
	linux-vdso.so.1 =>  (0x00007ffe9e1c9000)
	/usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f18513cc000)
	libOpenMEEG.so.1 => not found
	libOpenMEEGMaths.so.1 => not found
	libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f185119d000)
	libgcc_s.so.1 => /export01/local/matlab14b/sys/os/glnxa64/libgcc_s.so.1 (0x00007f1850f88000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1850bbf000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f18508b9000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f18516df000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f18506b5000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1850497000)
  • Could work to enforce the libstdc++ library used by all the om_* commands, instead of asking the users to start Matlab in a different way?

  • How could we get the path to the system libstdc++ in a reliable way?

  • Could you suggest a modification of bst_openmeeg.m that could compensate for this?

I started documenting this workaround here:
https://neuroimage.usc.edu/brainstorm/Tutorials/TutBem#Errors

Using the LD_PRELOAD workaround on Ubuntu 18.04.1 LTS gives another issue with libgcc:

uname: /home/tom/Projects/Software/matlab_2008b/installation_package/sys/os/glnxa64/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
sed: /home/tom/Projects/Software/matlab_2008b/installation_package/sys/os/glnxa64/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
/lib64/libc.so.6: /home/tom/Projects/Software/matlab_2008b/installation_package/sys/os/glnxa64/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
head: /home/tom/Projects/Software/matlab_2008b/installation_package/sys/os/glnxa64/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
sed: /home/tom/Projects/Software/matlab_2008b/installation_package/sys/os/glnxa64/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
awk: /home/tom/Projects/Software/matlab_2008b/installation_package/sys/os/glnxa64/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
rm: /home/tom/Projects/Software/matlab_2008b/installation_package/sys/os/glnxa64/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
/home/tom/Projects/Software/matlab_2008b/installation_package/bin/glnxa64/MATLAB: /home/tom/Projects/Software/matlab_2008b/installation_package/bin/glnxa64/../../sys/os/glnxa64/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)

Adding system’s libgcc to LD_PRELOAD works:

LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib/x86_64-linux-gnu/libgcc_s.so.1" matlab

Hi Francois,

Is there a way to turn off automatic OpenMEEG updates in order to run the older version? We are working on a large departmental Linux server and are not able to update the glibc, so would prefer to simply run the older 2.2 version.

However, when we download the older version and try to compute a BEM headmodel, an automatic process starts to update the OpenMEEG software to the newer version.

We have tried to turn off automatic updates in Brainstorm, have disabled internet connectivity, etc. However, we cannot find a way to simply revert to the old OpenMEEG headmodel computation within the updated Brainstorm software.

Perhaps there is an option we are missing in the 'bst_openmeeg.m' Matlab script that could disable the automatic update?

Thanks,
Margot

Hi Margot,

I modified the script bst_openmeeg.m so that it does not try to update OpenMEEG when the Brainstorm automatic updates are disabled (in the Brainstorm preferences). Update Brainstorm to get this fix.
https://github.com/brainstorm-tools/brainstorm3/commit/f60f3ea87255419abeb21a42ad1569325208d4c8#diff-9e590703ce3a61a47c365d821b1164e6

To install again an older version of OpenMEEG: delete the $HOME/.brainstorm/openmeeg folder, then use the menus Update > Update OpenMEEG > Download and Install.

Does it solve your problem?
François

It worked. Thank you, Francois!