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

Missing dependencies #3432

Open
JohnAlexCO opened this issue Dec 14, 2024 · 1 comment
Open

Missing dependencies #3432

JohnAlexCO opened this issue Dec 14, 2024 · 1 comment

Comments

@JohnAlexCO
Copy link

JohnAlexCO commented Dec 14, 2024

I'm going to submit a pull request to close this later, but the gist:

  • some dependencies, such as qt5-qmake, are not included in the list of dependencies; if the build guide is followed as-is, Sonic-Pi will not build
  • build process has external dependencies such as Erlang and whatever asdf_27.2 that should be mentioned. I understand it installs these during the build process, but it's worth letting users know in-advance
app/pi-install-elixir.sh
Installing asdf
Cloning into '/home/john/.asdf'...
remote: Enumerating objects: 8802, done.
remote: Counting objects: 100% (1909/1909), done.
remote: Compressing objects: 100% (348/348), done.
remote: Total 8802 (delta 1660), reused 1642 (delta 1557), pack-reused 6893 (from 1)
Receiving objects: 100% (8802/8802), 3.25 MiB | 1.71 MiB/s, done.
Resolving deltas: 100% (5282/5282), done.
Note: switching to '0586b37d03031ae8c3110ea2b51cacaad46c7cdc'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Previous HEAD position was 0586b37 chore(master): release 0.13.1 (#1638)
HEAD is now at f00f759 chore(master): release 0.14.1 (#1773)
Updated asdf to release v0.14.1
Installing Erlang via asdf
ERROR: 'asdf_27.2' is not a kerl-managed Erlang/OTP installation.
ERROR: no build named 'asdf_27.2'!
Downloading (from GitHub) Erlang/OTP 27.2 to /home/john/.asdf/downloads/erlang/27.2...
Extracting source code for normal build...
Building (normal) Erlang/OTP 27.2 (asdf_27.2); please wait...
Initializing (build) log file at /home/john/.asdf/plugins/erlang/kerl-home/builds/asdf_27.2/otp_build_27.2.log.
APPLICATIONS DISABLED (See: /home/john/.asdf/plugins/erlang/kerl-home/builds/asdf_27.2/otp_build_27.2.log)
 * jinterface     : No Java compiler found
 * odbc           : ODBC library - link check failed

APPLICATIONS INFORMATION (See: /home/john/.asdf/plugins/erlang/kerl-home/builds/asdf_27.2/otp_build_27.2.log)
 * wx             : wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed, wxWebView will NOT be available
 *         wxWidgets must be installed on your system.
 *         Please check that wx-config is in path, the directory
 *         where wxWidgets libraries are installed (returned by
 *         'wx-config --libs' or 'wx-config --static --libs' command)
 *         is in LD_LIBRARY_PATH or equivalent variable and
 *         wxWidgets version is 3.0.2 or above.

Erlang/OTP 27.2 (asdf_27.2) has been successfully built.
Cleaning up compilation products for 'asdf_27.2' under:
  - /home/john/.asdf/plugins/erlang/kerl-home/builds...
  - /home/john/.asdf/downloads/erlang/27.2...
... done.
Installing Elixir via asdf

It should also be noted somewhere in the guide that platform-specific external dependencies will also be needed and installed by the build script

Building sdl2[base,core,ibus,wayland,x11]:x64-linux...
-- Downloading https://github.com/libsdl-org/SDL/archive/release-2.28.4.tar.gz -> libsdl-org-SDL-release-2.28.4.tar.gz...
-- Extracting source /home/john/.local/bin/src/sonic-pi/app/vcpkg/downloads/libsdl-org-SDL-release-2.28.4.tar.gz
-- Applying patch deps.patch
-- Applying patch alsa-dep-fix.patch
-- Using source at /home/john/.local/bin/src/sonic-pi/app/vcpkg/buildtrees/sdl2/src/ase-2.28.4-0db1cebd43.clean
CMake Warning at ports/sdl2/portfile.cmake:30 (message):
  You will need to install Xorg dependencies to use feature x11:

  sudo apt install libx11-dev libxft-dev libxext-dev

Call Stack (most recent call first):
  scripts/ports.cmake:170 (include)


CMake Warning at ports/sdl2/portfile.cmake:33 (message):
  You will need to install Wayland dependencies to use feature wayland:

  sudo apt install libwayland-dev libxkbcommon-dev libegl1-mesa-dev

Call Stack (most recent call first):
  scripts/ports.cmake:170 (include)


CMake Warning at ports/sdl2/portfile.cmake:36 (message):
  You will need to install ibus dependencies to use feature ibus:

  sudo apt install libibus-1.0-dev

Call Stack (most recent call first):
  scripts/ports.cmake:170 (include)
@JohnAlexCO
Copy link
Author

JohnAlexCO commented Dec 14, 2024

Important

Even after adding the missing dependencies, ./build/sonic-pi does not actually exist

Release created at _build/prod/rel/tau

    # To start your system
    _build/prod/rel/tau/bin/tau start

Once the release is running:

    # To connect to it remotely
    _build/prod/rel/tau/bin/tau remote

    # To stop it gracefully (you may also send SIGINT/SIGTERM)
    _build/prod/rel/tau/bin/tau stop

To list all commands:

    _build/prod/rel/tau/bin/tau

john@debian-minipc:~/.local/bin/src/sonic-pi/app$ ls
api                 linux-clean.sh                  mac-clean.sh                  pi-clean.sh                  vcpkg
api-tests           linux-config.sh                 mac-config.sh                 pi-config.sh                 win-build-all.bat
build               linux-post-tau-prod-release.sh  mac-post-tau-prod-release.sh  pi-install-elixir.sh         win-build-gui.bat
cmake               linux-prebuild.sh               mac-prebuild.sh               pi-post-tau-prod-release.sh  win-clean.bat
CMakeLists.txt      linux-pre-tau-dev-init.sh       mac-pre-tau-dev-init.sh       pi-prebuild.sh               win-config.bat
config              linux-pre-translations.sh       mac-pre-translations.sh       pi-pre-tau-dev-init.sh       win-post-tau-prod-release.bat
external            linux-pre-vcpkg.sh              mac-pre-vcpkg.sh              pi-pre-translations.sh       win-prebuild.bat
gui                 linux-release.sh                mac-release.sh                pi-pre-vcpkg.sh              win-pre-tau-dev-init.bat
linux-build-all.sh  mac-build-all.sh                pi-build-all.sh               pi-setup.sh                  win-pre-translations.bat
linux-build-gui.sh  mac-build-gui.sh                pi-build-gui.sh               server                       win-pre-vcpkg.bat
john@debian-minipc:~/.local/bin/src/sonic-pi/app$ ls build
api  api-tests  aubio-package  CMakeCache.txt  CMakeFiles  cmake_install.cmake  compile_commands.json  config.h  external  gui  Makefile
john@debian-minipc:~/.local/bin/src/sonic-pi/app$ ./sonic-pi
bash: ./sonic-pi: No such file or directory
john@debian-minipc:~/.local/bin/src/sonic-pi/app$ ./build/sonic-pi
bash: ./build/sonic-pi: No such file or directory
john@debian-minipc:~/.local/bin/src/sonic-pi/app$ ../sonic-pi
bash: ../sonic-pi: No such file or directory

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

1 participant