This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Failing to compile Thread example after updating OpenThread library

Hi all, I tried to modify the OpenThread's source codes(Just modify an API) and then built them.

  • Run the build_gcc_libs.bat script to build all of the libraries. That's OK.
  • After the libraries are built, use the provided script (<InstallFolder>/external/openthread/project/import_gcc_libs.bat) to copy the compiled libraries to the output folder.
  • Copy the /external/project/openthread/include folder into the /external/openthread folder.

Everything was fine until I tried to recompile the examples with the latest libraries. I don't know what is wrong, please find here below the error log. Such as:

openthread/src/core/thread/mle.cpp:403: undefined reference to `otPlatSettingsSet'

E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\examples\thread\experimental\cli\uart\pca10056\blank\armgcc>make
Compiling file: thread_utils.c
Linking target: _build/nrf52840_xxaa.out
../../../../../../../../external/openthread/lib/gcc/libopenthread-cli-ftd.a(cli_uart.cpp.o):(.rodata._ZTIN2ot3Cli6ServerE[_ZTIN2ot3Cli6ServerE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
../../../../../../../../external/openthread/lib/gcc/libopenthread-cli-ftd.a(cli_uart.cpp.o):(.rodata._ZTIN2ot3Cli4UartE+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(dataset_local.cpp.o): In function `ot::MeshCoP::DatasetLocal::Clear()':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:63: undefined reference to `otPlatSettingsDelete'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(dataset_local.cpp.o): In function `ot::MeshCoP::DatasetLocal::IsPresent() const':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:68: undefined reference to `otPlatSettingsGet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(dataset_local.cpp.o): In function `ot::MeshCoP::DatasetLocal::Get(ot::MeshCoP::Dataset&)':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:78: undefined reference to `otPlatSettingsGet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(dataset_local.cpp.o): In function `ot::MeshCoP::DatasetLocal::Get(otOperationalDataset&) const':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:111: undefined reference to `otPlatSettingsGet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(dataset_local.cpp.o): In function `ot::MeshCoP::DatasetLocal::Set(otOperationalDataset const&)':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:367: undefined reference to `otPlatSettingsDelete'
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:372: undefined reference to `otPlatSettingsSet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(dataset_local.cpp.o): In function `ot::MeshCoP::DatasetLocal::Set(ot::MeshCoP::Dataset const&)':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:395: undefined reference to `otPlatSettingsDelete'
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset_local.cpp:400: undefined reference to `otPlatSettingsSet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(instance.cpp.o): In function `ot::Instance::AfterInit()':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/common/instance.cpp:128: undefined reference to `otPlatSettingsInit'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(instance.cpp.o): In function `ot::Instance::FactoryReset()':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/common/instance.cpp:199: undefined reference to `otPlatSettingsWipe'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(key_manager.cpp.o): In function `ot::KeyManager::ComputeKey(unsigned long, unsigned char*)':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/key_manager.cpp:156: undefined reference to `__cxa_end_cleanup'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(key_manager.cpp.o):(.ARM.extab.text._ZN2ot10KeyManager10ComputeKeyEmPh+0x0): undefined reference to `__gxx_personality_v0'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mac.cpp.o): In function `~AesCcm':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:59: undefined reference to `__cxa_end_cleanup'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mac.cpp.o):(.ARM.extab.text._ZN2ot3Mac3Mac23ProcessTransmitSecurityERNS0_5FrameE+0x0): undefined reference to `__gxx_personality_v0'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mac.cpp.o): In function `~AesCcm':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:59: undefined reference to `__cxa_end_cleanup'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mac.cpp.o):(.ARM.extab.text._ZN2ot3Mac3Mac22ProcessReceiveSecurityERNS0_5FrameERKNS0_7AddressEPNS_8NeighborE+0x0): undefined reference to `__gxx_personality_v0'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle.cpp.o): In function `ot::Mle::Mle::Store()':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:403: undefined reference to `otPlatSettingsSet'
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:411: undefined reference to `otPlatSettingsGet'
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:422: undefined reference to `otPlatSettingsSet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle.cpp.o): In function `ot::Mle::Mle::Restore()':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:303: undefined reference to `otPlatSettingsGet'
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:330: undefined reference to `otPlatSettingsGet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle.cpp.o): In function `~AesCcm':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:59: undefined reference to `__cxa_end_cleanup'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle.cpp.o):(.ARM.extab.text._ZN2ot3Mle3Mle11SendMessageERNS_7MessageERKNS_3Ip67AddressE+0x0): undefined reference to `__gxx_personality_v0'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle.cpp.o): In function `~AesCcm':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:59: undefined reference to `__cxa_end_cleanup'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle.cpp.o):(.ARM.extab.text._ZN2ot3Mle3Mle16HandleUdpReceiveERNS_7MessageERKNS_3Ip611MessageInfoE+0x0): undefined reference to `__gxx_personality_v0'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle_router.cpp.o): In function `ot::Mle::MleRouter::RestoreChildren()':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3655: undefined reference to `otPlatSettingsGet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle_router.cpp.o): In function `ot::Mle::MleRouter::RemoveStoredChild(unsigned short)':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3690: undefined reference to `otPlatSettingsGet'
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3696: undefined reference to `otPlatSettingsDelete'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle_router.cpp.o): In function `ot::Mle::MleRouter::StoreChild(unsigned short)':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3723: undefined reference to `otPlatSettingsAdd'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(mle_router.cpp.o): In function `ot::Mle::MleRouter::RefreshStoredChildren()':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3733: undefined reference to `otPlatSettingsDelete'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(netif.cpp.o):(.rodata._ZTIN2ot15InstanceLocatorE[_ZTIN2ot15InstanceLocatorE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(netif.cpp.o):(.rodata._ZTIN2ot3Ip65NetifE[_ZTIN2ot3Ip65NetifE]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(thread_api.cpp.o): In function `otThreadGetAutoStart':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/api/thread_api.cpp:508: undefined reference to `otPlatSettingsGet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(thread_api.cpp.o): In function `otThreadSetAutoStart':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/api/thread_api.cpp:525: undefined reference to `otPlatSettingsSet'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(thread_netif.cpp.o):(.rodata._ZTIN2ot11ThreadNetifE+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(coap.cpp.o):(.rodata._ZTIN2ot4Coap4CoapE[_ZTIN2ot4Coap4CoapE]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(coap.cpp.o):(.rodata._ZTIN2ot4Coap15ApplicationCoapE[_ZTIN2ot4Coap15ApplicationCoapE]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(coap.cpp.o):(.rodata._ZTIN2ot4Coap8CoapBaseE+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(coap_secure.cpp.o):(.rodata._ZTIN2ot4Coap10CoapSecureE+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(dtls.cpp.o): In function `ot::MeshCoP::Dtls::HandleMbedtlsExportKeys(unsigned char const*, unsigned char const*, unsigned int, unsigned int, unsigned int)':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dtls.cpp:374: undefined reference to `__cxa_end_cleanup'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(dtls.cpp.o):(.ARM.extab.text._ZN2ot7MeshCoP4Dtls23HandleMbedtlsExportKeysEPKhS3_jjj+0x0): undefined reference to `__gxx_personality_v0'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(meshcop.cpp.o): In function `ot::MeshCoP::ComputeJoinerId(ot::Mac::ExtAddress const&, ot::Mac::ExtAddress&)':
E:\Git\w-repo\nRF5_SDK_for_Thread_v0.11.0_84a130f\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/meshcop.cpp:50: undefined reference to `__cxa_end_cleanup'
../../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(meshcop.cpp.o):(.ARM.extab.text._ZN2ot7MeshCoP15ComputeJoinerIdERKNS_3Mac10ExtAddressERS2_+0x0): undefined reference to `__gxx_personality_v0'
collect2.exe: error: ld returned 1 exit status
../../../../../../../../components/toolchain/gcc/Makefile.common:292: recipe for target '_build/nrf52840_xxaa.out' failed
make: *** [_build/nrf52840_xxaa.out] Error 1

Thank you!

  • Thanks for your reply.

    ##### environment:  
    
    - System:win10_x64
    - GNU:GNU Tools ARM Embedded-4.9 2015q3
    - SDK version:nRF5_SDK_for_Thread_v0.10.0_e1c3d11
    - Example:nRF5_SDK_for_Thread_v0.10.0_e1c3d11\examples\thread\experimental\cli
    
    ##### Problem Description
    
    Everything was fine when I used the pre-built OpenThread libraries, inclouding compiling cli example and then generating a bin file.
    
    Then, follow the following steps to rebuild the library according to [building the latest OpenThread libraries](http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.threadsdk.v0.10.0/thread_intro.html?cp=4_2_1_1_4#thread_qsg_libraries):
    
    1. Download or clone the [OpenThread stack](https://github.com/openthread/openthread) repository to the <InstallFolder>/external/openthread/project/openthread folder. and then  checkout to a specific commit according to Release note of Thread SDK v0.10.0:
    
    		$ git checkout 6a15261b
    
    2. Run the build_gcc_libs.bat script to build all of the libraries. It worked fine.
    3. After the libraries are built, use the provided script (<InstallFolder>/external/openthread/project/import_gcc_libs.bat) to copy the compiled libraries to the output folder. It worked fine. I was sure the pre-built OpenThread libraries had been replaced from the output information.
    4. Copy the /external/project/openthread/include folder into the /external/openthread folder.
    
    Everything is ok, but  errors come when I recompile the cli example with the latest libraries.
    
    navigate to F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\examples\thread\experimental\cli\pca10056\blank\armgcc, and then run:
    
    	$ make
    
    Errors log:
    
    	Compiling file: system_nrf52840.c
    	Linking target: _build/nrf52840_xxaa.out
    	../../../../../../../external/openthread/lib/gcc/libopenthread-cli-ftd.a(libopenthread_cli_ftd_cli_uart.cpp.o):(.rodata._ZTIN2ot3Cli6ServerE[_ZTIN2ot3Cli6ServerE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-cli-ftd.a(libopenthread_cli_ftd_cli_uart.cpp.o):(.rodata._ZTIN2ot3Cli4UartE+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_instance_api.cpp.o): In function `otInstancePostConstructor(otInstance*)':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/api/instance_api.cpp:76: undefined reference to `otPlatSettingsInit'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_instance_api.cpp.o): In function `otInstanceFactoryReset':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/api/instance_api.cpp:202: undefined reference to `otPlatSettingsWipe'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_key_manager.cpp.o): In function `ot::KeyManager::ComputeKey(unsigned long, unsigned char*)':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/key_manager.cpp:158: undefined reference to `__cxa_end_cleanup'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_key_manager.cpp.o):(.ARM.extab.text._ZN2ot10KeyManager10ComputeKeyEmPh+0x0): undefined reference to `__gxx_personality_v0'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mac.cpp.o): In function `ot::Mac::Mac::GetHashMacAddress(ot::Mac::ExtAddress*)':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/mac/mac.cpp:473: undefined reference to `__cxa_end_cleanup'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mac.cpp.o):(.ARM.extab.text._ZN2ot3Mac3Mac17GetHashMacAddressEPNS0_10ExtAddressE+0x0): undefined reference to `__gxx_personality_v0'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mac.cpp.o): In function `~AesCcm':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:57: undefined reference to `__cxa_end_cleanup'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mac.cpp.o):(.ARM.extab.text._ZN2ot3Mac3Mac23ProcessTransmitSecurityERNS0_5FrameE+0x0): undefined reference to `__gxx_personality_v0'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mac.cpp.o): In function `~AesCcm':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:57: undefined reference to `__cxa_end_cleanup'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mac.cpp.o):(.ARM.extab.text._ZN2ot3Mac3Mac22ProcessReceiveSecurityERNS0_5FrameERKNS0_7AddressEPNS_8NeighborE+0x0): undefined reference to `__gxx_personality_v0'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle.cpp.o): In function `ot::Mle::Mle::Store()':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:388: undefined reference to `otPlatSettingsSet'
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:384: undefined reference to `otPlatSettingsSet'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle.cpp.o): In function `ot::Mle::Mle::Restore()':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:285: undefined reference to `otPlatSettingsGet'
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle.cpp:310: undefined reference to `otPlatSettingsGet'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle.cpp.o): In function `~AesCcm':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:57: undefined reference to `__cxa_end_cleanup'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle.cpp.o):(.ARM.extab.text._ZN2ot3Mle3Mle11SendMessageERNS_7MessageERKNS_3Ip67AddressE+0x0): undefined reference to `__gxx_personality_v0'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle.cpp.o): In function `~AesCcm':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/crypto/aes_ccm.hpp:57: undefined reference to `__cxa_end_cleanup'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle.cpp.o):(.ARM.extab.text._ZN2ot3Mle3Mle16HandleUdpReceiveERNS_7MessageERKNS_3Ip611MessageInfoE+0x0): undefined reference to `__gxx_personality_v0'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle_router.cpp.o): In function `ot::Mle::MleRouter::RestoreChildren()':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3511: undefined reference to `otPlatSettingsGet'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle_router.cpp.o): In function `ot::Mle::MleRouter::RemoveStoredChild(unsigned short)':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3540: undefined reference to `otPlatSettingsGet'
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3546: undefined reference to `otPlatSettingsDelete'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle_router.cpp.o): In function `ot::Mle::MleRouter::StoreChild(unsigned short)':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3573: undefined reference to `otPlatSettingsAdd'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_mle_router.cpp.o): In function `ot::Mle::MleRouter::RefreshStoredChildren()':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/thread/mle_router.cpp:3583: undefined reference to `otPlatSettingsDelete'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_netif.cpp.o):(.rodata._ZTIN2ot3Ip65NetifE[_ZTIN2ot3Ip65NetifE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_thread_api.cpp.o): In function `otThreadGetAutoStart':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/api/thread_api.cpp:453: undefined reference to `otPlatSettingsGet'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_thread_api.cpp.o): In function `otThreadSetAutoStart':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/api/thread_api.cpp:470: undefined reference to `otPlatSettingsSet'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_thread_netif.cpp.o):(.rodata._ZTIN2ot11ThreadNetifE+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_coap.cpp.o):(.rodata._ZTIN2ot4Coap4CoapE+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_coap_secure.cpp.o):(.rodata._ZTIN2ot4Coap10CoapSecureE+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_dataset.cpp.o): In function `ot::MeshCoP::Dataset::Clear(bool)':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset.cpp:64: undefined reference to `otPlatSettingsDelete'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_dataset.cpp.o): In function `ot::MeshCoP::Dataset::Restore()':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset.cpp:439: undefined reference to `otPlatSettingsGet'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_dataset.cpp.o): In function `ot::MeshCoP::Dataset::Store()':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset.cpp:452: undefined reference to `otPlatSettingsDelete'
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dataset.cpp:456: undefined reference to `otPlatSettingsSet'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_dtls.cpp.o): In function `ot::MeshCoP::Dtls::HandleMbedtlsExportKeys(unsigned char const*, unsigned char const*, unsigned int, unsigned int, unsigned int)':
    	F:\nRF5_SDK_for_Thread_v0.10.0_e1c3d11\external\openthread\project\lib\openthread\ftd\armgcc/../../../../openthread/src/core/meshcop/dtls.cpp:374: undefined reference to `__cxa_end_cleanup'
    	../../../../../../../external/openthread/lib/gcc/libopenthread-ftd.a(libopenthread_ftd_dtls.cpp.o):(.ARM.extab.text._ZN2ot7MeshCoP4Dtls23HandleMbedtlsExportKeysEPKhS3_jjj+0x0): undefined reference to `__gxx_personality_v0'
    	collect2.exe: error: ld returned 1 exit status
    	../../../../../../../components/toolchain/gcc/Makefile.common:153: recipe for target '_build/nrf52840_xxaa.out' failed
    	make: *** [_build/nrf52840_xxaa.out] Error 1
    

  • contacted the thread team for this. Will come back to you soon when i get response from them.

  • Thank you~

    By the way, have you reproduced this error?

  • yes, I did ..  that is why I contacted the team :) 

Related