Closed jcadduono closed 7 years ago
Built on a separate PC with similar hardware and same OS and can't reproduce this. Very odd.
https://github.com/simulationcraft/simc/wiki/HowToBuild#building-simulationcraft-on-linux
@navv1234 Does the GUI requires build-essential and libssl-dev as well?
You cannot compile anything without build-essential (or whatever compiler chain you want) on debian-ish distros, so sure. Libssl-dev is needed, and keep in mind that qmake needs to be invoked with CONFIG+=openssl. Otherwise the armory import (which is done by the engine, not the gui) will fail, since no https available. Nothing has changed in this regard for a very long time, and those instructions probably could use some updating.
I was able to get it to import now with CONFIG+=openssl and this commit: https://github.com/jcadduono/simc/commit/9c91e6df6b349fd75cd2c4ef15d954e1879aeb02
ATM if you don't specify OPENSSL_LIBS in the qmake line then it loses the -l after that hence the defined check added. If you're building with system qt then you probably require system ssl libs as well. Not sure what -lssleay32 was about, I guess that's for windows cross-compile?
Yeah, ssleay32 is windows stuff, I'll figure the qmake projects out when I have a bit of time.
I'll fix this in simcqt.pro too, but personally, anything related to qmake for me is done through the (new-ish) simulationcraft.pro qmake project.
Since some have been asking me why it still fails, I'll also add to this post that you need to add a Blizzard API key to SimulationCraft for it to be able to access the armory API and retrieve traits.
You also need to make sure you have the correct libssl development files for your operating system's Qt and OpenSSL version. At the moment, Qt 5.7.1 is using libssl1.0-dev + libssl1.0.2
(OpenSSL 1.0.2) NOT libssl-dev + libssl1.1
(OpenSSL 1.1)
I am not 100% sure that Qt is the reason OpenSSL 1.1 isn't working correctly for me since I haven't read that part of the source code, so that's just a hunch.
See https://github.com/simulationcraft/simc/wiki/BattleArmoryAPI for instructions on getting an API key.
SimulationCraft is supposed to be able to read the API key from either apikey.txt in its folder, or ~/.simc_apikey or from the Armory API key textbox in the GUI. From my testing, none of these approaches are working and it just reads it as blank if they exist.
You can embed your own key inside the build by using:
qmake simcqt.pro CONFIG+=openssl SC_DEFAULT_APIKEY=yourapikeyhere
The Armory API key textbox must be empty for it to work.
I made ssleay stuff windows only and conditionalized (hopefully) the variable checks, it should work fine now.
Should be fixed now, closing.
Importing characters from the armory is failing but only when building from sources. (prebuilt/nightly packages work) I could use some help debugging this if it is only happening for me.
It was working fine importing 2 days ago, and the only thing I had done since was
apt-get dist-upgrade
followed by a rebuild on latest simc git tag - however, it does not look like any packages upgraded were related to SimulationCraft building.I have tried using both the default API key and my own armory API key and both give me the same results. (both also work fine on the Windows builds)
The web browser in SimC works perfectly fine.
Apt history:
Simulationcraft Version
e410da430222f8afbbc4808a49f8f74d4de6dae3
Reproduction Steps:
Build on Debian Testing: Using Qt version 5.7.1 in /usr/lib/x86_64-linux-gnu
SimulationCraft encountered an error!
All options used for simulation: