Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List of dependencies for build on Linux #170

Closed
Naadiyaar opened this issue Sep 19, 2022 · 9 comments
Closed

List of dependencies for build on Linux #170

Naadiyaar opened this issue Sep 19, 2022 · 9 comments

Comments

@Naadiyaar
Copy link

I want to build the binary on X64-86, but couldn't find which dependencies are required.
I can see the Prerequisites section at README file, but a few options are Windows specific, so that would be great if you provide me a list of dependencies for build and install on an RPM based machine.

@Totto16
Copy link

Totto16 commented Sep 19, 2022

Look into the https://github.com/TypesettingTools/Aegisub/blob/master/.github/workflows/ci.yml file, there is a complete list for debian / ubuntu based systems, if some of that packages aren't available in rpm based machines just replace them with their counterparts in rpm:
debian list: sudo apt-get install ninja-build build-essential libx11-dev libwxgtk3.0-gtk3-dev libfreetype6-dev pkg-config libfontconfig1-dev libass-dev libasound2-dev libffms2-dev intltool libboost-all-dev

@Naadiyaar
Copy link
Author

Naadiyaar commented Sep 19, 2022

Thanks for response!

These are RPM equipments of packages AFAIK
.deb -> .rpm

build-essentiali -> make automake gcc gcc-c++ kernel-devel
libx11-dev -> libX11-devel
libwxgtk3.0-gtk3-dev -> https://stackoverflow.com/questions/73776717/deb-packages-rpm-counterpart
libfreetype6-dev -> freetype-devel
libfontconfig1-dev -> fontconfig-devel
libass-dev -> libass-devel
libasound2-dev -> alsa-lib-devel
libffms2-dev -> https://stackoverflow.com/questions/73776717/deb-packages-rpm-counterpart
libboost-all-dev -> boost-devel

@Totto16
Copy link

Totto16 commented Sep 19, 2022

some packages like ffms2 are not required, only recommended, since when their absent their going to be built locally, which increases build time. These packages are the ones that have a .wrap file in https://github.com/TypesettingTools/Aegisub/tree/master/subprojects

For the future of aegisub I at least plan to make a flatpak app, so that something like different required packages for different platforms (deb, rpm, dnf etc.) are irrelevant, but I also only needed it to build for my system (ubuntu) so I didn't do that yet. If you need some additional help regarding linux compiling feel free to ask. It should build with these rpm packages, but don't use meson 0.63.0 or above, the oldest supported meson version is 0.62.2, due to some cmake sandboxing issues in 0.63.0 and above :)

@eli-schwartz
Copy link
Contributor

eli-schwartz commented Sep 19, 2022

but don't use meson 0.63.0 or above, the oldest supported meson version is 0.62.2, due to some cmake sandboxing issues in 0.63.0 and above :)

For the record, this should not be a problem -- there was a cmake subprojects regression in 0.63.0, but not "above", and it was fixed in the .1 release last month. You should be able to safely use the latest version of any major.minor branch.

@Totto16
Copy link

Totto16 commented Sep 19, 2022

as far as I tested 0.63.1 solves one issue, but not all, I at least couldn't compile it with meson 0.63.1, but maybe due some subprojects that i compile

@Naadiyaar
Copy link
Author

For the future of aegisub I at least plan to make a flatpak app

That would be awesome and save lots of users from unnecessary headaches.

If you need some additional help regarding linux compiling feel free to ask.

Thank you so much, if there was a problem, I will open a new issue.

@Naadiyaar
Copy link
Author

Since the main question has been answered, I think it is the right thing to close the issue

@eli-schwartz
Copy link
Contributor

as far as I tested 0.63.1 solves one issue, but not all

Whatever other issues you had were presumably not "cmake subproject" issues.

@Totto16
Copy link

Totto16 commented Dec 1, 2023

For the future of aegisub I at least plan to make a flatpak app

That would be awesome and save lots of users from unnecessary headaches.

If you need some additional help regarding linux compiling feel free to ask.

Thank you so much, if there was a problem, I will open a new issue.

I finally made a flatpak build, If you're still interested, it has some newer dependencies and some fixes for that, so It wont likely be merged into this repo soon, but you can look here: https://github.com/Totto16/Aegisub/tree/master
( I made it some weeks ago, but today this conversation cam eto mind)

And get bundle e.g from here (or build it yourself, see compile.sh )
NOTE: that it still has an annoying boost locales issues, that I have sorted out on 1/2 of my machines and someday I will fix that (nothing that stops it from running, it says std::bad_cast, you will likely see xD), that I have to sort out, but otherwise it runs flawlessly and since it's flatpak I can conform that for any machine 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants