Linuxã§æå°éã®ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããšãããšãäŸå€ãã¹ããŒãããŸãSystem.DllNotFoundException: Failed to find library "libleptonica-1.78.0.so" for platform x64
ãããã£ãŠããã€ãã£ãã®äŸåé¢ä¿ã¯ãWindows以å€ã®ãã©ãããã©ãŒã ã«ã¯å«ãŸããŠããªãããã§ãã
Linuxã§travis-ciããã«ãããããšãããšããã®åé¡ãçºçããŸãã ãã®ãã¡ã€ã«ãããŠã³ãããã€ã³ã¹ããŒã«å¯èœãªããã±ãŒãžã¯ãããŸããïŒ ç§ã¯æ¬¡ã®äž¡æ¹ãè©ŠããŸããããã©ã¡ãã圹ã«ç«ã¡ãŸããã§ãã
sudo apt install tesseract-ocr
sudo apt install libleptonica-dev
ãã®ãã¡ã€ã«ãæ©èœãããã«ã¯ããã®ãã¡ã€ã«ãèªåã§ã³ã³ãã€ã«ããå¿
èŠããããŸããã
ç§ã¯ãã®ããã¥ã¡ã³ãã䜿çšããŸããïŒ https ïŒ
åé¡ã¯ã InteropDotNetã察å¿ãããã©ã«ããŒïŒx64ãŸãã¯x86ïŒã«ãã€ãã£ãã®libleptonicaãšlibtesseractãæåŸ
ããŠããããã«èŠããããšã§ãã ãããã£ãŠãèªåã®ããã«æ ãè
ã®å Žåã¯ã libtesseract-dev
ãšlibleptonica-dev
ãã€ã³ã¹ããŒã«ãã*ãsoãã¡ã€ã«ãbin / <æ§æ> /netcoreapp3.1/x64ãã©ã«ããŒã«ã³ããŒããŠãååãå€æŽããŸãïŒã³ã³ãã€ã©ã©ã®ãã¡ã€ã«ãæ¬ èœããŠãããïŒãçªç¶æ©èœããŸãã ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ãœãããŠã§ã¢ãœãŒã¹ã«é©åãªããŒãžã§ã³ãå«ãŸããŠãããšä»®å®ãããšãã€ãŸã;ïŒ
ãã ããé©åãªè§£æ±ºçã¯ãWindowsã®å Žåãšåãããã«Linuxçšã®ãã€ããªãåºè·ããããšã ãšæããŸãã
ç§ã¯ããã«å¯ŸåŠããããã®ããè¯ãæ¹æ³ã¯ãµããŒãããããšã ãããšèããŠããŸãã
äžè¬çãªããŒããã€ãããã¯ã©ã€ãã©ãªã«ãŒãã³ã䜿çšããã ãã§ãã©ãŒã«ããã¯ããŸãïŒã€ãŸãã
æšæºã®æ€çŽ¢ãã¹ïŒã ããããã°ãã©ã€ãã©ãªãããã°ããŸãããã¯ãã§ã
ã€ã³ã¹ããŒã«ãããŠããŸãã
ç§ãèããããšãã§ããå¯äžã®åé¡ã¯ãããã蚺æã«åé¡ãåŒãèµ·ããå¯èœæ§ããããšããããšã§ã
ã©ã€ãã©ãªã®æ€çŽ¢ãŸãã¯ããŒãã«é¢é£ãããšã©ãŒã ããã¯
ãå°»ã®äžè²«ããçã¿ã
ããã¯ã©ã®ããã«èãããŸããïŒ
2020幎1æ28æ¥ç«ææ¥ã07ïŒ13 Arthurã notifications @ github.comã¯æ¬¡ã®ããã«æžããŠããŸãã
åé¡ã¯ãInteropDotNetã§ã
https://github.com/AndreyAkinshin/InteropDotNetã¯ãã€ãã£ããæåŸ ããŠããããã§ã
察å¿ãããã©ã«ããŒïŒx64ãŸãã¯x86ïŒå ã®libleptonicaããã³libtesseractã ã ãããã
ããªãã¯ç§èªèº«ã®ããã«æ æ°ã§ããããªãã¯libtesseract-devãã€ã³ã¹ããŒã«ããããšãã§ããŸã
libleptonica-devã .soãã¡ã€ã«ãbin // x64ãã©ã«ããŒã«ã³ããŒã
Linuxçšã®ãã€ããªãåºè·ããã®ãé©åãªè§£æ±ºçã ãšæããŸã
Windowsã®å Žåãšåãããã«ãâ
ãã®ã¹ã¬ããã«ãµãã¹ã¯ã©ã€ãããŠããããããããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/charlesw/tesseract/issues/503?email_source=notifications&email_token=AAB7HSFBQGRE4KQQXT532Q3Q7455HA5CNFSM4KKGHXW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN
ãŸãã¯è³Œèªã解é€ãã
https://github.com/notifications/unsubscribe-auth/AAB7HSDQUHSMSOEPC36WOSDQ7455HANCNFSM4KKGHXWQ
ã
ç§ã¯åãåé¡ãæ±ããŠããŸããDebianãã¹ã¿ãŒã«åºã¥ãDockerã€ã¡ãŒãžã䜿çšããŠããŠã1.76ãš4.0.1ã«ãã移è¡ããªããããæ£ããã¬ãããã«1.78.0ãšããã»ã©ã¯ã4.1.0ãã³ã³ãã€ã«ããããšãã§ããŸãããããŸã ãSystem.DllNotFoundExceptionïŒãã©ãããã©ãŒã x64ã®ã©ã€ãã©ãªãlibleptonica-1.78.0.soããèŠã€ãããŸããã§ãããã
@arthrpã«ããææ¡ãšããŠx64ãã©ã«ããŒã®.soãã³ããŒããŠã¿ãŸããããã·ã³ããªãã¯ãªã³ã¯ãè©ŠããŠã¿ãŸããããã©ã¡ããæ©èœããŸããããã®æç¹ã§ä»ã«äœããã¹ããããããŸããã
äœãæ¡ãïŒ
ããã圹ç«ã€ãã©ããã¯ããããŸãããã https://github.com/SMI/SmiServices/commit/d97879dd84c7288ca6e472c7f2b0f678bb9a47a3
ãããã§ãå°ãªããšãããã¯ããããx64\libleptonica-1.78.0.so
ãšx64\libtesseract41.so
ãšåŒã°ããå¿
èŠãããããšã確èªããŸãã
å¥åŠãªããšã«ãããã¯ãŸãã«ç§ãããŠããããšã§ããç§ã¯ã©ããä»ã®å Žæã§ééã£ãŠããã«éããããŸãã...
leptonicaãštesseractçšã«linux.soãã³ã³ãã€ã«ããx64ãã£ã¬ã¯ããªã«é 眮ããå¿ èŠããããŸãã DLLãããããèŠã€ããããããã«ããã¡ã€ã«åãx64 /libtesseract41.soããã³x64 / libleptonica-1.78.0.soã§ããããšã確èªããŠãã ããããã ããå éšçã«ã¯ãtesseract.soãå¥ã®ååã§leptonica.soãåç §ããŠããããšãããããŸãã x64 / libleptonica.so.5.3.0ãšããååã®ã·ã³ããªãã¯ãªã³ã¯ïŒãŸãã¯ã³ããŒïŒãå¿ èŠã§ã
Linuxã®ãlddããŠãŒãã£ãªãã£ã䜿çšããŠãä»ã«äžè¶³ããŠããäŸåé¢ä¿ããããã©ããã確èªã§ããŸãã
ãããæäŒã£ãŠãããŠããããšããåºæ¬çã«ãç§ã®Dockerã€ã¡ãŒãžã«ã¯ããããããŸãïŒ
root@st-ocr_service:/usr/local/lib# ls -alh
total 145M
drwxr-xr-x 1 root root 4.0K Feb 7 15:51 .
drwxr-xr-x 1 root root 4.0K Feb 7 15:51 ..
-rw-r--r-- 1 root root 17M Feb 7 14:14 liblept.a
-rwxr-xr-x 1 root root 984 Feb 7 14:14 liblept.la
lrwxrwxrwx 1 root root 16 Feb 7 14:14 liblept.so -> liblept.so.5.0.3
lrwxrwxrwx 1 root root 16 Feb 7 14:14 liblept.so.5 -> liblept.so.5.0.3
-rwxr-xr-x 1 root root 2.6M Feb 7 14:14 liblept.so.5.0.3
-rw-r--r-- 1 root root 123M Feb 7 14:19 libtesseract.a
-rwxr-xr-x 1 root root 1.1K Feb 7 14:19 libtesseract.la
lrwxrwxrwx 1 root root 21 Feb 7 14:19 libtesseract.so -> libtesseract.so.4.0.1
lrwxrwxrwx 1 root root 21 Feb 7 14:19 libtesseract.so.4 -> libtesseract.so.4.0.1
-rwxr-xr-x 1 root root 3.4M Feb 7 14:19 libtesseract.so.4.0.1
drwxr-xr-x 2 root root 4.0K Feb 7 15:51 pkgconfig
ãã®ïŒ
root@st-ocr_service:/app/x64# ls -alh
total 12K
drwxr-xr-x 1 root root 4.0K Feb 7 16:08 .
drwxr-xr-x 1 root root 4.0K Feb 7 15:51 ..
lrwxrwxrwx 1 root root 27 Feb 7 16:03 liblept.so.5 -> /usr/local/lib/liblept.so.5
lrwxrwxrwx 1 root root 27 Feb 7 16:08 libleptonica-1.78.0.so -> /usr/local/lib/liblept.so.5
lrwxrwxrwx 1 root root 36 Feb 7 16:08 libtesseract41.so -> /usr/local/lib/libtesseract.so.4.0.1
ããã¯ç§ãlddããåŸããã®ãšäžèŽããŠããŸãïŒ
root@st-ocr_service:/app/x64# ldd libtesseract41.so
[...]
liblept.so.5 => /usr/local/lib/liblept.so.5 (0x00007fe735ff6000)
[...]
ãã ãããã®æ§æã䜿çšããŠãã System.DllNotFoundException: Failed to find library "libleptonica-1.78.0.so" for platform x64.
ãååŸãããããé ããããããªããŸãã
æææ¥ã®æãæ·¹ãããŠã®ã³ãŒããŒãå¿ãæŸãã§ãã€ãã«ãããæ©èœããããã«ãªããŸããïŒ
LeptonicaãšTesseractã®ã³ã³ãã€ã«ãæ£ãããããŸããã§ããããããä¿®æ£ããŸããããŸããDockerã€ã¡ãŒãžã«ããã€ãã®äŸåé¢ä¿ãæ¬ èœããŠããããããã¹ãŠãæŽçãããæ£åžžã«æ©èœããŠããŸãã
Windows 10ã§ã³ã³ãã€ã«ããAWSLambdaã«ãããã€ããããšããŠããŸãã libleptonica-1.78.0.soãã¡ã€ã«ãèŠã€ãããªããšãããšã©ãŒãçºçããŸãã
ããŠã³ããŒãã§ããå Žæã¯ãããŸããïŒ
@sudipkumarbhattacharyaLinuxãã€ããªã¯åã®ã³ã¡ã³ãã®1ã€ãããªã³ã¯ãããŠããŸã
ãããç§ãDebian9ãµãŒããŒã§ãããä¿®æ£ããæ¹æ³ã§ãïŒ
cd ~/MyProject/x64
sudo apt install libleptonica-dev
ln -s /usr/lib/x86_64-linux-gnu/liblept.so.5 liblept.so.5
ln -s /usr/lib/x86_64-linux-gnu/liblept.so.5 libleptonica-1.78.0.so
# Installed the repository from https://notesalexp.org/
sudo apt install libtesseract-dev
ln -s /usr/lib/x86_64-linux-gnu/libtesseract.so.4.0.1 libtesseract41.so
ãã¹ãšããŒãžã§ã³ã¯ããã·ã³ã«ãã£ãŠç°ãªãå ŽåããããŸãã
誰ãã.NETCore 5.0ã«å¯ŸããŠãããå®è¡ã§ããŸããïŒ äŸåé¢ä¿ãšã¿ãŒã²ãããã¬ãŒã ã¯ãŒã¯ãæŽæ°ããåŸãManjaroLinuxã§ãµã³ãã«ã³ã³ãœãŒã«ã¢ããªãã³ã³ãã€ã«ããéã«åé¡ãçºçããŸãã
leptopnicaã¯OKãlibteseractã¯OKã§ãããçµæã®ã³ã³ãœãŒã«ã¢ããªã¯ã³ã³ãã€ã«ããŠããå®è¡ãããšsegmentation fault
ã§ã¯ã©ãã·ã¥ããŸãã ãã®.NETã©ãããŒãLinuxã§æ£ããæ©èœããŠããªãããã«æãããŸãã
ãã€ãã£ãã®äŸåé¢ä¿ãããã±ãŒãžã«ãã³ãã«ããæ¹ãçã«ããªã£ãŠããã®ã§ã¯ãªãã§ããããã 人ã ãæ£ç¢ºã«æ£ããã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããããšãèŠæ±ããã®ã§ã¯ãªãããããè¡ãïŒãŸãã¯ãããã®äŸåé¢ä¿ãã³ããŒããããã®æåã®æé ãå®è¡ããïŒå€ãã®.netããã±ãŒãžããããŸãã
ã¯ããããã¯ç¢ºãã«ãªãã·ã§ã³ã§ããä»ã®èª°ããããã§æèŠãæã£ãŠããŸããïŒ ç§
Linuxã®çµéšãããŸããªããããçŸåšã®ãã¹ããã©ã¯ãã£ã¹ãããããªã
ããã
Linux / Macãä¿å®ããæéããªãããšã«æ³šæããŠãã ããããã ãããã«ã¯åãå
¥ããŸãã
ãªã¯ãšã¹ãã åé¡ãæèµ·ããããæ¢åã®åé¡ã«ã€ããŠã³ã¡ã³ãããŠãã ãã
é©åã§ãããæåã«ããªãã®ã¢ã€ãã¢ã«ã€ããŠè©±ãåãããã«ð
2021幎3æ16æ¥ç«ææ¥ã02ïŒ49 Alexander Trauzziã @ ã * >
æžããŸããïŒ
ãã€ãã£ãã®äŸåé¢ä¿ããã³ãã«ããæ¹ãçã«ããªã£ãŠããã®ã§ã¯ãªãã§ããããã
ããã±ãŒãžïŒ å¿ èŠãšããã®ã§ã¯ãªãããããè¡ãå€ãã®.netããã±ãŒãžããããŸã
人ã ãæ£ç¢ºã«æ£ããã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããŠããïŒãŸãã¯æåã®æé ãå®è¡ããŠããïŒ
ãããã®äŸåé¢ä¿ãã³ããŒããŸãïŒãâ
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/charlesw/tesseract/issues/503#issuecomment-799527550 ã
ãŸãã¯è³Œèªã解é€ãã
https://github.com/notifications/unsubscribe-auth/AAB7HSF4QBJ3BHIGK62JFODTDYUAFANCNFSM4KKGHXWQ
ã
ããã»ã¹ã¯WindowsãmacOSãLinuxã§ãåãã ãšæããŸãã Windowsã©ã€ãã©ãªã«ãéçã³ããŒãå«ãŸããŠããå¿ èŠãããã®ã§ãããããå§ããŸããïŒ
.NET 4.1.1ã®ã©ãããŒã䜿çšããcarloswbarrosã«ãããœãªã¥ãŒã·ã§ã³ã䜿çšããŠWSL2ïŒUbuntu 20.04ïŒã§åäœããŸããã ããããAWSäžã®Dockerã§ãããã€ãããšããã©ãããã©ãŒã x64ã®ã©ã€ãã©ãªãlibleptonica-1.80.0.soããèŠã€ãããŸããã§ãããšããã¡ãã»ãŒãžã衚瀺ãããŠå€±æããŸãã ãŸãã¯ããã©ãããã©ãŒã x64ã®ã©ã€ãã©ãªãlibtesseract41.soããèŠã€ãããªãå ŽåããããŸãã ç§ã¯æ¬¡ã®ãããªã·ã³ããªãã¯ãªã³ã¯ãè©ŠããŸãã
WORKDIR / app / x64
ln -s / usr / lib / x86_64-linux-gnu / liblept.so.5libleptonica-1.80.0.soãå®è¡ããŸã
ln -s / usr / lib / x86_64-linux-gnu / libtesseract.so.4.0.1libtesseract41.soãå®è¡ããŸã
ããã¯åœ¹ã«ç«ã¡ãŸããã ãŸãããœãªã¥ãŒã·ã§ã³ãã©ã«ããŒããçŽæ¥x64ãã©ã«ããŒã«ã³ããŒããããšããŸããããåãçµæã«ãªããŸããã ä»ãç§ã¯ãããã³ã³ãã€ã«ããªããã°ãªããªããšæããŸãã å®éã«ã¯ãnugetããã±ãŒãžãã€ã³ã¹ããŒã«ãããLinuxã©ã€ãã©ãªãçšæããããšããå§ãããŸãã
.NET 4.1.1ã®ã©ãããŒã䜿çšããcarloswbarrosã«ãããœãªã¥ãŒã·ã§ã³ã䜿çšããŠWSL2ïŒUbuntu 20.04ïŒã§åäœããŸããã ããããAWSäžã®Dockerã§ãããã€ãããšããã©ãããã©ãŒã x64ã®ã©ã€ãã©ãªãlibleptonica-1.80.0.soããèŠã€ãããŸããã§ãããšããã¡ãã»ãŒãžã衚瀺ãããŠå€±æããŸãã ãŸãã¯ããã©ãããã©ãŒã x64ã®ã©ã€ãã©ãªãlibtesseract41.soããèŠã€ãããªãå ŽåããããŸãã ç§ã¯æ¬¡ã®ãããªã·ã³ããªãã¯ãªã³ã¯ãè©ŠããŸãã
WORKDIR / app / x64
ln -s / usr / lib / x86_64-linux-gnu / liblept.so.5libleptonica-1.80.0.soãå®è¡ããŸã
ln -s / usr / lib / x86_64-linux-gnu / libtesseract.so.4.0.1libtesseract41.soãå®è¡ããŸã
ããã¯åœ¹ã«ç«ã¡ãŸããã ãŸãããœãªã¥ãŒã·ã§ã³ãã©ã«ããŒããçŽæ¥x64ãã©ã«ããŒã«ã³ããŒããããšããŸããããåãçµæã«ãªããŸããã ä»ãç§ã¯ãããã³ã³ãã€ã«ããªããã°ãªããªããšæããŸãã å®éã«ã¯ãnugetããã±ãŒãžãã€ã³ã¹ããŒã«ãããLinuxã©ã€ãã©ãªãçšæããããšããå§ãããŸãã
githubã¯ãŒã¯ãããŒãšdockerinstationãå®è¡ãããšããã®ãšã©ãŒãçºçããŸã
ããã¯Dockerfileã§æ©èœããŸããã ãœãŒã¹ããlibtesseract.so.4.0.1ããã«ãããå¿
èŠããããŸãã
apt-get update && apt-get install -ylibleptonica-devãå®è¡ããŸã
apt-get update && apt-get install -ylibtesseract-devãå®è¡ããŸã
apt-get update && apt-get install -ylibc6-devãå®è¡ããŸã
apt-get update && apt-get install -ylibjpeg62-turbo-devãå®è¡ããŸã
apt-get update && apt-get install -ylibgdiplusãå®è¡ããŸã
WORKDIR / app / x64
ln -s /usr/lib/x86_64-linux-gnu/liblept.so.5liblept.so.5ãå®è¡ããŸã
ln -s / usr / lib / x86_64-linux-gnu / liblept.so.5libleptonica-1.80.0.soãå®è¡ããŸã
ã³ããŒ./sofile/libtesseract.so.4.0.1libtesseract41.so
æãåèã«ãªãã³ã¡ã³ã
ãã€ãã£ãã®äŸåé¢ä¿ãããã±ãŒãžã«ãã³ãã«ããæ¹ãçã«ããªã£ãŠããã®ã§ã¯ãªãã§ããããã 人ã ãæ£ç¢ºã«æ£ããã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããããšãèŠæ±ããã®ã§ã¯ãªãããããè¡ãïŒãŸãã¯ãããã®äŸåé¢ä¿ãã³ããŒããããã®æåã®æé ãå®è¡ããïŒå€ãã®.netããã±ãŒãžããããŸãã