SoftwareNetwork / sw

Software Manager. Build System, Build System Generator and Package Manager. C/C++ and other languages. Tools and libraries for Software Management.
https://software-network.org
Other
118 stars 24 forks source link

Leptonica - Link Error #42

Closed rweldin closed 4 years ago

rweldin commented 4 years ago

Linking for Leptonica fails with the following error:

3>LINK : fatal error LNK1181: cannot open input file 'pkg\89\dc\64e7\obj\bld\144693\lib\org.sw.demo.gif-5.2.1.lib' 3>Done building project "leptonica.vcxproj" -- FAILED. ========== Build: 2 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I'm building with Visual Studio 2017 and generated a solution file with the following command:

cmake -G "Visual Studio 15 2017 Win64" -DBUILD_SHARED_LIBS=1 -DSW_BUILD_SHARED_LIBS=0 ..

Of note the org.sw.demo.gif-5.2.1.lib file is located at: pkg\89\dc\64e7\obj\bld\469698\lib, but the lib folder, 144693\lib, in the link error does not exist. This also appears to be an issue with the other dependencies as the solution points to the 144693\lib folder, but the other lib files are also located in the associated 469698\lib folder.

If you need any other information please let me know.

Information: E:\src\repo\leptonica-master\win64>sw --version sw.client.sw version 1.0.0 git revision 3831e99d3eb8ab7ae0edab0cf66d6efa43a88919 assembled on 17.05.2020 13:43:42 UTC 17.05.2020 08:43:42 Central Daylight Time

Windows 10 x64

egorpugin commented 4 years ago

Oh, yes, sorry. Couple of paths were unfixed. sw --self-upgrade and try now. I've updated binaries.

rweldin commented 4 years ago

No problem. Very appreciative of the work you are doing.

Everything worked great after upgrading.

On Sun, May 17, 2020, 11:24 AM Egor Pugin notifications@github.com wrote:

Oh, yes, sorry. Couple of paths were unfixed. sw --self-upgrade and try now. I've updated binaries.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SoftwareNetwork/sw/issues/42#issuecomment-629823877, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7VI3O7MNRW2CV2ZLIX3FTRSAFUPANCNFSM4NDOAEAA .

rweldin commented 4 years ago

Egor, I'm also having linker issues with Tesseract as noted below. This may be a separate issue and I can open a new issue if you'd prefer, but it appears to be very similar. The simddetect.obj file causing the issue is located at: E:\src\repo\tesseract-master\win64\libtesseract.dir\Release, but Visual Studio is looking in E:\src\repo\tesseract-master\win64.

If you need anything else please let me know.

Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol "double cdecl tesseract::DotProductFMA(double const ,double const ,int)" (?DotProductFMA@tesseract@@YANPEBN0H@Z) referenced in function "public: static void cdecl tesseract::SIMDDetect::Update(void)" (?Update@SIMDDetect@tesseract@@SAXXZ) libtesseract E:\src\repo\tesseract-master\win64\simddetect.obj 1

E:\src\repo\tesseract-master\win64>sw --version sw.client.sw version 1.0.0 git revision 37cfa3b21de687365b166d75d7838bbc1f7005ce plus 3 modified files assembled on 17.05.2020 16:22:03 UTC 17.05.2020 11:22:03 Central Daylight Time

On a side note when looking at the Additional Dependencies section in Visual Studio for my libtesseract project there were 14 duplicate entries. This likely has nothing to do with this linker issue and may not be a problem, but I thought I would point it out.

egorpugin commented 4 years ago

Yes, I also observed that. Someone changed tess files without fixing tess build. I'll check.

Upd.: this post is about build issue.

egorpugin commented 4 years ago

On a side note when looking at the Additional Dependencies section in Visual Studio for my libtesseract project there were 14 duplicate entries.

Where do you see it? I see only unique libs.

image

egorpugin commented 4 years ago

tess build error

  1. Can you open an issue on tesseract side? Sse/avx/fma code is not very well set in cmake build. I'm not sure how to better fix it (flags etc.). Implementers should know better.
  2. You can try to use sw build of tess.
rweldin commented 4 years ago

I'll open an issue with the Tesseract group.

Regarding the dependencies issue I was looking at the Additional Dependencies string under the Linker > Input options. I used Excel to split the string and sorted it which you can see below. When viewing through the Edit section the true duplicates are removed, but my screenshots below contain libs of the same name that are in different build folders; I don't see that in your screenshot.

