ares icon indicating copy to clipboard operation
ares copied to clipboard

Add basic build instructions?

Open mariomadproductions opened this issue 2 years ago • 11 comments

Even if its just "cd into desktop-ui and run make", it'd probably be a good idea to put that somewhere.

mariomadproductions avatar Apr 11 '22 21:04 mariomadproductions

Given that it's just "make", do we really need to write that?

rasky avatar Apr 11 '22 21:04 rasky

Given that it's just "make", do we really need to write that?

I really think so

Shideravan avatar Apr 13 '22 23:04 Shideravan

Is it really just "make" though? I had to jump through some pretty specific hoops to get a build environment set up from which I could just "make".

Kawa-oneechan avatar Apr 14 '22 01:04 Kawa-oneechan

Which hoops?

rasky avatar Apr 14 '22 04:04 rasky

It's not nearly as simple as just running make. Although it's easier than it used to be, it's not necessarily that simple. Either way, is there a negative to putting some instructions in the readme?

For people who have never needed to build something manually on their system before, and potentially even if they have, they may not have all the necessary packages. It's not that uncommon to find readme's that list what packages are necessary. However, to test this, I spun up a fresh VM (Ubuntu 22.04 LTS Beta Server with KDE Plasma).

Ran into a series of failed build, each more confusing than the last. With some googling and searching through apt and apt-file, I managed to find all the right packages. make g++ pkg-config libgtk2.0-dev libasound2-dev. Also needed something that provided OpenGL files, presumably mesa or some equivalent would work, for this I used libgl-dev (vendor neutral package). After that, I managed to successfully build and run ares.

Additionally, it'd be nice if the different configurations were mentioned in the readme too. Like how to change between accuracy and performance modes, and how to specify which cores to build. Also it'd be helpful to say how to start ares after building, because that's not obvious to people who haven't run it before.

bigbass1997 avatar Apr 14 '22 08:04 bigbass1997

Which hoops?

Compiling in Windows, I needed a very specific compiler distribution. You'll find that higan.readthedocs.io recommends one right there, but when I tried that it didn't work as required things were straight-up missing.

(I know this is higan readthedocs but I was in fact trying to compile bsnes, bear with me here.)

What I actually needed was a mingw-w64-install.exe that I can barely even find a download link for (but I did eventually), that I then had to re-install with different settings (i686-win32-dwarf) because those had to be very specific too, and then I could finally build me a bsnes.

And even then I had to work around some more stuff.

So no, it's not just "make".

Kawa-oneechan avatar Apr 14 '22 10:04 Kawa-oneechan

Good point, I just happened to have the relevant packages installed already.

mariomadproductions avatar Apr 14 '22 14:04 mariomadproductions

Also good to mention that the resulting binary is in ares/desktop-ui/out

shinra-electric avatar Apr 16 '22 12:04 shinra-electric

For Windows builds, if you just install MSYS2 and follow the instructions on their homepage, you are good to go with the build:

https://www.msys2.org/

remutro avatar Apr 22 '22 02:04 remutro

just

And you jinxed it.

Kawa-oneechan avatar Apr 22 '22 11:04 Kawa-oneechan

I think people coming from different backgrounds have different, reasonable expectations. I've been compiling C++ programs on different platforms for many years and Ares for me is so straightforward that for me, zero instructions suffice. I agree after reading this issue that zero instructions are not sufficient for everybody.

After discussions with @LukeUsher, we feel that listing Linux dependencies (on common distributions) is a good middle ground, at least for the Linux platform. For Windows platform, a suggestion to use MSYS2 might be OK as well.

Obviously this will be not enough for all possible people (Should we explain how to git clone? How to install git? How to install make? How to cd into a directory? How to open a terminal?), but it might be a reasonable compromise.

Anybody is willing to write a PR for that, after having verified on a clean machine that the instructions are working and are sufficient?

rasky avatar Apr 22 '22 12:04 rasky