2022年12月13日 星期二

wkhtmltopdf (wkhtmltoimage) 與openssl (libssl-dev)的衝突問題

 早上突然發現有一個報表很久沒有發了。它的作法是去查某網頁,若有更新就截圖寄給我。

看了一下是wkhtmltoimage在https的環境不能跑了。看了一下錯誤訊息,有一連串的這個:

QSslSocket: cannot resolve CRYPTO_num_locks

查了一下關鍵字,應該是我之前手動升版openssl造成的libssl-dev的路徑對不上的關係 (當時是為了玩ftps)

試著把libssl-dev重裝,無效。

找第三方的libssl來裝,也沒有效。

好吧,反正ftps沒有在用了,把openssl降版,也沒有效。

既然openssl的部份沒有解,就來解wkhtmltoimage的部份好了。

裝了新版的wkhtmltoimage,再執行它,它說glibcxx_3.4.21' not found。

看了libstdc++.so.6檔案的內容:strings libstdc++.so.6 | grep GLIBC

它確實沒有3.4.21這個版本。

原本已經打算手動更新gcc了。但在找相關檔案時發現,我之前在這機器上有裝docker。它有libstdc++.so.6.25,看了它的字串,它有GLIBC_3.4.21。

於是我就用libstdc++.so.6.25取代本來的libstdc++.so.6.19 (當然19版的我有保留下來,說不定又會有其它問題)。

接著再跑wkhtmltoimage。

OK,問題解決了。

沒有留言:

張貼留言