-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSVC 2017 build fails with x86 architecture (v2.0.0-rc2) #91
Comments
I am using the same procedure (the only difference is that I was using mingw-msys64 cmake and not the Windows installer) and it works (with AppVeyor CI as well). A question: does this script work for you? (A build out of MSVS GUI, but still using MSVC toolkit).
|
Wow! I did exactly you suggested me to do and voila!
Some further questions:
Here is my content of jumandoc.conf
Thank you! |
Nice to know that the build have passed. That means that at least MSBuild files generated by CMake are sane. I wonder that is the problem with the VS Solution.
|
Thank you for clearing those things out. Totally understandable especially about output code 3. |
I have looked over your build log once more. It probably should work, but a lot of Juman++ internal optimizations assume that we are using a 64-bit platform and have a sane number of 64-bit registers, which is obviously false on x86. |
I once tried |
It should be possible to add warning to CMake to generate at least warning in such cases |
Win32 build should not fail. It is a bug. |
Oh ok, I can check it out on my windows laptop since I have toolchain |
Tests still fail, so I reopen this issue. Still, I don't know if this is a good idea to support 32 bit architecture at all. The problem is: Juman++ memory maps analysis model and it can be large: 300m. When embedding this thing into other applications you can run out of virtual memory very fast on 32 bits. Also, hashing algorithm I use assumes that we have a lot of 64-bit integer registers. That will cause slowdown on x32 (I don't know how much though). Hashing is the cornerstone of the analysis speed by the way. |
@eiennohito Yeah, sorry, I suspect yesterday I tested it incorrectly. Looking at tests:
Even tests themself assume 64 bit integers, but internally murmur_hash uses size_t so you can easily lose accuracy |
That's a bug, it should use uint64_t. |
There are actually lots of warnings about implicit casts between size_t and uint64_t so to be sure I'd suggest to go through all of them... but it is lots to take on, so might take a while |
At least MurmurHash internal hashing representation should use fixed 64 bit integers. But sized integer hygiene is... not good, yep. |
@eiennohito Just letting you know I for now give up with |
Thanks for digging. I'm busy with a paper and upcoming PhD thesis right now, so I can't guarantee when I look into it, but I will try. |
If your project is sorta largish, I strongly recommend you to use Juman++ via gRPC. You will be protected from crashes and other weird things that way. |
Using MSVC 2017 Community on Windows 10 and CMake 3.11.3, I am trying to build Windows binary from jumanpp-2.0.0-rc2.tar.xz. However, I have some trouble to ask the developers for help. (On Linux, I got working binary from the same source. Many thanks!)
Procedure
jumanpp-build-log.txt.gz
Since Linux build is fine and it actually works pretty well, something on my Windows is not right. Some advice would be really appreciated.
The text was updated successfully, but these errors were encountered: