Closed JayeshThamke closed 7 years ago
Hi,
Re Win7, Please try using a vs build environment console window to see if this helps cmake find the compiler in the path. Also, I'd advise to use OpenSSl 1.0.2k or l, 0.9.8 is pretty old. If our docs mention this it must be changed.
Re docker. Normally docker clones all submodules when run the way you did it, so this is surprising me, also given that dockerhub is building just fine. Maybe it is the version of docker you used. Anyway, as workaround I'd suggest first cloning --recursive, and then running 'docker build -t proxyd .' in the repo root rather than directly against the git url.
Let me know if you are still blocked.
Hello @marcschier
Win 7 + using Docker Container:
I have followed your recommended solution for Docker building, that is changing working directory from Docker Terminal and did docker build -t proxyd .
it built and ran successfully. Thank you very much.
On my Windows 7 machine, VS2015 is installed and it uses PlatformToolSet = v140
however in CMakeError.Log inside 'C:\github_repos\opcproxy\iot-edge-opc-proxy\build\cmake\x64\CMakeFiles'
The error was logged as:
Build started 10.08.2017 15:11:05. Project "C:\github_repos\opcproxy\iot-edge-opc-proxy\build\cmake\x64\CMakeFiles\3.8.1\CompilerIdC\CompilerIdC.vcxproj" on node 1 (default targets). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v141 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\github_repos\opcproxy\iot-edge-opc-proxy\build\cmake\x64\CMakeFiles\3.8.1\CompilerIdC\CompilerIdC.vcxproj] Done Building Project "C:\github_repos\opcproxy\iot-edge-opc-proxy\build\cmake\x64\CMakeFiles\3.8.1\CompilerIdC\CompilerIdC.vcxproj" (default targets) -- FAILED.
Error log attached: CMakeError.txt
Is the C/C++ Compiler version depends on 'PlatformToolSet' version? Did I receive above error because of it? I am sorry to say but I cannot upgrade VS2015 to VS2017. As per your recommendation I have tried to run 'build.cmd' from VS2015 Developer Command Prompt, it returned me same error
C and C++compiler identification is unknown.
Thanks for inputs,
3.b. While the Proxy Module is running
Connection alive message was published to IoTHub, as follows:
[Pid=1:Tid=0x95bf9ae8 07:29:03.739] io_mqtt NOTICE Connection alive... [iomqtt connection_operation_callback:824] [Pid=1:Tid=0x95bf9ae8 07:29:23.743] io_mqtt NOTICE Connection alive... [iomqtt connection_operation_callback:824] [Pid=1:Tid=0x95bf9ae8 07:29:33.926] io_mqtt NOTICE Connection alive... [iomqtt connection_operation_callback:824]
Is it the Proxy Server element continuously publishes these messages?
I have observed that the Proxy Module (a device) created in IoTHub but its "Device Id" looks like a pointer handle value e.g. 661a630988b3 . I would like to create the Proxy Module (a device) with some meaningful name, is it possible? Please tell me where and how the changes need to be done. Thank you.
Where can I find the log repository generated from zlog module?
Thanks, Jayesh
Hi @JayeshThamke,
Hello @marcschier , RE 2. Thanks for suggestion, I built the Proxy module using VS2015 x64 Native Tools Command Prompt with -T v140 , and this time C and C++ compilers are identified. However, I still get some errors regarding linking binaries
Unresolved External Symbol Please see the attachment for details - (I have --skipped-unittests) unresolved external symbol.txt
I have tried to manually add 'NCrypto.lib' in Linker->Input of the project where the error has occurred but did not work.
RE 3. 3a. Thanks for detail and no I don't habe any business condition for AMQP, MQTT will work for me. Could you please tell me how can I run '-w' command (the complete command line) & where can I find the description? 3b. Thanks!
RE 4. Thanks, I got it! RE 5. Yes I want to see the log file name. In help do you mean --use-zlog command for setting up zlogger? Is the name or path configurable for this command? Thanks Attachment below:
NOTE- The linker related errors as listed in unresolved.external.symbol.txt file above are observed on my Win-10 laptop as well.
-Jayesh
Changed title to reflect 2.
Hello @marcschier Thank you very much for detailed analysis, I would like to know if you have any timeline to fix the issue. Thanks, Jayesh
Hi @JayeshThamke,
I am going to fix the build error and reenable the --use-openssl and --use-lws gates on appveyor (see #71). Since appveyor uses a 2012 server image to build, can you see if this works for you on Win7?
Thx.
Marc
Hello Marc @marcschier On Old git cloned - I can now build the "proxy.sln" solution by manually opening it in VS2015 and changing its
Target Platform Version = 8.1 (it is default settings when I create any new VC++ project in Win7 and VS2015)
and
Platform Toolset = v140
from the projects' properties.
Rebuilding the project does not give any error but running by simply hitting F5 pops up
Entry Point Not Found error window (please see attached)
Winhttp.dll is available for Minimum Win 8.1
Yes, this is by design and hence that is why --use-libwebsockets will be needed on Win7. Websocket support was first added to winhttp in Win8. However, you can also work around this by replacing pal_ws_win.c with pal_ws_stub.c but then would not have websocket transport support for mqtt (only port 8883). If libwebsockets doesn't work for you, pal_ws.h can be implemented wrapping other websocket libraries, e.g. uws_client.c in azure-c-shared-utility, contributions would be welcome.
I configured the system as said the github. I have opc ua server, opc proxy ( configured as iot edge module and run as docker container) and opc ua client on same machine. I am unable to establish connected with opc ua server. Could you please provide detailed document to configure above components.
@asgaralim Is there problem with identification of peers? Once the certificates are generated you need to manually copy the public keys into certificate store.
Hello,
Building OPC UA Proxy Server Module using Docker container and github repository causes
Attachment -> docker built from github error.txt
Also, I have cloned the repository and tried to build using the recommendations for Windows 7 machine. That is
C:\github_repos\opcproxy\iot-edge-opc-proxy\bld\build.cmd --use-libwebsockets
Then it is strange that, it returned an error for unknown C and CXX identification.Attachment -> build proxy on windows 7 machine.txt I have checked that in VS 2015, VC++ module is already installed.
I am pretty new to CMake and Docker. Please correct me if I have missed any step during building the application.
Thank you very much for reply, Jayesh
build proxy on windows 7 machine.txt docker built from github error.txt