簡體   English   中英

在Iinux OS(定制板)上運行的應用程序不會從導出的LD_LIBRARY_PATH中讀取共享庫

[英]Application running on Iinux OS (custom board) does not reads the shared libraries from the exported LD_LIBRARY_PATH

我正在嘗試在Linux OS定制板上運行一個應用程序( a.out ,一個非常小的應用程序僅包含一個打印語句),而該Linux OS定制板上在/lib/usr/lib沒有共享庫。

所以我正在使用LD_LIBRARY_PATH導出共享庫路徑

export LD_LIBRARY_PATH=/media/opensourcelib/toolchainLib/ramfslib

我確定共享庫在此路徑中/media/opensourcelib/toolchainLib/ramfslib

仍然,在此之后,當我執行a.out我得到了錯誤

/bin/sh: ./../usr/lib/a.out: not found

如果我將共享庫復制到/lib ,則該應用程序可以正常運行。

但是我需要使其工作而不復制共享庫。 請幫助我,導出LD_LIBRARY_PATH可能是什么問題。

我會做以下事情:

  1. 檢查路徑是否正確。 可能是大寫或小寫字母或任何其他拼寫錯誤。 在進行任何其他操作之前,請先嘗試ls /media/opensourcelib/toolchainLib/ramfslib ,然后檢查該庫是否存在。
  2. 檢查LD_LIBRARY_PATH的路徑中是否存在必要的軟鏈接。 這是執行ldconfig的事情之一。 也許對於您的libmylib.so.1.5.8您會找到鏈接libmylib.so.1.5libmylib.so.1libmylib.so
  3. 使用ldd a.out檢查庫依賴關系。
  4. 如果您已將strace安裝到系統中(如果未安裝,則建議為您的開發板進行編譯並將其復制到您的開發板中),嘗試導出以前的LD_LIBRARY_PATH來啟動它,並驗證是否嘗試讀取路徑(以及許多其他操作) 。

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM