sonic-pi-net / sonic-pi

Code. Music. Live.
https://sonic-pi.net
Other
10.76k stars 921 forks source link

[bug report] unsuccessful installation on ubuntu and macos #1861

Closed ghost closed 2 years ago

ghost commented 6 years ago

[bug report] unsuccessful installation on ubuntu and macos

hey sam:

is it possible to fix such thing?

thank you so much

samaaron commented 6 years ago

Hi @tmm2018,

sorry you're having issues. Unfortunately we can't currently support linux due to lack of resources. However, you shouldn't have any issue with macOS. Could you let us know what your issues are? For example, is Sonic Pi failing to start? Do you see the splash screen? Does the app open? Do you get an error report?

Without extra information, it's hard to know what's not working on your machine and how to help... :-)

andrusenn commented 6 years ago

Hello, first of all, thanks Sam for this project! After searching and trying, I could install 3.1.0v in Ubuntu 16.04.4 LTS changing some lines following this thread: https://in-thread.sonic-pi.net/t/xubuntu-17-10-and-sonic-pi-3-1-solved/872/6

# Linux only
unix:!macx {
  LIBS += -lrt -lqt5scintilla2
  QMAKE_CXXFLAGS += -std=gnu++11
  QMAKE_CXXFLAGS += -Wall -Werror -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-reorder
  debug {
    QMAKE_CXXFLAGS += -ggdb
  }
}

Fail script on first error encountered

set -e

modified by nlb (n-l-b.fr) to install on xubuntu 17.10

hope it works for you. 19/03/2018

https://in-thread.sonic-pi.net/t/xubuntu-17-10-and-sonic-pi-3-1-solved/872/6

change libboost1.62-dev by libboost1.58-dev in ubuntu 16.04

Application/library versions built by this script.

SUPERCOLLIDER_VERSION=3.9.1 SC_PLUGINS_VERSION=3.9.0 AUBIO_VERSION=c6ae035 #0.4.6 OSMID_VERSION=391f35f789f18126003d2edf32902eb714726802

Internal definitions

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SP_APP_SRC=${SCRIPT_DIR} SP_ROOT=${SP_APP_SRC}/../../../../ OSMID_DIR=${SP_APP_SRC}/../../server/native/linux/osmid

echo "This script has been tested on ubuntu 16.04, it should work on ubuntu 15.10." echo "14.04 users may need to install some of the dependencies by hand from source" echo "We're working to make this script a one shot solution for all Linux platforms" echo "Please direct rage and suggestions to Factoid in (https://gitter.im/samaaron/sonic-pi)"

Install dependencies for building supercollider, as well as qt5 and supporting libraries for gui

sudo apt-get install -y \ g++ ruby ruby-dev pkg-config git build-essential libjack-jackd2-dev \ libsndfile1-dev libasound2-dev libavahi-client-dev libicu-dev \ libreadline6-dev libfftw3-dev libxt-dev libudev-dev cmake libboost1.58-dev \ libqwt-qt5-dev libqt5scintilla2-dev libqt5svg5-dev qt5-qmake qt5-default \ qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev \ qtpositioning5-dev libqt5sensors5-dev qtmultimedia5-dev libffi-dev \ libqt5opengl5-dev curl python erlang-base

IF YOU HAVE PROBLEMS WITH qwt

cd $SP_APP_SRC/../../../../

wget 'http://downloads.sourceforge.net/project/qwt/qwt/6.1.2/qwt-6.1.2.tar.bz2'

tar -xf qwt-6.1.2.tar.bz2

cd qwt-6.1.2

/usr/lib/x86_64-linux-gnu/qt5/bin/qmake qwt.pro

make

sudo make install

sudo cp /usr/local/qwt-6.1.2/features/* /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/

IF YOU HAVE PROBLEMS WITH qscintilla2

cd $SP_APP_SRC/../../../../

wget 'http://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.9.2/QScintilla_gpl-2.9.2.tar.gz'

tar -xf QScintilla_gpl-2.9.2.tar.gz

cd QScintilla_gpl-2.9.2/Qt4Qt5/

/usr/lib/x86_64-linux-gnu/qt5/bin/qmake qscintilla.pro

make

sudo make install

Build supercollider from source

cd ${SP_ROOT} git clone https://github.com/supercollider/supercollider.git || true cd supercollider git checkout Version-${SUPERCOLLIDER_VERSION} git submodule init && git submodule update mkdir -p build cd build cmake -DSC_EL=no .. make sudo make install

This should install to /usr/local/

Build sc3 plugins and install to /usr/local/ so supercollider can find them

cd ${SP_ROOT} git clone https://github.com/supercollider/sc3-plugins.git || true cd sc3-plugins git checkout Version-${SC_PLUGINS_VERSION} git submodule init && git submodule update cp -r external_libraries/nova-simd/* source/VBAPUGens mkdir -p build cd build cmake -DSC_PATH=/usr/local/include/SuperCollider -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release .. make sudo make install

Install libaubio (apt-get version is too old)

cd ${SP_ROOT} git clone https://git.aubio.org/aubio/aubio/ || true cd aubio git checkout ${AUBIO_VERSION} make getwaf ./waf configure ./waf build sudo ./waf install

Install osmid (for MIDI support)

cd ${SP_ROOT} git clone https://github.com/llloret/osmid.git || true cd osmid git checkout ${OSMID_VERSION} mkdir -p build cd build cmake .. make mkdir -p ${OSMID_DIR} install m2o o2m -t ${OSMID_DIR}

Build Erlang files

cd ${SP_APP_SRC}/../../server/erlang

The current implementation of osc.erl uses Erlang features that require

at least Erlang 19.1 to be installed. 16.04 LTS is currently at 18.3.

If versions < 19.1 are installed, and we use the current code, the MIDI

implementation breaks because the Erlang OSC router is failing.

ERLANG_VERSION=$(./print_erlang_version) if [ -e "osc.erl.orig" ]; then

Handle, if the original file in the source tree ever gets updated.

rm osc.erl.orig
git checkout osc.erl

fi if [[ "${ERLANG_VERSION}" < "19.1" ]]; then echo "Found Erlang version < 19.1 (${ERLANG_VERSION})! Updating source code." sed -i.orig 's|erlang:system_time(nanosecond)|erlang:system_time(nano_seconds)|' osc.erl fi erlc osc.erl erlc pi_server.erl

Build sonic-pi server extensions, documentation, and binary.

cd ${SP_APP_SRC} ../../server/ruby/bin/compile-extensions.rb ../../server/ruby/bin/i18n-tool.rb -t cp -f ruby_help.tmpl ruby_help.h ../../server/ruby/bin/qt-doc.rb -o ruby_help.h

echo -e "${CYAN}Building sonic-pi binary...${NC}" lrelease SonicPi.pro qmake -qt=qt5 SonicPi.pro make


- Install cd /sonic-pi/app/gui/qt  and `sudo ./build-ubuntu-app` (changed file)
- Run: cd /sonic-pi/bin `sudo ./sonic-pi`

## Sending and receiving OSC
![sonic-pi3](https://user-images.githubusercontent.com/8258926/37917867-f3026850-30f5-11e8-8296-ab6a378f6cd1.png)
samaaron commented 6 years ago

@andrusenn wonderful! Would you be interested in creating a pull request with these changes in for other linux users?

andrusenn commented 6 years ago

@samaaron yes of course! i'll test it a bit more before that. Thanks

samaaron commented 2 years ago

We have completely overhauled the building and booting systems in the recently released v4 of Sonic Pi:

https://github.com/sonic-pi-net/sonic-pi/releases

Please give that a try and feel free to create a new issue if you're still having problems.