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

IDE requires QtWebEngine, which is hard to install on some Linux platforms #4010

Closed
lnihlen opened this issue Aug 22, 2018 · 16 comments
Closed
Assignees
Labels
bug Issues that relate to unexpected/unwanted behavior. Don't use for PRs. comp: build CMake build system
Milestone

Comments

@lnihlen
Copy link
Member

lnihlen commented Aug 22, 2018

Environment

  • Your SuperCollider version: 3.10/develop
  • Your operating system and version: raspbian stretch June 2018, kernel 4.14

Steps to reproduce (for bugs)

  1. Follow instructions at https://supercollider.github.io/development/building-raspberrypi except don't checkout 3.9 branch, and instead build from develop so you get the Qt 5.7 work.
  2. Issue the provided cmake command:
cmake -L -DCMAKE_BUILD_TYPE="Release" -DBUILD_TESTING=OFF -DSUPERNOVA=OFF -DNATIVE=ON -DSC_WII=ON -DSC_IDE=ON -DSC_QT=ON -DSC_ED=OFF -DSC_EL=OFF -DSC_VIM=ON -DCMAKE_INSTALL_PREFIX=~/usr/local ..

Error message (for bugs)

CMake Error at /usr/lib/arm-linux-gnueabihf/cmake/Qt5/Qt5Config.cmake:26 (find_package):
  Could not find a package configuration file provided by "Qt5WebEngine" with
  any of the following names:

    Qt5WebEngineConfig.cmake
    qt5webengine-config.cmake

  Add the installation prefix of "Qt5WebEngine" to CMAKE_PREFIX_PATH or set
  "Qt5WebEngine_DIR" to a directory containing one of the above files.  If
  "Qt5WebEngine" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  QtCollider/CMakeLists.txt:3 (find_package)
  lang/CMakeLists.txt:155 (include)

Expected Behavior

Cmake completes without error.

Current Behavior

This may be that qt doesn't officially support "embedded devices" with noncommercial version of Qt5WebEngine, according to this posting from the QtWebEngine listserv. It is true that the libqt5webengine-dev package, called out in the updated 3.10 README_LINUX build instructions, is not available to install on rasbian:

luken@pi:~/src/supercollider/build $ apt search webengine
Sorting... Done
Full Text Search... Done
libqt5webchannel5/stable 5.7.1-2 armhf
  Web communication library for Qt

libqt5webchannel5-dev/stable 5.7.1-2 armhf
  Web communication library for Qt - development files

libqt5webengine-data/stable,now 5.7.1+dfsg-6.1 all [installed]
  Web content engine library for Qt

python-pyqt5.qtwebchannel/stable 5.7+dfsg-5 armhf
  Python 2 bindings for Qt5's WebChannel module

python-pyqt5.qtwebchannel-dbg/stable 5.7+dfsg-5 armhf
  Python 2 bindings for Qt5's Webchannel module (debug extension)

python3-pyqt5.qtwebchannel/stable 5.7+dfsg-5 armhf
  Python 3 bindings for Qt5's WebChannel module

python3-pyqt5.qtwebchannel-dbg/stable 5.7+dfsg-5 armhf
  Python 3 bindings for Qt5's Webchannel module (debug extension)

qml-module-qtwebchannel/stable 5.7.1-2 armhf
  Web communication library for Qt - QML module

qtwebchannel5-doc/stable 5.7.1-2 all
  Web communication library for Qt - Documentation

qtwebchannel5-doc-html/stable 5.7.1-2 all
  Web communication library for Qt - HTML Documentation

qtwebchannel5-examples/stable 5.7.1-2 armhf
  Web communication library for Qt - Examples

qtwebengine5-doc/stable 5.7.1+dfsg-6.1 all
  Qt 5 webengine documentation

qtwebengine5-doc-html/stable 5.7.1+dfsg-6.1 all
  Qt 5 webengine HTML documentation

So here's a loose plan of attack:

a) Move the Raspberry Pi documentation into the repository, and update it to indicate that support on 3.10 is currently broken (or at least you will need to BYOBuild of QtWebEngine)

b) Discuss with group about possibility of limiting dependency on QtWebEngine to SC_IDE (right now experimentation suggests that it is a dependency of SC_QT. This would depend on the possibility that there are other dependencies on QtWebEngine outside of the IDE that I'm not aware of?

c) Brainstorm how we might make QtWebEngine optional for a Pi build, allowing folks to still use scide on Pis but perhaps just use Chromium (comes with raspbian stretch) to browse the help files?

d) Other ideas?

@patrickdupuis
Copy link
Contributor

