Skip to content

Commit

Permalink
deploy: 320f7dd
Browse files Browse the repository at this point in the history
  • Loading branch information
csukuangfj committed Jan 29, 2024
1 parent f502647 commit 711c025
Show file tree
Hide file tree
Showing 13 changed files with 1,142 additions and 2 deletions.
Binary file added _images/utf8-setting.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _sources/onnx/install/aarch64-embedded-linux.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ Please create an issue at `<https://github.com/k2-fsa/sherpa-onnx/issues>`_
if you have any problems.

How to build static libraries and static linked binaries
---------------------------------------------------------
--------------------------------------------------------

If you want to build static libraries and static linked binaries, please first
download a cross compile toolchain with GCC >= 9.0. The following is an example:
Expand Down
68 changes: 68 additions & 0 deletions _sources/onnx/install/arm-embedded-linux.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ Finally, let us build `sherpa-onnx`_.
git clone https://github.com/k2-fsa/sherpa-onnx
cd sherpa-onnx
export BUILD_SHARED_LIBS=ON
./build-arm-linux-gnueabihf.sh
After building, you will get the following binaries:
Expand Down Expand Up @@ -195,3 +196,70 @@ Read below if you want to learn more.
Please create an issue at `<https://github.com/k2-fsa/sherpa-onnx/issues>`_
if you have any problems.

How to build static libraries and static linked binaries
--------------------------------------------------------

If you want to build static libraries and static linked binaries, please first
download a cross compile toolchain with GCC >= 9.0. The following is an example:

.. code-block:: bash
mkdir -p $HOME/software
cd $HOME/software
wget -q https://huggingface.co/csukuangfj/sherpa-ncnn-toolchains/resolve/main/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
tar xf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
Next, we need to set the following environment variable:

.. code-block:: bash
export PATH=$HOME/software/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin:$PATH
To check that we have installed the cross-compiling toolchain successfully, please
run:

.. code-block:: bash
arm-none-linux-gnueabihf-gcc --version
which should print the following log:

.. code-block::
arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
Now you can build static libraries and static linked binaries with the following commands:

.. code-block:: bash
git clone https://github.com/k2-fsa/sherpa-onnx
cd sherpa-onnx
export BUILD_SHARED_LIBS=OFF
./build-arm-linux-gnueabihf.sh
You can use the following commands to check that the generated binaries are indeed static linked:

.. code-block:: bash
$ cd build-arm-linux-gnueabihf/bin
$ ldd sherpa-onnx-alsa
not a dynamic executable
$ readelf -d sherpa-onnx-alsa
Dynamic section at offset 0xa68eb4 contains 31 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libasound.so.2]
0x00000001 (NEEDED) Shared library: [libdl.so.2]
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x00000001 (NEEDED) Shared library: [ld-linux-armhf.so.3]
0x0000000f (RPATH) Library rpath: [$ORIGIN:/star-fj/fangjun/open-source/sherpa-onnx/build-arm-linux-gnueabihf/_deps/espeak_ng-src/lib:/star-fj/fangjun/open-source/sherpa-onnx/build-arm-linux-gnueabihf/_deps/onnxruntime-src/lib:]
0x0000000c (INIT) 0x13550
6 changes: 6 additions & 0 deletions _sources/onnx/tts/faq.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,14 @@ It shows you
How to enable UTF-8 on Windows
------------------------------

For Chinese Users: 如果英文模型正常,中文模型不正常。请看下面的解决方法
和这个 `issue <https://github.com/k2-fsa/sherpa-onnx/issues/468>`_

Please see `win11 下永久设置cmd编码为utf-8 <https://blog.csdn.net/Demonwolfe/article/details/127227808>`_

.. image:: ./pic/utf8-setting.jpg
:alt: screenshot of how to set utf8 on windows

How to install sherpa-onnx for TTS
----------------------------------

