Linuxライブラリ共通FAQ


Q:アプリケーションを起動するとシェアードライブラリがないとのエラーが出るのですが。

A:

インストールが正常にできていない可能性があります。インストールはroot権限で行って ください。
シェアードライブラリは、/usr/local/libにコピーしただけでは、動作しません。
シェアードライブラリを有効にするには、ファイルをコピーしてシンボリックリンクを作成 した後に、ldconfigコマンドを実行してください。
詳細は、daq-libmb-lnx/libmodbus/MakeFileを見てください。

※事前にautogen.shを実行ください

 

Q:シェアードライブラリを任意のディレクトリにおいて管理したいのですが。

A:

シェアードライブラリを任意のディレクトリで管理するには、以下2つの手順が必要です。

1.以下のように、configureスクリプトで prefix=「任意のディレクトリ(/usr/lib等)」と指定した後、make 、 make installを実施してください。
本操作で、シェアードライブラリが任意のディレクトリにコピーされます。

# ./autogen.sh
................
# ./configure prefix=任意のディレクトリ
................
#  make
................
#  make install

 

2./etc/ld.so.confを書き換えてldconfigを実行するか、シェルの起動スクリプト等でLD_LIBRARY_PATH の設定を追加してください(例はbash)。
記述内容は、使用するシェルによって異なります。詳しくは、manコマンドで調べてください。
本操作で、任意のディレクトリにあるライブラリがシェアードライブラリとしてロードされます。

(例).bash_profile
LD_LIBRARY_PATH=任意のディレクトリ
export LD_LIBRARY_PATH

 

Q:ライブラリのmakeに失敗します。

A-1:
ドライバ仕様 にて、対応アーキテクチャやディストリビューションであることを確認してください。

A-2:
Raspberry Pi OS May 2023以降の32bitをRaspberry Pi 4 Model Bへインストールすると、OSデフォルト設定では64bitモードとなります。
このため、make時にエラーが発生したり、デバイスドライバによってはmake時にエラーが発生しなくても、デバイスドライバが正常に動作しないことがあります。

弊社での動作確認は32bitモードで行っております。
32bitモードで動作するには、「/boot/firmware/config.txt」(*1)に「arm_64bit=0」を追加します。その後、OS再起動を再起動してください。
*1:環境によって「/boot/config.txt」になります

詳細は、https://www.raspberrypi.com/documentation/computers/config_txt.html#arm_64bit を参照ください。

A-3:
DX-U1100シリーズのUbuntu 18.04.5で、make実行時にエラーが発生することがあります。
この場合、当社Webサイトから"OSアップデートパッケージ (JetPack4.4.1, Ubuntu18.04.5 LTS V003)"をダウンロードし、OSをアップデートしてください。

詳細は、DX-U1100製品ページ内の「ダウンロード・サポート」タブの"デバイスドライバ"の項目を参照ください。

DX-U1100製品ページ: https://www.contec.com/jp/products-services/edge-computing/embedded-computers/ai-computers/dx-u1100/support/#section