Page 4 of 5

Re: Afermer rendermanager

Posted: Fri Nov 10, 2017 1:39 pm
by zaren
Hello, Benny,
Timur is right. What is version of a a afanasy do you use?
I will dedicate some time to compile afermer for current vesion on next week...

Thanks,
Sergiy

Re: Afermer rendermanager

Posted: Fri Nov 10, 2017 1:53 pm
by Benny
Hey Timur and Zaren,

Thank you for your replies. Our entire farm is currently running afanasy 2.2.3. All machines are running windows64.
We have now managed to get AFermer to work (with some bugs) after deleting all temporary files on the afanasy server and restarting all render services.
We can now see all our render blades and users and control our jobs in AFermer. However, we do have render blades running a virtual machine. Starting Afrender on those systems apparently causes AFermer to crash. This is however not yet confirmed.

If you could provide a more in-depth guide on how to built AFermer for windows in VS2015 with the required installations and libraries, we would be happy to help debug the system. As for right now, we have no error outputs to work with and can only wild guess.

Thank you,
Benny

Re: Afermer rendermanager

Posted: Fri Nov 10, 2017 2:25 pm
by zaren
Glad to hear that you want to compile and debug. Of course I will help you to compile afermer.
In my case I have the Qt5.7 and boost 1.61 builds. Both of those libraries are static. Qt5.8 has no Qt5platformsupport.lib ( it is bug of 5.8?) for some reason and I could not compile afermer with it. Yet. =)
Make sure the libraries placed according cgru/afanasy/src/project.cmake/win_build_msvc.cmd file or do the changes in that file with the right path.
Run win_build_msvc.cmd (make sure that boost and python were found)
Open afanasy.sln by VS2015.
Click on afermer project. If you have Qt statically builds you have to change /Md option to /Mt.
After that you will be able to compile it. Change from Debug to Release option and press Build. After a while It compiling stop with error. This error I described in file cgru/afanasy/src/project.cmake/fermer/CMakeLists.txt
You have to open the moc_state.cpp file and add the line #undef ERROR in top of the file after all includes.
Now, you can continue compile afermer. Press Build to finish it.

Re: Afermer rendermanager

Posted: Fri Nov 10, 2017 2:30 pm
by zaren
One more thing.
Please add “watch/qaftextwidget.cpp” line to cgru/afanasy/src/project.cmake/fermer/CMakeLists.txt to section

...
set (watch_cpp_src
"../../watch/wndlistenjob.cpp"
...

I’m waiting for you response :)

Re: Afermer rendermanager

Posted: Fri Nov 10, 2017 3:04 pm
by zaren
How to build Qt5 statically
http://amin-ahmadi.com/2016/09/22/how-t ... udio-2015/

I use it

Re: Afermer rendermanager

Posted: Fri Nov 10, 2017 3:35 pm
by Benny
Awesome, thank you. I will try my luck this evening. I'll report back to you. ;)

Re: Afermer rendermanager

Posted: Mon Nov 13, 2017 10:58 am
by Benny
Hey Zaren,

So after following your guide and quite a substential amount of trial and error I stillt didn't manage to compile fermer.

win_build_msvc.cmd finds Boost and QT and creates the afanasy.sln as expected.
I used the static libraries Boost 1.61.1 and QT 5.7.0.
I also tried the dynamic versions but could not get them to work. Either way I end up getting a lot of

Code: Select all

 Error	LNK2038	mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in qaftextwidget.obj	afermer	...\gru-2.2.3\afanasy\src\project.cmake\fermer\afanasy.lib(afnode.obj)
Should the referenced afanasy.lib and afqt.lib also be built statically?

On top of that I get a lot of unresolved symbol LINK errors in Qt5Network.lib even though the library appears to be properly linked in additional dependencies and directories.

So, quite some stuff to still figure out with a bit of a learning curve. :)

Re: Afermer rendermanager

Posted: Mon Nov 13, 2017 11:09 am
by zaren
Hey, =)

Try to change compile flag ( afermer->C/C++->Code Generation->Runtime Library ) from /Md to /Mt in afermer, afanasy.lib and afqt.lib.

Waiting for your replay )

Re: Afermer rendermanager

Posted: Mon Nov 13, 2017 11:20 am
by Benny
Okay so that got rid of the mismatch errors. Leaving only the unresolved symbol errors in the Qt5Network (qsslsocket_openssl_symbols.obj) and wndtask.obj.
For example:

Code: Select all

Error	LNK2019	unresolved external symbol __imp_CertGetCertificateChain referenced in function "public: void __cdecl QWindowsCaRootFetcher::start(void)" (?start@QWindowsCaRootFetcher@@QEAAXXZ)	afermer	...\cgru-2.2.3\afanasy\src\project.cmake\fermer\Qt5Network.lib(qsslsocket_openssl.obj)
At least for now ;)

Re: Afermer rendermanager

Posted: Mon Nov 13, 2017 11:49 am
by zaren
According by https://msdn.microsoft.com/ru-ru/librar ... s.85).aspx
CertGetCertificateChain function placed in Crypt32.lib

Try to add that library to build dependencies for afermer before Qt5Network.lib ( afermer->Linker->Input->Additional Dependencies ). Somewhere between Ws2_32.lib and Qt5Network.lib