作者Neisseria (Neisseria)
看板C_and_CPP
標題[問題] PHP extension 找不到 shared library
時間Sun Dec 4 22:28:00 2016
開發平台(Platform): (Ex: Win10, Linux, ...)
Debian GNU/Linux Jessie
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
g++ 4.9.2
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
我在練習寫 PHP extension
先前已經用 Rust 實作一個 toy library,確定可正常運作
PHP extension 也寫好了 (用 PHP-CPP 做為 glue)
我已經把 matrix.h 放在 /usr/local/include,libmatrix.so 放在 /usr/local/lib
但是 matrix.so (PHP extension) 抓不到 shared library
餵入的資料(Input):
無
預期的正確結果(Expected Output):
matrix.so 可抓到 libmatrix.so
錯誤結果(Wrong Output):
$ ldd matrix.so
linux-vdso.so.1 (0x00007fffb5ccf000)
libphpcpp.so.2.0 => /usr/local/lib/libphpcpp.so.2.0 (0x00007f90d7ead000)
libmatrix.so => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f90d78a1000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f90d768b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f90d72e0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f90d8369000)
程式碼(Code):(請善用置底文網頁, 記得排版)
無
補充說明(Supplement):
感謝 C/C++ 板
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.114.65
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1480861685.A.D91.html
1F:→ AIGecko: ldconfig? 12/04 22:32
感謝提示,已經解決了
因為 libmatrix.so 是我自己土炮的 toy library
我自己手動在 /etc/ld.so.conf.d 加入相關路徑就可以了
幸好是自己的機器,有 root 權限
※ 編輯: Neisseria (175.182.114.65), 12/04/2016 23:05:24
再問一下,像這些有關編譯、連結等相關的知識
有沒有什麼書籍或網站可看 以 Linux 或 Unix 優先 (中英皆可)
初級的 C/C++ 書對這些著墨較少
有時候碰到就覺得很卡 除錯訊息相對也不是很好懂
再次感謝 C/C++ 板
※ 編輯: Neisseria (175.182.114.65), 12/04/2016 23:23:01
2F:推 james732: <<程式設計師的自我修養>> 12/04 23:37
※ 編輯: Neisseria (60.251.46.166), 12/24/2018 16:53:31