You are browsing as a guest. Sign up (or log in) to start making projects!

51m 19s logged

The first thing I want to get off my chest is that libvlc dependencies across Linux distros are an absolute HELL. I noticed first when starting this project I couldn’t find any documentation on different versions of VLC (or maybe I am just too dumb to find them) and thought to myself: “That surely won’t make any trouble in the future”. Hmm, yes. Now I’m sitting here, having a program that works locally in the editor but when bundled into an AppImage it fails to load VLC runtime dependencies. So, dear reader, as I know it is your deepest wish to know about the pain I went through I will indulge in your wish and tell you about it.First up, as a heads up, AI was used extensively here. I have absolutely no knowledge about GitHub Actions .yaml code, which at the beginning I thought wasn’t gonna be a Problem because that just looks like pure English! (Exhibit 1) So I had ChatGPT write one for me because I really didn’t want to go down that rabbit hole and it worked perfectly (after a few edits and tweaks). So after like the 10th build I finally came to the realisation that maybe I should try it on my machine, so I go do that and see this: everything works great, up to the point VLC starts getting into it, VLC crashes on its initialisation without an error message (not even any useful logs). Hmm, okay, that’s bad.So without an error message on my hand, I saw myself forced to go back to AI once more and ask what could cause it, ChatGPT’s answer: Plugin mismatch/not found. This proved correct after a lot of debugging the AppImage with strace (I want to thank God for creating the person who wrote this). But the problem was, even after telling VLC where to look exactly for its plugins (which were the runtime libraries which are not explicitly covered by AppImage), it still wouldn’t look there. Hmm, great.So me and ChatGPT got the thought to look for a version mismatch, and voila: there you have it, the version mismatch and VLC runs into a fatal runtime error trying to load a symbol which is not present in the provided library version (Exhibit 2). Good, well now, I thought, I have two choices here, try to somehow get the correct version on Ubuntu (the GitHub build distro) corresponding to my local version (CachyOS (Arch)) or just go the path of least resistance and build on Arch.And please don’t let yourself be fooled by HackATime, this was all terminal debugging and testing so it wasn’t recorded, but I estimate that we are about 5 hours deep so you can imagine which choice I made. So I switch to Arch, and after a quick fix on the dependencies, it did actually build. So I go run it, thinking how this will finally run beautifully. As you may expect, it did not. I start it, no output, crash (Exhibit 3).This is the current state. It is about midnight and I have been at this for 3h so I will either go to sleep or I will throw my computer out the window and set it on fire. Good night.DISCLAIMER: I want to be honest about how I used AI so I want to sum it up again: AI was used extensively to generate pretty much all versions of the .yaml build file as well as help with troubleshooting, as I just switched recently to Linux and am not familiar with the debugging applications just yet. Also, the libvlc docs (at least the version I could find) are horrible. And for the final, this text was corrected in spelling by Chatgpt.

0
11

Comments 0

No comments yet. Be the first!