<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Re-building OpenThread Libraries - Thread SDK4.0.0 - missing libopenthread-cli-ftd.a and libopenthread-cli-mtd.a</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/56595/re-building-openthread-libraries---thread-sdk4-0-0---missing-libopenthread-cli-ftd-a-and-libopenthread-cli-mtd-a</link><description>When I carefully follow the instructions at https://infocenter.nordicsemi.com/topic/sdk_tz_v4.0.0/thread_ot_libraries_building.html , I am missing some of the openthread libraries that originally shipped with Thread SDK 4.0.0. Specifically, the files</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 17 Jan 2020 11:57:43 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/56595/re-building-openthread-libraries---thread-sdk4-0-0---missing-libopenthread-cli-ftd-a-and-libopenthread-cli-mtd-a" /><item><title>RE: Re-building OpenThread Libraries - Thread SDK4.0.0 - missing libopenthread-cli-ftd.a and libopenthread-cli-mtd.a</title><link>https://devzone.nordicsemi.com/thread/229587?ContentTypeID=1</link><pubDate>Fri, 17 Jan 2020 11:57:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56924077-da4a-45c0-aa1a-f05444310266</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi Rob,&lt;/p&gt;
&lt;p&gt;The solution you proposed looks correct.&lt;/p&gt;
&lt;p&gt;I do not think it is possible to build it in a more efficient way, as the libraries can only be built with one transport defined at a time.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Re-building OpenThread Libraries - Thread SDK4.0.0 - missing libopenthread-cli-ftd.a and libopenthread-cli-mtd.a</title><link>https://devzone.nordicsemi.com/thread/229279?ContentTypeID=1</link><pubDate>Wed, 15 Jan 2020 18:32:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aed7314d-6224-4535-97c1-de6b27f1a2ea</guid><dc:creator>Rob C</dc:creator><description>&lt;p&gt;My error.&amp;nbsp; When running a fresh build as described above, the files are generated.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I made the mistake of running a &amp;quot;make -f examples/Makefile-nrf52840 .... with the&amp;nbsp;&lt;span&gt;NCP_SPI=1 flag set first (which inhibits the CLI).&amp;nbsp; I failed to issue a &amp;quot;make -f examples/Makefile-nrf52840 clean&amp;quot; before making the UART or USB variants (which DO include the CLI).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So I understand the corrected script (rebuilding SDK4.0.0 for GCC or SES without modification), in linux, is as follows:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;sudo apt-get update&lt;/li&gt;
&lt;li&gt;sudo apt-get upgrade&lt;/li&gt;
&lt;li&gt;mkdir ot&lt;/li&gt;
&lt;li&gt;cd ot&lt;/li&gt;
&lt;li&gt;git clone&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/openthread/openthread.git"&gt;https://github.com/openthread/openthread.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;cd openthread&lt;/li&gt;
&lt;li&gt;git checkout 8a1992e2e42fb707babe9491a6a1456e553490e8&lt;/li&gt;
&lt;li&gt;./bootstrap&lt;/li&gt;
&lt;li&gt;make -f examples/Makefile-nrf52840 clean&lt;/li&gt;
&lt;li&gt;make -f examples/Makefile-nrf52840 BORDER_AGENT=1 BORDER_ROUTER=1 COAP=1 COMMISSIONER=1 DISABLE_BUILTIN_MBEDTLS=1 DNS_CLIENT=1 DIAGNOSTIC=1 EXTERNAL_HEAP=1 JOINER=1 LINK_RAW=1 MAC_FILTER=1 MTD_NETDIAG=1 SERVICE=1 UDP_FORWARD=1 ECDSA=1 SNTP_CLIENT=1 COAPS=1 DHCP6_SERVER=1 DHCP6_CLIENT=1 NCP_SPI=1&lt;/li&gt;
&lt;li&gt;rename and copy the&amp;nbsp;five SPI files from /output/&amp;nbsp;and stash them in a safe&amp;nbsp;location so they don&amp;#39;t get cleaned up:&lt;br /&gt;
&lt;table class="doxtable"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align="left"&gt;old name&lt;/td&gt;
&lt;td align="left"&gt;new name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-ncp-ftd.a&lt;/code&gt;&lt;/td&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-ncp-ftd-spi.a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-ncp-mtd.a&lt;/code&gt;&lt;/td&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-ncp-mtd-spi.a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-rcp.a&lt;/code&gt;&lt;/td&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-rcp-spi.a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52840-sdk.a&lt;/code&gt;&lt;/td&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52840-sdk-spi.a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52840-softdevice-sdk.a&lt;/code&gt;&lt;/td&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52840-softdevice-sdk-spi.a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52811-sdk.a&lt;/code&gt;&lt;/td&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52811-sdk-spi.a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;li&gt;make -f examples/Makefile-nrf52840 clean&lt;/li&gt;
&lt;li&gt;make -f examples/Makefile-nrf52840 BORDER_AGENT=1 BORDER_ROUTER=1 COAP=1 COMMISSIONER=1 DISABLE_BUILTIN_MBEDTLS=1 DNS_CLIENT=1 DIAGNOSTIC=1 EXTERNAL_HEAP=1 JOINER=1 LINK_RAW=1 MAC_FILTER=1 MTD_NETDIAG=1 SERVICE=1 UDP_FORWARD=1 ECDSA=1 SNTP_CLIENT=1 COAPS=1 DHCP6_SERVER=1 DHCP6_CLIENT=1 USB=1&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;rename and copy the&amp;nbsp;two&amp;nbsp;USB files from /output/ and stash them in a safe&amp;nbsp;location so they don&amp;#39;t get cleaned up:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;table class="doxtable"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align="left"&gt;old name&lt;/td&gt;
&lt;td align="left"&gt;new name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52840-sdk.a&lt;/code&gt;&lt;/td&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52840-sdk-usb.a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52840-softdevice-sdk.a&lt;/code&gt;&lt;/td&gt;
&lt;td align="left" colspan="1" rowspan="1"&gt;&lt;code&gt;libopenthread-nrf52840-sdk-softdevice-usb.a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;li&gt;make -f examples/Makefile-nrf52840 clean&lt;/li&gt;
&lt;li&gt;make -f examples/Makefile-nrf52840 BORDER_AGENT=1 BORDER_ROUTER=1 COAP=1 COMMISSIONER=1 DISABLE_BUILTIN_MBEDTLS=1 DNS_CLIENT=1 DIAGNOSTIC=1 EXTERNAL_HEAP=1 JOINER=1 LINK_RAW=1 MAC_FILTER=1 MTD_NETDIAG=1 SERVICE=1 UDP_FORWARD=1 ECDSA=1 SNTP_CLIENT=1 COAPS=1 DHCP6_SERVER=1 DHCP6_CLIENT=1&lt;/li&gt;
&lt;li&gt;Copy the UART set of libraries from&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;&amp;lt;OpenThreadFolder&amp;gt;/output/&amp;lt;target&amp;gt;/lib&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to the SDK folder:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;/external/openthread/lib/&amp;lt;target&amp;gt;gcc&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Copy the unique SPI and USB libraries from wherever you stashed them&amp;nbsp;&lt;span&gt;to the SDK folder:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;/external/openthread/lib/&amp;lt;target&amp;gt;gcc&lt;/code&gt;&lt;span&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Copy the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;&amp;lt;OpenThreadFolder&amp;gt;/include&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;folder to the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;/external/openthread&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;folder.&lt;/li&gt;
&lt;li&gt;Copy the platform specific&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;platform-fem.h&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;platform-softdevice.h&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;files from&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;/external/project/openthread/examples/platforms/nrf528xx/src&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;/external/openthread/include/platform&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;folder.&lt;/li&gt;
&lt;li&gt;Copy&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;openthread-system.h&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file from&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;/external/project/openthread/examples/platforms&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;/external/openthread/include/platform&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Please confirm I haven&amp;#39;t missed anything or if there is a more efficient way to achieve the same result.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;Rob&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>