Expand Down
1 change: 1 addition & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -459,6 +459,7 @@ <h1>sherpa<a class="headerlink" href="#sherpa" title="Permalink to this heading"
<li class="toctree-l3"><a class="reference internal" href="onnx/install/arm-embedded-linux.html">Embedded Linux (arm)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="onnx/install/arm-embedded-linux.html#install-toolchain">Install toolchain</a></li>
<li class="toctree-l4"><a class="reference internal" href="onnx/install/arm-embedded-linux.html#build-sherpa-onnx">Build sherpa-onnx</a></li>
<li class="toctree-l4"><a class="reference internal" href="onnx/install/arm-embedded-linux.html#how-to-build-static-libraries-and-static-linked-binaries">How to build static libraries and static linked binaries</a></li>
</ul>
</li>
</ul>
Expand Down
1 change: 1 addition & 0 deletions onnx/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ <h1>sherpa-onnx<a class="headerlink" href="#sherpa-onnx" title="Permalink to thi
<li class="toctree-l2"><a class="reference internal" href="install/arm-embedded-linux.html">Embedded Linux (arm)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="install/arm-embedded-linux.html#install-toolchain">Install toolchain</a></li>
<li class="toctree-l3"><a class="reference internal" href="install/arm-embedded-linux.html#build-sherpa-onnx">Build sherpa-onnx</a></li>
<li class="toctree-l3"><a class="reference internal" href="install/arm-embedded-linux.html#how-to-build-static-libraries-and-static-linked-binaries">How to build static libraries and static linked binaries</a></li>
</ul>
</li>
</ul>
Expand Down
56 changes: 56 additions & 0 deletions onnx/install/arm-embedded-linux.html
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
<li class="toctree-l3 current"><a class="current reference internal" href="#">Embedded Linux (arm)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#install-toolchain">Install toolchain</a></li>
<li class="toctree-l4"><a class="reference internal" href="#build-sherpa-onnx">Build sherpa-onnx</a></li>
<li class="toctree-l4"><a class="reference internal" href="#how-to-build-static-libraries-and-static-linked-binaries">How to build static libraries and static linked binaries</a></li>
</ul>
</li>
</ul>
Expand Down Expand Up @@ -183,6 +184,7 @@ <h2>Build sherpa-onnx<a class="headerlink" href="#build-sherpa-onnx" title="Perm
<p>Finally, let us build <a class="reference external" href="https://github.com/k2-fsa/sherpa-onnx">sherpa-onnx</a>.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/k2-fsa/sherpa-onnx
<span class="nb">cd</span><span class="w"> </span>sherpa-onnx
<span class="nb">export</span><span class="w"> </span><span class="nv">BUILD_SHARED_LIBS</span><span class="o">=</span>ON
./build-arm-linux-gnueabihf.sh
</pre></div>
</div>
Expand Down Expand Up @@ -289,6 +291,60 @@ <h2>Build sherpa-onnx<a class="headerlink" href="#build-sherpa-onnx" title="Perm
<p>Please create an issue at <a class="reference external" href="https://github.com/k2-fsa/sherpa-onnx/issues">https://github.com/k2-fsa/sherpa-onnx/issues</a>
if you have any problems.</p>
</section>
<section id="how-to-build-static-libraries-and-static-linked-binaries">
<h2>How to build static libraries and static linked binaries<a class="headerlink" href="#how-to-build-static-libraries-and-static-linked-binaries" title="Permalink to this heading"></a></h2>
<p>If you want to build static libraries and static linked binaries, please first
download a cross compile toolchain with GCC &gt;= 9.0. The following is an example:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir<span class="w"> </span>-p<span class="w"> </span><span class="nv">$HOME</span>/software
<span class="nb">cd</span><span class="w"> </span><span class="nv">$HOME</span>/software
wget<span class="w"> </span>-q<span class="w"> </span>https://huggingface.co/csukuangfj/sherpa-ncnn-toolchains/resolve/main/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
tar<span class="w"> </span>xf<span class="w"> </span>gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
</pre></div>
</div>
<p>Next, we need to set the following environment variable:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">export</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$HOME</span>/software/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin:<span class="nv">$PATH</span>
</pre></div>
</div>
<p>To check that we have installed the cross-compiling toolchain successfully, please
run:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>arm-none-linux-gnueabihf-gcc<span class="w"> </span>--version
</pre></div>
</div>
<p>which should print the following log:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">arm</span><span class="o">-</span><span class="n">none</span><span class="o">-</span><span class="n">linux</span><span class="o">-</span><span class="n">gnueabihf</span><span class="o">-</span><span class="n">gcc</span> <span class="p">(</span><span class="n">GNU</span> <span class="n">Toolchain</span> <span class="k">for</span> <span class="n">the</span> <span class="n">A</span><span class="o">-</span><span class="n">profile</span> <span class="n">Architecture</span> <span class="mf">9.2</span><span class="o">-</span><span class="mf">2019.12</span> <span class="p">(</span><span class="n">arm</span><span class="o">-</span><span class="mf">9.10</span><span class="p">))</span> <span class="mf">9.2.1</span> <span class="mi">20191025</span>
<span class="n">Copyright</span> <span class="p">(</span><span class="n">C</span><span class="p">)</span> <span class="mi">2019</span> <span class="n">Free</span> <span class="n">Software</span> <span class="n">Foundation</span><span class="p">,</span> <span class="n">Inc</span><span class="o">.</span>
<span class="n">This</span> <span class="ow">is</span> <span class="n">free</span> <span class="n">software</span><span class="p">;</span> <span class="n">see</span> <span class="n">the</span> <span class="n">source</span> <span class="k">for</span> <span class="n">copying</span> <span class="n">conditions</span><span class="o">.</span> <span class="n">There</span> <span class="ow">is</span> <span class="n">NO</span>
<span class="n">warranty</span><span class="p">;</span> <span class="ow">not</span> <span class="n">even</span> <span class="k">for</span> <span class="n">MERCHANTABILITY</span> <span class="ow">or</span> <span class="n">FITNESS</span> <span class="n">FOR</span> <span class="n">A</span> <span class="n">PARTICULAR</span> <span class="n">PURPOSE</span>
</pre></div>
</div>
<p>Now you can build static libraries and static linked binaries with the following commands:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/k2-fsa/sherpa-onnx
<span class="nb">cd</span><span class="w"> </span>sherpa-onnx
<span class="nb">export</span><span class="w"> </span><span class="nv">BUILD_SHARED_LIBS</span><span class="o">=</span>OFF
./build-arm-linux-gnueabihf.sh
</pre></div>
</div>
<p>You can use the following commands to check that the generated binaries are indeed static linked:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build-arm-linux-gnueabihf/bin

