ccrma / miniAudicle

miniAudicle: integrated development + performance environment for the ChucK programming language
https://chuck.stanford.edu/
GNU General Public License v2.0
65 stars 9 forks source link

Cannot build miniAudicle on Ubuntu 22.04 LTS "Jammy Jellyfish" #80

Open znmeb opened 3 months ago

znmeb commented 3 months ago

It looks like some of the Qt6 libraries used in the miniAudicle build aren't available in Ubuntu 22.04 LTS. The attached log shows the error message.

I can probably make this work by downloading a Qt6 developer package from their website rather than using Ubuntu, but that seems like a lot of effort. ChucK and ChuGins do compile, so I can work from the command line.

failed-ubuntu-22.04-build.txt

znmeb commented 3 months ago

Good news! With a couple of tweaks I got it to build on 24.04 LTS "Noble Numbat". The script is attached. Notes:

  1. On Ubuntu 24.04, the dependency is qt6-base-dev, not libqt6-base-dev
  2. qmake isn't explicitly defined in the system. I got lazy and symlinked /usr/bin/qmake6 onto $HOME/.local/bin/qmake
#! /usr/bin/env bash

set -e

echo "Setting ChucK version"
export CHUCK_VERSION="chuck-1.5.2.4"

echo "Clearing Logs"
mkdir --parents Logs
rm -f Logs/*
export LOGFILE=$PWD/Logs/1_install_miniaudicle.log

echo "Installing build dependencies"
sudo apt-get update -qq
/usr/bin/time sudo apt-get upgrade -qqy \
  >> $LOGFILE 2>&1
/usr/bin/time sudo apt-get install -qqy --no-install-recommends \
  bison \
  build-essential \
  flex \
  libasound2-dev \
  libjack-jackd2-dev \
  libpulse-dev \
  libqscintilla2-qt6-dev \
  qt6-base-dev \
  libsndfile1-dev \
  >> $LOGFILE 2>&1

echo ""
echo "Defining 'qmake' with a symlink"
ln -sf /usr/bin/qmake6 $HOME/.local/bin/qmake
echo ""

echo "Cloning repository"
rm -fr miniAudicle
/usr/bin/time git clone --recurse-submodules --branch $CHUCK_VERSION \
  https://github.com/ccrma/miniAudicle.git
  >> $LOGFILE 2>&1

echo "Building miniAudicle"
export QT_SELECT=qt6
pushd miniAudicle/src
/usr/bin/time make linux
  >> $LOGFILE 2>&1
echo "Installing miniAudicle"
sudo make install
popd

echo "Finished"

You can close this if you wish, I don't need it to work on 22.04.