ADVAPI32.lib advapi32.lib C:\Users\AdminWeldin.sw\storage\pkg\00\4d\7be6\obj\bld\657802\lib\org.sw.demo.gnu.nettle.nettle-3.5.1.lib C:\Users\AdminWeldin.sw\storage\pkg\00\4d\7be6\obj\bld\657802\lib\org.sw.demo.gnu.nettle.nettle-3.5.1.lib C:\Users\AdminWeldin.sw\storage\pkg\2a\68\57cb\obj\bld\147106\lib\org.sw.demo.xz_utils.lzma-5.2.4.lib C:\Users\AdminWeldin.sw\storage\pkg\2a\68\57cb\obj\bld\147106\lib\org.sw.demo.xz_utils.lzma-5.2.4.lib C:\Users\AdminWeldin.sw\storage\pkg\2a\68\57cb\obj\bld\657802\lib\org.sw.demo.xz_utils.lzma-5.2.4.lib C:\Users\AdminWeldin.sw\storage\pkg\41\dd\3fd5\obj\bld\147106\lib\org.sw.demo.gnu.iconv.libiconv-1.16.0.lib C:\Users\AdminWeldin.sw\storage\pkg\41\dd\3fd5\obj\bld\657802\lib\org.sw.demo.gnu.iconv.libiconv-1.16.0.lib C:\Users\AdminWeldin.sw\storage\pkg\41\dd\3fd5\obj\bld\657802\lib\org.sw.demo.gnu.iconv.libiconv-1.16.0.lib C:\Users\AdminWeldin.sw\storage\pkg\42\70\b9e7\obj\bld\657802\lib\org.sw.demo.lz4-1.9.2.lib C:\Users\AdminWeldin.sw\storage\pkg\42\70\b9e7\obj\bld\657802\lib\org.sw.demo.lz4-1.9.2.lib C:\Users\AdminWeldin.sw\storage\pkg\5f\22\3837\obj\bld\147106\lib\org.sw.demo.gnu.iconv.libcharset-1.16.0.lib C:\Users\AdminWeldin.sw\storage\pkg\5f\22\3837\obj\bld\657802\lib\org.sw.demo.gnu.iconv.libcharset-1.16.0.lib C:\Users\AdminWeldin.sw\storage\pkg\5f\22\3837\obj\bld\657802\lib\org.sw.demo.gnu.iconv.libcharset-1.16.0.lib C:\Users\AdminWeldin.sw\storage\pkg\63\c5\6249\obj\bld\657802\lib\org.sw.demo.xmlsoft.libxml2-2.9.10.lib C:\Users\AdminWeldin.sw\storage\pkg\63\c5\6249\obj\bld\657802\lib\org.sw.demo.xmlsoft.libxml2-2.9.10.lib C:\Users\AdminWeldin.sw\storage\pkg\75\6a\600e\obj\bld\657802\lib\org.sw.demo.danbloomberg.leptonica-1.80.0.lib C:\Users\AdminWeldin.sw\storage\pkg\75\6a\600e\obj\bld\657802\lib\org.sw.demo.danbloomberg.leptonica-1.80.0.lib C:\Users\AdminWeldin.sw\storage\pkg\76\c7\435a\obj\bld\657802\lib\org.sw.demo.facebook.zstd.zstd-1.4.4.lib C:\Users\AdminWeldin.sw\storage\pkg\76\c7\435a\obj\bld\657802\lib\org.sw.demo.facebook.zstd.zstd-1.4.4.lib C:\Users\AdminWeldin.sw\storage\pkg\9b\07\5d05\obj\bld\657802\lib\org.sw.demo.libarchive.libarchive-3.4.2.lib C:\Users\AdminWeldin.sw\storage\pkg\9b\07\5d05\obj\bld\657802\lib\org.sw.demo.libarchive.libarchive-3.4.2.lib C:\Users\AdminWeldin.sw\storage\pkg\b8\73\733e\obj\bld\657802\lib\org.sw.demo.oberhumer.lzo.lzo-2.10.0.lib C:\Users\AdminWeldin.sw\storage\pkg\b8\73\733e\obj\bld\657802\lib\org.sw.demo.oberhumer.lzo.lzo-2.10.0.lib C:\Users\AdminWeldin.sw\storage\pkg\ce\99\b2f8\obj\bld\147106\lib\org.sw.demo.madler.zlib-1.2.11.lib C:\Users\AdminWeldin.sw\storage\pkg\ce\99\b2f8\obj\bld\147106\lib\org.sw.demo.madler.zlib-1.2.11.lib C:\Users\AdminWeldin.sw\storage\pkg\ce\99\b2f8\obj\bld\657802\lib\org.sw.demo.madler.zlib-1.2.11.lib C:\Users\AdminWeldin.sw\storage\pkg\eb\0c\8faa\obj\bld\147106\lib\org.sw.demo.bzip2-1.0.8.lib C:\Users\AdminWeldin.sw\storage\pkg\eb\0c\8faa\obj\bld\147106\lib\org.sw.demo.bzip2-1.0.8.lib C:\Users\AdminWeldin.sw\storage\pkg\eb\0c\8faa\obj\bld\657802\lib\org.sw.demo.bzip2-1.0.8.lib comdlg32.lib gdi32.lib kernel32.lib ole32.lib oleaut32.lib shell32.lib USER32.lib user32.lib uuid.lib winspool.lib Ws2_32.lib

Prop AD

egorpugin commented 4 years ago

I see. I don't want to investigate this deeply, but I'll keep it in mind.

egorpugin commented 4 years ago

See https://github.com/tesseract-ocr/tesseract/issues/2986 about cmake error.

rweldin commented 4 years ago

Thanks Egor, sorry I didn't have a chance to look into this issue yesterday or make a post.

On Mon, May 18, 2020, 4:27 PM Egor Pugin notifications@github.com wrote:

See tesseract-ocr/tesseract#2986 https://github.com/tesseract-ocr/tesseract/issues/2986 about cmake error.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/SoftwareNetwork/sw/issues/42#issuecomment-630444239, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7VI3KNOZVMHLUQN7SNXJLRSGR2PANCNFSM4NDOAEAA .