Closed Jast4U closed 2 years ago
You must use one of the supported platforms see https://doc.zeroc.com/rel/ice-releases/ice-3-6/ice-3-6-4-release-notes/supported-platforms-for-ice-and-ice-touch-3-6-4#SupportedPlatformsforIceandIceTouch3.6.4-IceandIceTouchforC++
For new projects better use the latest release, https://github.com/zeroc-ice/ice/releases/tag/v3.7.6
You must use one of the supported platforms see https://doc.zeroc.com/rel/ice-releases/ice-3-6/ice-3-6-4-release-notes/supported-platforms-for-ice-and-ice-touch-3-6-4#SupportedPlatformsforIceandIceTouch3.6.4-IceandIceTouchforC++
For new projects better use the latest release, https://github.com/zeroc-ice/ice/releases/tag/v3.7.6
MinGW compiler was only supported to build Ice for Ruby on Windows.
The first error seems to indicate that your proxy string is bogus, can you paste it?
MinGW compiler was only supported to build Ice for Ruby on Windows.
The first error seems to indicate that your proxy string is bogus, can you paste it?
****1. I previously used MinGW compiler to successfully compile ICE and worked fine with demos
- There should no problem with the proxy string, as below.****
Hello.Proxy=hello:tcp -p 10006:udp -p 10000:ssl -p 10001 Ice.Default.Host=localhost Ice.Warn.Connections=1 Ice.Plugin.IceSSL=IceSSL:createIceSSL IceSSL.DefaultDir=../../../certs IceSSL.CAs=cacert.pem IceSSL.CertFile=client.p12 IceSSL.Password=password IceSSL.Keychain=client.keychain IceSSL.KeychainPassword=password
- There should no problem with the proxy string, as below.
You are right, the proxy string looks correct, did you update the MinGW compiler recently if so you might need to recompile Ice?
- There should no problem with the proxy string, as below.
You are right, the proxy string looks correct, did you update the MinGW compiler recently if so you might need to recompile Ice?
About 1 year ago, I compiled the ICE3.6.4 by MSYS with MinGW gcc v7.3.0 for basic libraries : iceutil.dll, icessl.dll, ice.dll, Glacier2Lib.dll , and integrated them into my C++ Application written by Qt (because I want cross-platform feature). It worked very well.
Recently I re-install my OS, and recover the development environment exactly the same as previous. However, It turned out the
ICE not worked. I re-compile the ICE again and again and again, but still report the same error.
I was stucked here for many weeks and no progress. It is very depressed.
Try attaching the debugger and see why this warning "Proxy contains unknown endpoints:..." is being emitted
Try attaching the debugger and see why this warning "Proxy contains unknown endpoints:..." is being emitted
There is no exception throw in the function IceInternal::ReferenceFactory::create(...)
Actually, I found some strange as I set break point , as below pictures shown.
in the function BasicStream* startWriteParams(Ice::FormatType format)
it calls _os.startWriteEncaps(_encoding, format);
the _encoding value is 1.1
However, when step into the function void startWriteEncaps(const Ice::EncodingVersion& encoding, Ice::FormatType format)
the passed parameter encoding value suddenly changes into 0.0,
DON"T KNOW WHY ?????
Anybody has any idea ? How to compile the V3.7.6 BY MinGW?
Can you copy/paste a sample of the compiler flags when building one of the Ice sources? Are you building with optimization flags for instance?
Can you copy/paste a sample of the compiler flags when building one of the Ice sources? Are you building with optimization flags for instance?
As below. I use both optimization flags = yes/no for debug/release, but the result shows the same. By the way, I download the 3.6.5 and complied , it still shows the encoding problem.
Hi @Jast4U ,
Did you figure out the issue? I can take a look otherwise and see if is something we can reproduce.
Can you clarify what MinGW installer are you using to test with the same environment?
Cheers, Jose
Hi @Jast4U ,
Did you figure out the issue? I can take a look otherwise and see if is something we can reproduce.
Can you clarify what MinGW installer are you using to test with the same environment?
Cheers, Jose
Still not and working hard on it. for compiling tools: (a) I use Qt 5.12.3, with MinGW730 inside for my whole project. (b) I use the MSYS1.1 to compile the ice 3.6.4 libs, only 3 are used: iceutil.dll, ice.dll, icessl.dll the MSYS link the MinGW730 exactly from Qt installation path.
Hey,
I was able to reproduce the issue with MinGW 7.3.0 from Qt 5.12, seems like a compiler bug, uninlining the method fixes the problem. Try the attached patch. 0001-MinGW-workaround-for-inline-method-bug.txt
I also try with our test suite and didn't find any issues, so it can be caused by an incompatibility with the build flags set by Qt builds...
sed by an incompatibility with the
Hi, Thanks very much for your nice help. I adopted your suggestion and tested in the ice official simple "Hello" project and it worked fine. I later used it in my own project but it seems Still NOT working.... I will check out for more ...
It will be good to test with a more recent compiler supported by Qt and see if things work better
It will be good to test with a more recent compiler supported by Qt and see if things work better
Yeah, you are right. Even in my project it still not working now, but at least you provide me good clue to further solve it. What I am interested is : How did you think out this solution ? I never think that inline will cause such problem.
A college suggested it, something was up with the compiler as the value just change from one method to another, and one thing that made this function different is that it was inline (defined in the header file).
ollege suggested it, something was up with the compiler as the value ju
Thanks, that depends on rich experience. So in the future, will the ICE move the inline functions to cpp ??
By the way, I use glacier2 in my project, maybe there is something similar need to change ? I will find out more.
So in the future, will the ICE move the inline functions to cpp ??
No, this is a compiler bug. Why don't you switch to 3.7 and VS Compiler that is now freely available, will make things simpler?
So in the future, will the ICE move the inline functions to cpp ??
No, this is a compiler bug. Why don't you switch to 3.7 and VS Compiler that is now freely available, will make things simpler?
Because my entire project is written by Qt & QtCreator. Using ICE compiled by VS will incompatible with my project. One thing I don't understand is that why 1 year ago, I use the same compiler and my project worked fine ?? rather confusing..
Hey, I finally solve my problem, the "OutgoingAsyn.h/cpp" are also need to be un-inlined. Thanks very much.
I shall use the latest compiler to check out more :)
Thanks to Pepone for nice help !
@Jast4U hey,can you support ice lib for mingw7.3 64,thanks
I compiled the ICE and demo myself by using gcc in MinGW7.3.0 64bit. I built the demo cases by Qt Creator (MingW7.3.0) 64 bit When I test the demo ice/hello by , it shows below error:
........\ICE_DemoStudy\ICE_HOME\include/Ice/Protocol.h:186: Ice::UnsupportedEncodingException: encoding error: unsupported encoding version: 0.0 (can only support encodings compatible with version 1.1)
I previously run the demo case about 1 year ago, it worked fine. Don't know why it suddenly went wrong...