Link error on boringssl when trying to build grpc for C++. Cannot open sha1-586.obj

534 views
Skip to first unread message

joest...@gmail.com

unread,
Aug 25, 2016, 6:27:00 AM8/25/16
to grpc.io
LINK : fatal error LNK1181: cannot open input file 'C:\dev\grpc\build_dir\third_party\boringssl\crypto\sha\sha.dir\Debug\sha1-586.obj'

From looking at the CMakeFile for sha, it adds the sources for sha1-586.asm to the add_library command, but no .obj is being created. The .asm files are there in the build directory though. Is it something wrong with yasm?

joest...@gmail.com

unread,
Aug 26, 2016, 8:46:47 AM8/26/16
to grpc.io, joest...@gmail.com
Hmm i only thought this was the only linker error as i was building from incredibuild. But there is actually 900+ linker errors. Clearly something has gone terribly wrong

kryt...@gmail.com

unread,
Aug 30, 2016, 1:47:23 PM8/30/16
to grpc.io, joest...@gmail.com
I have the exact same problem on the v1.0.0 branch. I could vent my frustration with gRPC after 4 days of trying to get up and running, but I'll spare you.

I am trying to use the Google Speech API from a C++ Windows application. I need statically linked libraries for grp, grpc and grpc++, but the cmake process is not working for me. I had to add the following lines to CMakeLists.txt:

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")

, while the call to cmake looks like:

cmake -G "Visual Studio 12 2013" -D_WIN32_WINNT=0x0601 -D_SCL_SECURE_NO_WARNINGS=1

This brings the number of compile errors down from 799 (!) to 45. But now I am stuck on the missing sha1-586.obj file. I have tried renaming sha1.obj, but then it simply starts complaining about other missing files.

I would very much appreciate it if Google would either/both:
* add proper support for the Windows platform
* make precompiled libraries and executables available, so we don't have to spend a week trying to compile things.

-Paul

P.S.: using the Cpp REST SDK from Microsoft I have been able to successfully call the server and get a result. But we need streaming support, so REST won't do.




Op vrijdag 26 augustus 2016 14:46:47 UTC+2 schreef joest...@gmail.com:

joest...@gmail.com

unread,
Aug 31, 2016, 5:01:50 AM8/31/16
to grpc.io, joest...@gmail.com, kryt...@gmail.com
afaik Yasm should be the one to be compiling the sha1-586.asm file to a sha1-586.obj file. You can do this manually with Yasm to generate it but this doesn't help when it should be doing this as part of the build process.

smc...@gmail.com

unread,
Dec 7, 2016, 3:04:59 PM12/7/16
to grpc.io, joest...@gmail.com, kryt...@gmail.com
Hi,

Did you ever resolve the issue with sha1-586.obj? I still haven't been able to build grpc++ at all for Windows.

Thanks,

Sean
Reply all
Reply to author
Forward
0 new messages