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

Add debian/ubuntu command to get dependencies #384

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

kaixoo
Copy link

@kaixoo kaixoo commented Dec 21, 2024

I spent a lot of time figuring out the dependencies. I added a command in the building guide for debian / ubuntu that lets you get them all.

I also added a warning on how to get Qt officially and a way to get it without registering a Qt Account.

In the future we need to work on the Windows documentation for beginners and improve the current one for linux/mac

  • Clear instructions on how to get Qt
  • A script to get dependencies on all platforms

@kaixoo
Copy link
Author

kaixoo commented Dec 21, 2024

Perhaps the upper note about compiling Qt isn't necessary? (Yet).

Could build friction (after hours of googling) by installing:

sudo apt install qt5base qtdeclarative5-dev qml-module-qtquick-controls qtmultimedia5-dev

@kaixoo
Copy link
Author

kaixoo commented Dec 23, 2024

Things people have gotten stuck at in Discord:

  • Downloading Qt Commercial instead of Qt Open Source.
  • Knowing that friction sdk exists and how to use it.
  • Missing Qt >5.15.3 from Qt installer (but qt6 is available. outdated installer?).
  • Convenience script that automatically downloads dependencies for windows.
  • Impossible to install older versions of ffmpeg-devel in fedora and ubuntu

@kaixoo
Copy link
Author

kaixoo commented Dec 28, 2024

Is this the way to install libav:

apt install libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libswresample-dev

or is it: libavformat-4-dev or libavformat-dev=4.2.7?

@AlmostMikhail
Copy link

Is this the way to install libav:

apt install libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libswresample-dev

or is it: libavformat-4-dev or libavformat-dev=4.2.7?

Is it easier to get qt and Friction running up on windows?

@rodlie
Copy link
Member

rodlie commented Dec 28, 2024

Things people have gotten stuck at in Discord:

  • Downloading Qt Commercial instead of Qt Open Source.
  • Knowing that friction sdk exists and how to use it.
  • Missing Qt >5.15.3 from Qt installer (but qt6 is available. outdated installer?).
  • Convenience script that automatically downloads dependencies for windows.

The SDK's includes everything needed except for the compilers. The SDK's for Windows and macOS is extracted to the sdk folder in the Friction root folder. The SDK for Linux must be extracted to /opt/friction.

Example for building on Ubuntu: https://github.com/friction2d/friction/blob/main/src/scripts/ci.sh

  • Impossible to install older versions of ffmpeg-devel in fedora and ubuntu

It's not hard to download ffmpeg and build it. We have a open issue regarding ffmpeg (#135), feel free to fix it.

@rodlie
Copy link
Member

rodlie commented Dec 28, 2024

btw, I use this https://github.com/friction2d/friction/blob/main/src/scripts/build_qt_debug.sh for development (needs updates I see, it's missing qscintilla).

My main development environment for Friction is Ubuntu 22.04 with latest Qt 5.15 built from source (using the script above) using Qt Creator.

Ubuntu 22.04/24.04 has everything needed to develop Friction.

@rodlie
Copy link
Member

rodlie commented Dec 31, 2024

I will remove the BUILD.md file on next sync with friction2d.github.io.

The current build doc for Linux is https://friction.graphics/documentation/source-linux.html with source at https://github.com/friction2d/friction2d.github.io/blob/main/documentation/source-linux.md

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

Successfully merging this pull request may close these issues.

3 participants