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

Update to QT5 #44

Closed ids1024 closed 1 year ago

ids1024 commented 3 years ago

Qt 4 has been unsupported and unmaintained for years, and isn't packaged for many Linux distros any more. Luckily porting QT4 to QT5 is generally not too hard, and fairly well documented. In this case, quite trivial.

This seems to be working nicely, though I've only tested on Linux.

Fixes https://github.com/ccrma/miniAudicle/issues/40 and https://github.com/ccrma/miniAudicle/issues/41.

RylanSunseri-097 commented 3 years ago

Hello ids1024,

I'm trying to get miniAudicle to run with QT5 on ubuntu 20.10, as the qt4 package is not available natively on the OS. So far, I have made the proper changes to the following files:

notes/README.linux src/makefile src/miniAudicle.pro src/qt/mAVMMonitor.cpp

despite these changes, the following error still occurs when attempting to compile miniAudicle:

g++ -c -pipe -DLINUX_PULSE -DCK_SNDFILE_NATIVE -DLINUX -DPLATFORM_LINUX -Ichuck/src -DHAVE_CONFIG_H -O3 -w -D_REENTRANT -fPIC -DHAVE_CONFIG_H -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets -I/usr/include/aarch64-linux-gnu/qt5/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtNetwork -I/usr/include/aarch64-linux-gnu/qt5/QtCore -Ibuild -Ibuild -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o build/mAMainWindow.o qt/mAMainWindow.cpp In file included from qt/mAMainWindow.cpp:28: qt/madocumentview.h:31:10: fatal error: Qsci/qscilexer.h: No such file or directory 31 | #include <Qsci/qscilexer.h> | ^~~~~~ compilation terminated.

It appears that the mAMainWindow.cpp file needs more modification for the QT5 package in order to compile.

Be aware, I am in no way a software engineer or even a skilled coder, just some guy looking to compile miniAudicle on linux systems without qt4 (what I am now learning is an extremely difficult process for a n00b).

Any and all advise on where to go from here would be greatly appreciated. Thank you so much!

znmeb commented 3 years ago

This pull request (and the miniAudicle in general) needs tested instructions for building from source on Linux - what '-dev / -devel' files need to be installed for the 'make' step to complete.

ids1024 commented 3 years ago

This pull request (and the miniAudicle in general) needs tested instructions for building from source on Linux - what '-dev / -devel'

The PR already changes README.linux to update the list of build dependencies, though I haven't tested carefully in a chroot to see if anything else is required.

The repo could probably benefit from CI that builds on Linux.

znmeb commented 3 years ago

@ids1024 I've got a Dockerfile that builds successfully on Ubuntu Bionic arm64 but I don't have any run-time tests to assure that it works yet. CI would be good; ever since Travis CI essentially shut down their open source support, people have been migrating to GitHub Actions.

The Dockerfile will be here when I do a push: https://github.com/AlgoCompSynth/miniAudicle/

spencersalazar commented 1 year ago

hey all, somehow missed this for nearly two years -- thanks for getting this start. Ill note that Qt6 modernization is in the works in a separate branch + PR! look out for that coming soon and let me know if you are available to give it a try.

gewang commented 1 year ago

situation report: miniAudicle has been ported to Qt6 as of the recent chuck-1.5.0.0 release; Qt6 compilation has been verified on windows and macOS (#59; although the latter uses native Cocoa instead of Qt, this is another cross platform verification). miniAudicle/Qt6 on Linux is in theory there, but in practice the build needs work. We are working towards a patch in 1.5.0.1.

spencersalazar commented 1 year ago

closing as we have updated to Qt6!