$<span class="w"> </span>ldd<span class="w"> </span>sherpa-onnx-alsa
<span class="w"> </span>not<span class="w"> </span>a<span class="w"> </span>dynamic<span class="w"> </span>executable

$<span class="w"> </span>readelf<span class="w"> </span>-d<span class="w"> </span>sherpa-onnx-alsa

Dynamic<span class="w"> </span>section<span class="w"> </span>at<span class="w"> </span>offset<span class="w"> </span>0xa68eb4<span class="w"> </span>contains<span class="w"> </span><span class="m">31</span><span class="w"> </span>entries:
<span class="w"> </span>Tag<span class="w"> </span>Type<span class="w"> </span>Name/Value
<span class="w"> </span>0x00000001<span class="w"> </span><span class="o">(</span>NEEDED<span class="o">)</span><span class="w"> </span>Shared<span class="w"> </span>library:<span class="w"> </span><span class="o">[</span>libasound.so.2<span class="o">]</span>
<span class="w"> </span>0x00000001<span class="w"> </span><span class="o">(</span>NEEDED<span class="o">)</span><span class="w"> </span>Shared<span class="w"> </span>library:<span class="w"> </span><span class="o">[</span>libdl.so.2<span class="o">]</span>
<span class="w"> </span>0x00000001<span class="w"> </span><span class="o">(</span>NEEDED<span class="o">)</span><span class="w"> </span>Shared<span class="w"> </span>library:<span class="w"> </span><span class="o">[</span>libm.so.6<span class="o">]</span>
<span class="w"> </span>0x00000001<span class="w"> </span><span class="o">(</span>NEEDED<span class="o">)</span><span class="w"> </span>Shared<span class="w"> </span>library:<span class="w"> </span><span class="o">[</span>libpthread.so.0<span class="o">]</span>
<span class="w"> </span>0x00000001<span class="w"> </span><span class="o">(</span>NEEDED<span class="o">)</span><span class="w"> </span>Shared<span class="w"> </span>library:<span class="w"> </span><span class="o">[</span>libc.so.6<span class="o">]</span>
<span class="w"> </span>0x00000001<span class="w"> </span><span class="o">(</span>NEEDED<span class="o">)</span><span class="w"> </span>Shared<span class="w"> </span>library:<span class="w"> </span><span class="o">[</span>ld-linux-armhf.so.3<span class="o">]</span>
<span class="w"> </span>0x0000000f<span class="w"> </span><span class="o">(</span>RPATH<span class="o">)</span><span class="w"> </span>Library<span class="w"> </span>rpath:<span class="w"> </span><span class="o">[</span><span class="nv">$ORIGIN</span>:/star-fj/fangjun/open-source/sherpa-onnx/build-arm-linux-gnueabihf/_deps/espeak_ng-src/lib:/star-fj/fangjun/open-source/sherpa-onnx/build-arm-linux-gnueabihf/_deps/onnxruntime-src/lib:<span class="o">]</span>
<span class="w"> </span>0x0000000c<span class="w"> </span><span class="o">(</span>INIT<span class="o">)</span><span class="w"> </span>0x13550
</pre></div>
</div>
</section>
</section>


Expand Down
1 change: 1 addition & 0 deletions onnx/install/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@
<li class="toctree-l1"><a class="reference internal" href="arm-embedded-linux.html">Embedded Linux (arm)</a><ul>
<li class="toctree-l2"><a class="reference internal" href="arm-embedded-linux.html#install-toolchain">Install toolchain</a></li>
<li class="toctree-l2"><a class="reference internal" href="arm-embedded-linux.html#build-sherpa-onnx">Build sherpa-onnx</a></li>
<li class="toctree-l2"><a class="reference internal" href="arm-embedded-linux.html#how-to-build-static-libraries-and-static-linked-binaries">How to build static libraries and static linked binaries</a></li>
</ul>
</li>
</ul>
Expand Down
Loading

0 comments on commit 711c025

Please sign in to comment.