I've been spending some time reading up on alternative Rpi distros. I don't have much to say at the moment. Raspbian is a great distro that's widely used. SC users aren't going to be better off using, for example, ARM Arch Linux. The only real solution I can see is allowing a non-webengine build of SC.

@scztt I wonder what implications this has for our friends at Monone and Sonic Pi.

@lnihlen
Copy link
Member Author

lnihlen commented Aug 23, 2018

Thanks for the update @patrickdupuis. I should have a PR out in the next few days that adds an SC_WEBENGINE flag to cmake, with mitigations in place for sclang and scide. I'm also happy to update the RPi documentation, if you or somebody else can kindly advise about the best procedure to do that.

@nhthn
Copy link
Contributor

nhthn commented Aug 23, 2018

i would suggest moving the RPi doc to README_RASPBERRY_PI.md. it's long overdue for a merger.

@lnihlen
Copy link
Member Author

lnihlen commented Aug 24, 2018 via email

@nhthn nhthn added bug Issues that relate to unexpected/unwanted behavior. Don't use for PRs. comp: build CMake build system labels Aug 24, 2018
@nhthn nhthn added this to the 3.10 milestone Aug 24, 2018
@redFrik
Copy link
Contributor

redFrik commented Aug 24, 2018

will the wiki page go away? then i disagree. that page is referenced to a lot in tutorials, mails and blogposts. it's a well established place.

@mossheim
Copy link
Contributor

We can just leave up a redirect link...

@redFrik
Copy link
Contributor

redFrik commented Aug 24, 2018

and what about the links included in the text? i assume they will work in a .md readme?

@patrickdupuis
Copy link
Contributor

I don't see why including a Rpi README to the repo would affect the website guide at all. The README should be a thorough technicall discussion of building SC on Rpi, whereas the guide is a step-by-step set of instructions for getting set up quickly and efficiently. They are complementary to each other, no?

@mossheim
Copy link
Contributor

and what about the links included in the text? i assume they will work in a .md readme?

Yes

I don't see why including a Rpi README to the repo would affect the website guide at all. The README should be a thorough technicall discussion of building SC on Rpi, whereas the guide is a step-by-step set of instructions for getting set up quickly and efficiently. They are complementary to each other, no?

Right now we have three locations for guides - website, repo, and wiki. Nobody gains by that. If anything I think a more in depth setup guide should go on the wiki like the Ubuntu and fedora setup guides. I believe we agreed at a past dev meeting that we'd like to move these things there. This is very easy to do since they are all essentially git-managed markdown files. Thanks for bringing up this point.

@nhthn
Copy link
Contributor

nhthn commented Aug 31, 2018

the qt webengine dependency is also causing problems for other linuxes as seen in the sc-users thread. i will work on making it an optional instead of hard dependency. if this doesn't get done in time for 3.10 that's okay, but i don't think it will be too laborious.

@nhthn nhthn self-assigned this Aug 31, 2018
@nhthn
Copy link
Contributor

nhthn commented Sep 1, 2018

i have successfully severed webengine from sclang in #4041. doesn't touch the IDE yet, but i'll be on that soon.

@bill-auger
Copy link

bill-auger commented Feb 6, 2019

i will work on making it an optional instead of hard dependency

please do - supercollider had to be removed from the parabola distribution due to this new dependency on 'qt5-webengine'

@nhthn
Copy link
Contributor

nhthn commented Feb 6, 2019

we've been putting some other fires out in 3.10.1/2 but i am hoping to get to this shortly. sorry about the delay on this.

@bill-auger
Copy link

no rush - just indicating interest - this is pretty routine - they often go unacknowedged for years - you responded within one day

grade A upstream :)

@nhthn nhthn modified the milestones: 3.10.2, 3.10.3 Feb 9, 2019
@nhthn nhthn changed the title Qt 5.7 support on Raspberry Pi/raspbian stretch IDE requires QtWebEngine, which is hard to install on some Linux platforms May 17, 2019
@nhthn nhthn pinned this issue May 17, 2019
@patrickdupuis patrickdupuis unpinned this issue Jun 13, 2019
@nhthn nhthn pinned this issue Jun 13, 2019
@nhthn
Copy link
Contributor

nhthn commented Aug 1, 2019

fixed in #4328!

@nhthn nhthn closed this as completed Aug 1, 2019
@nhthn nhthn unpinned this issue Aug 1, 2019
@bill-auger
Copy link

bill-auger commented Aug 1, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issues that relate to unexpected/unwanted behavior. Don't use for PRs. comp: build CMake build system
Projects
None yet
Development

No branches or pull requests

6 participants