Configurer RHEL/CentOS 7 pour le kit de développement logiciel (SDK) SpeechConfigure RHEL/CentOS 7 for Speech SDK

Red Hat Enterprise Linux (RHEL) 8 x64 et CentOS 8 x64 sont officiellement pris en charge par le kit de développement logiciel (SDK) Speech 1.10.0 et versions ultérieures.Red Hat Enterprise Linux (RHEL) 8 x64 and CentOS 8 x64 are officially supported by the Speech SDK version 1.10.0 and later. Il est également possible d’utiliser le kit de développement logiciel (SDK) Speech sur RHEL/CentOS 7 x64, mais cela implique la mise à jour du compilateur C++ (développement C++) et de la bibliothèque runtime C++ partagée sur votre système.It is also possible to use the Speech SDK on RHEL/CentOS 7 x64, but this requires updating the C++ compiler (for C++ development) and the shared C++ runtime library on your system.

Pour vérifier la version du compilateur C++, exécutez :To check the C++ compiler version, run:

g++ --version

Si le compilateur est installé, la sortie doit se présenter comme suit :If the compiler is installed, the output should look like this:

g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)

Ce message vous indique que la version principale, GCC 4, est installée.This message lets you know that GCC major version 4 is installed. Cette version ne prend pas pleinement en charge la version standard C++ 11 utilisée par le kit de développement logiciel (SDK) Speech.This version doesn't have full support for the C++ 11 standard, which the Speech SDK uses. Tenter de compiler un programme C++ avec cette version de GCC et les en-têtes du kit de développement logiciel (SDK) Speech se soldera par des erreurs de compilation.Trying to compile a C++ program with this GCC version and the Speech SDK headers will result in compilation errors.

Il est également important de vérifier la version de la bibliothèque runtime C++ partagée (libstdc++).It's also important to check the version of the shared C++ runtime library (libstdc++). Pour l'essentiel, le kit de développement logiciel (SDK) Speech est implémenté sous forme de bibliothèques C++ natives, ce qui signifie qu’il dépend de libstdc++ quel que soit le langage utilisé pour développer des applications.Most of the Speech SDK is implemented as native C++ libraries, meaning it depends on libstdc++ regardless of the language you use to develop applications.

Pour rechercher l’emplacement de libstdc++ sur votre système, exécutez :To find the location of libstdc++ on your system, run:

ldconfig -p | grep libstdc++

La sortie RHEL/CentOS 7 (x64) vanille est la suivante :The output on vanilla RHEL/CentOS 7 (x64) is:

libstdc++.so.6 (libc6,x86-64) => /lib64/libstdc++.so.6

Sur la base de ce message, vous vérifierez les définitions de version à l’aide de cette commande :Based on this message, you'll want to check the version definitions with this command:

strings /lib64/libstdc++.so.6 | egrep "GLIBCXX_|CXXABI_"

La sortie doit être :The output should be:

...
GLIBCXX_3.4.19
...
CXXABI_1.3.7
...

Le kit de développement logiciel (SDK) Speech requiert CXXABI_1.3.9 et GLIBCXX_3.4.21.The Speech SDK requires CXXABI_1.3.9 and GLIBCXX_3.4.21. Pour rechercher ces informations, exécutez ldd libMicrosoft.CognitiveServices.Speech.core.so sur les bibliothèques du kit de développement logiciel (SDK) Speech à partir du package Linux.You can find this information by running ldd libMicrosoft.CognitiveServices.Speech.core.so on the Speech SDK libraries from the Linux package.

Notes

Il est recommandé d'installer la version GCC minimale 5.4.0, avec les bibliothèques runtime correspondantes.It is recommended that the version of GCC installed on the system is at least 5.4.0, with matching runtime libraries.

ExempleExample

Il s’agit d’un exemple de jeu de commandes qui illustre la configuration de RHEL/CentOS 7 x64 à des fins de développement (C++, C#, Java, Python) avec le kit de développement logiciel (SDK) Speech 1.10.0 ou version ultérieure :This is a sample command set that illustrates how to configure RHEL/CentOS 7 x64 for development (C++, C#, Java, Python) with the Speech SDK 1.10.0 or later:

1. Configuration générale1. General setup

Commencez par installer toutes les dépendances générales :First install all general dependencies:

# Only run ONE of the following two commands
# - for CentOS 7:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
# - for RHEL 7:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

# Install development tools and libraries
sudo yum update -y
sudo yum groupinstall -y "Development tools"
sudo yum install -y alsa-lib dotnet-sdk-2.1 java-1.8.0-openjdk-devel openssl python3
sudo yum install -y gstreamer1 gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer1-plugins-ugly-free

2. Compilateur C/C++ et bibliothèques du runtime2. C/C++ compiler and runtime libraries

Installez les packages requis à l’aide de la commande suivante :Install the prerequisite packages with this command:

sudo yum install -y gmp-devel mpfr-devel libmpc-devel

Notes

Le package libmpc-devel est déconseillé depuis la mise à jour RHEL 7.8.The libmpc-devel package has been deprecated in the RHEL 7.8 update. Si la sortie de la commande précédente contient un messageIf the output of the previous command includes a message

No package libmpc-devel available.

les fichiers nécessaires doivent être installés à partir des sources d’origine.then the necessary files need to be installed from original sources. Exécutez les commandes suivantes :Run the following commands:

curl https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz -O
tar zxf mpc-1.1.0.tar.gz
mkdir mpc-1.1.0-build && cd mpc-1.1.0-build
../mpc-1.1.0/configure --prefix=/usr/local --libdir=/usr/local/lib64
make -j$(nproc)
sudo make install-strip

Ensuite, mettez à jour le compilateur et les bibliothèques du runtime :Next update the compiler and runtime libraries:

# Build GCC 5.4.0 and runtimes and install them under /usr/local
curl https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2 -O
tar jxf gcc-5.4.0.tar.bz2
mkdir gcc-5.4.0-build && cd gcc-5.4.0-build
../gcc-5.4.0/configure --enable-languages=c,c++ --disable-bootstrap --disable-multilib --prefix=/usr/local
make -j$(nproc)
sudo make install-strip

Si le compilateur et les bibliothèques mis à jour doivent être déployés sur plusieurs machines, vous pouvez simplement les copier à partir de /usr/local vers d’autres machines.If the updated compiler and libraries need to be deployed on several machines, you can simply copy them from under /usr/local to other machines. Si seules les bibliothèques du runtime sont nécessaires, les fichiers figurant dans /usr/local/lib64 seront suffisants.If only the runtime libraries are needed then the files in /usr/local/lib64 will be enough.

3. Paramètres d'environnement3. Environment settings

Exécutez les commandes suivantes pour achever la configuration :Run the following commands to complete the configuration:

# Set SSL cert file location
# (this is required for any development/testing with Speech SDK)
export SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.crt

# Add updated C/C++ runtimes to the library path
# (this is required for any development/testing with Speech SDK)
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH

# For C++ development only:
# - add the updated compiler to PATH
#   (note, /usr/local/bin should be already first in PATH on vanilla systems)
# - add Speech SDK libraries from the Linux tar package to LD_LIBRARY_PATH
#   (note, use the actual path to extracted files!)
export PATH=/usr/local/bin:$PATH
hash -r # reset cached paths in the current shell session just in case
export LD_LIBRARY_PATH=/path/to/extracted/SpeechSDK-Linux-1.10.0/lib/x64:$LD_LIBRARY_PATH

# For Python: install the Speech SDK module
python3 -m pip install azure-cognitiveservices-speech --user

Étapes suivantesNext steps