this post was submitted on 20 Oct 2023
62 points (100.0% liked)

No Stupid Questions

35703 readers
1334 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 1 year ago
MODERATORS
 

I see a lot of posts for apps that I would like to try but they all send me to a Github link - What is the process for getting an executable of these apps? Do I have to compile them myself? OR am I missing the .exe or .zip file option?

I really feel like I'm missing something easy..

all 19 comments
sorted by: hot top controversial new old
[–] mkwt@lemmy.world 53 points 1 year ago (2 children)

From the main project page on GitHub there's a button for "Releases", which can be a source to get exe or zip archives.

[–] DogMuffins@discuss.tchncs.de 14 points 1 year ago

Yeah releases > assets

[–] QuarterSwede@lemmy.world 8 points 1 year ago

Just be aware that not everyone releases executables. Some can only be compiled.

[–] Skelectus@suppo.fi 20 points 1 year ago

It's entirely up to the developers of the project. If there are premade binaries, it would be under releases.

[–] Dave@lemmy.nz 17 points 1 year ago* (last edited 1 year ago)

I'm quite familiar with GitHub now, but remember being new and it was super confusing finding how to actually get the thing. Often it was different per repo. Worse if you're on mobile (e.g. to get an APK) and almost everything is hidden by default.

But yeah as others have said, first check the readme on the main page for instructions to make sure you're doing it right, then if that doesn't help check the releases page that's linked on the right or on mobile scroll almost all the way to the bottom and look for the releases link in amongst the other stuff.

It may be a good idea to link to which repo you are looking at to get specific advice if what you've got so far isn't helping.

[–] seaQueue@lemmy.world 16 points 1 year ago

Projects don't always provide pre built binaries. Some do, some don't. Check the "Releases" page for the project and see if there's an executable provided, otherwise you'll need to build the project yourself or find someone who has.

[–] iHUNTcriminals@lemm.ee 11 points 1 year ago* (last edited 1 year ago) (2 children)

Are you on mobile?

If I'm mobile I switch to desktop mode.

On the right side, like that separate column there, there is usually a link to the most recent build package.

Edit:

(Desktop mode on Firefox)

So I just looked. From the GitHub users home page... On the right there's an About column. There's some info and then scroll a bit it should say "releases".

Click that.

On that page scroll till you find an "assets" section. This section has the download links.

[–] seaQueue@lemmy.world 2 points 1 year ago

If you're on mobile the GitHub android app makes a handy browser. I have no problem grabbing releases with it on my phone and tablet.

[–] SatyrSack@lemmy.one 1 points 1 year ago (1 children)

Why switch to desktop mode? In mobile, the Releases section is easily accessible near the bottom of the page.

[–] iHUNTcriminals@lemm.ee 2 points 1 year ago

Now that I know I probably won't. The first time I looked on mobile I couldn't find it so I just turned to desktop mode ever since.

[–] GissaMittJobb@lemmy.ml 10 points 1 year ago

This is going to depend completely on the project, unfortunately.

GitHub, in the most common case, is going to host the source code for a project. This source code is the blueprint to make the artifact. Artifact in this case can be an executable like a .exe-file, a .apk-file, an ELF-file, a library of some flavour, or perhaps just the verbatim source code to be interpreted by a script interpreter.

For projects that compile to a .exe-file, check the releases tab for the project, in which the developers may have built the artifact for you to use. If not, check the readme for build instructions. Sometimes there may be recommended steps for installation, such as using a package manager or app store.

[–] abbadon420@lemm.ee 7 points 1 year ago (1 children)

There's usually a guide in the README. If there isn't, it's a shit repo, but you're gonna have to compile it yourself.

[–] regulatorg@kbin.social 3 points 1 year ago

There's a lot of shit repos out there with no obvious instructions where to find the installer

[–] Longpork_afficianado@lemmy.nz 5 points 1 year ago

90% of the time, you need to build it yourself. If you're lucky then its a simple git clone and cmake job. Often it isn't. I once spent half a day building nested dependencies for a project i wanted to work on.

[–] wetferret@lemmy.world 4 points 1 year ago

If there aren't compilation instructions in the readme, check the source code for a "/docs" durectory. Sometimes you can find instructions there.

[–] GoofSchmoofer@lemmy.world 3 points 1 year ago

Thanks for all of your replies. I honestly thought I was going to get a bunch of "just Google it" answers but I appreciate all the help.

At least now I know more about GitHub and what to do

[–] nucawysi@lemmy.world 3 points 1 year ago

You have to compile it, which is very nuanced, there should be compile instructions for whatever it is you're building.

[–] __@fedia.io 2 points 1 year ago

If binaries aren't pre-built, compiling it yourself is not particularly difficult (assuming it's a decent repo that's well-maintained).

  • Readme often has a list of dependencies and basic instructions. On linux, build steps might look something like make && sudo make install, possibly with a ./configure thrown in beforehand. You can, of course, run configure where present with a help flag to see all available options, and change them as you like, but many programs 'just work' with the default options on a variety of platforms.

  • Before that, you have to install the dependencies. Often, it's a copy/paste command in the readme, and on Debian might look like sudo apt install libsomething libsomethingelse libsomethingelse - the overwhelming majority of the time, that gives you the correct versions (may be part of package name)

  • Otherwise, you can make several times, and if you read the errors, it will often tell you what's missing and you can iterate through the deps that way.

  • I don't suggest building the dependencies initially. It might be necessary (If memory serves, you still need to drop the PCRE library source in a specific place for Nginx to find, for instance, but the build process also builds that). It's usually not necessary, and if you delve too far down it can be a frustrating experience.

I'm not in the habit of building for windows, as the only computer I run it on is my work computer, but there may be instructions for that in readme as well. If the dependency installs fail, you'll have to search your distro's package manager to find the correct name of the package on your distro, but once it's present you should be able to proceed from there without problems (in well-maintained projects)

If it doesn't build, you can always open an issue on the GitHub - there are no stupid questions, particularly if you search issues/closed issues first for keywords in the errors you see. The vast majority of projects are run by decent people who respond reasonably and/or some community member will jump in with an answer.

For some languages, the build steps look very different - Maven projects in Java come to mind. I don't love that tool, but it's less evil than some of the alternatives. OTOH, if it's rust, the build steps are very quick and painless - including installing Rust in the first place.