簡體   English   中英

使用共享庫的MySql UDF無法加載

[英]MySql UDF using shared library won't load

我正在嘗試使用Digital Persona的免費linux SDK庫創建一個與指紋匹配的mysql UDF。 我寫了一個瑣碎的UDF作為學習經驗,效果很好。 但是,當我向Digital Persona的共享對象添加依賴項時,我將無法再使MySql加載我的UDF。

我將include添加到DP的標題中,並使用以下命令編譯了我的UDF:

gcc -fPIC -Wall -I/usr/src/mysql-5.0.45-linux-i686-icc-glibc23/include -shared -o dp_udf.so dp_udf.cc

我也嘗試添加-static參數,但是每當我重新啟動MySql時,都會收到錯誤消息:

Can't open shared library 'dp_udf.so' (errno: 0 /usr/local/mysql/lib/plugin/dp_udf.so: undefined symbol: MC_verifyFeaturesEx)

MC_verifyFeaturesEx是一個函數定義的“ dpMatch.h”,我包括在內,並在libdpfpapi.so中實現,我嘗試將其放置在與dp_udf.so相同的位置以及/ usr / lib中。

我對gcc的調用是否做錯了事(我的C ++技能很生銹),還是MySql不允許UDF使用其他共享對象?

您的問題是您的庫依賴於另一個庫,而MySQL / dl不知道這一點,因此也不會加載它。 您需要將您的圖書館與Digital Persona的圖書館明確鏈接。 您可以使用-l{libname} (也可以使用-L/lib/path )來實現。

暫無
暫無

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

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