ElvishArtisan / rivendell

A full-featured radio automation system targeted for use in professional broadcast and media environments
205 stars 64 forks source link

QT4 Depreciated #629

Closed maxtimbo closed 3 years ago

maxtimbo commented 3 years ago

Trying to do a fresh install of Rivendell to explore using it as a backup. Got stuck during compile complaining about QT4 missing. Thought I would try installing QT5, as QT4 is depreciated and no longer supported in Debian (Ubuntu) repositories. No luck. Are there plans to migrate to QT5?

Rivendell v3.4.1 Pop OS 20.10

maxtimbo commented 3 years ago

It seems CentOS 8 has similar issues:

Problem: conflicting requests
  - nothing provides /usr/bin/python needed by rivendell-3.4.1-1.x86_64
  - nothing provides libQtCore.so.4()(64bit) needed by rivendell-3.4.1-1.x86_64
  - nothing provides libQtNetwork.so.4()(64bit) needed by rivendell-3.4.1-1.x86_64
  - nothing provides libQtGui.so.4()(64bit) needed by rivendell-3.4.1-1.x86_64
  - nothing provides libQtSql.so.4()(64bit) needed by rivendell-3.4.1-1.x86_64
  - nothing provides libQt3Support.so.4()(64bit) needed by rivendell-3.4.1-1.x86_64
  - nothing provides libQtXml.so.4()(64bit) needed by rivendell-3.4.1-1.x86_64
  - nothing provides libSoundTouch.so.1()(64bit) needed by rivendell-3.4.1-1.x86_64
  - nothing provides libdiscid.so.0()(64bit) needed by rivendell-3.4.1-1.x86_64
  - nothing provides libmusicbrainz5.so.0()(64bit) needed by rivendell-3.4.1-1.x86_64
  - nothing provides qt-mysql needed by rivendell-3.4.1-1.x86_64
maxtimbo commented 3 years ago

Installation is flawless using CentOS 7. However, I'd be remiss if I didn't mention that EOL for CentOS 7 is 2024.

deltecent commented 3 years ago

This may not be a true statement, but my opinion is that Rivendell is currently designed and tested to run on CentOS 7. People should not expect it to compile, without some effort on their part, on any other platform.

I have not been able to understand the reasoning behind people wanting to deploy Rivendell on anything other than CentOS 7.

What is the reason for using Pop OS 20.10 instead of CentOS 7 for your radio automation system?

maxtimbo commented 3 years ago

What is the reason for using Pop OS 20.10 instead of CentOS 7 for your radio automation system?

Just seeing if would work. I tried last year using Debian (my personal distro of choice), ran into some issues, but got it to work eventually. It seemed to be a bit of a pain, so I walked away. Circling back around, I've started to really like Pop OS for a pretty simple end UX (for folks coming from win/macOS).

I've never really cared for CentOS, but being forced to use it, I'm sure I'll learn to deal. I don't really care for Win10, either, but I've gotten savvy with that platform over the years.

But all that being said, QT4 is depreciated in modern OSs, and CentOS EOL is 2024, meaning that the transition to QT5, or some way to port old libraries, must be added for the future of Rivendell for use with (I'm assuming will be) CentOS 8.

ElvishArtisan commented 3 years ago

This may not be a true statement, but my opinion is that Rivendell is currently designed and tested to run on CentOS 7. People should not expect it to compile, without some effort on their part, on any other platform.

Not really as an intentional thing, but it's easy to see how one could get that impression. Mostly, it's a matter of personal time management; RHEL/CentOS is the distro that I'm most familiar with, and time spent fiddling with the 724-odd other flavors of Linux is time that cannot be spent making improvements to Rivendell. That said, I will happily accept PRs that address compatibility problems with other distros.

As for the Qt4/Qt5, yes, well known problem. Unfortunately, those two versions of Qt are not source compatible, and porting Rivendell between them is a highly non-trivial undertaking.

ElvishArtisan commented 3 years ago

But all that being said, QT4 is depreciated in modern OSs, and CentOS EOL is 2024, meaning that the transition to QT5, or some way to port old libraries, must be added for the future of Rivendell for use with (I'm assuming will be) CentOS 8.

Yup, you're absolutely correct. I'm hoping it'll be the former. Fortunately, we still have a couple years to sort it.

maxtimbo commented 3 years ago

As for the Qt4/Qt5, yes, well known problem. Unfortunately, those two versions of Qt are not source compatible, and porting Rivendell between them is a highly non-trivial undertaking.

That's unfortunate. At least Rivendell wasn't written in Java.

deltecent commented 3 years ago

I needed to write a program in Qt. I choose to use Qt5 in hopes of using that knowledge to assist with porting Rivendell to Qt5. I'm in the "if it isn't broke, don't fix it" camp. Rivendell and CentOS 7 are a rock-solid combination, but we all know the only constant in life is change.

#define constant rand

maxtimbo commented 3 years ago

I needed to write a program in Qt. I choose to use Qt5 in hopes of using that knowledge to assist with porting Rivendell to Qt5.

I, too, thought about writing in QT5 once for the same purpose. But after going through the process of signing up, I was really chaffed by the QT Company's, I guess, dev platform(?). I understand that it's essentially the leader in cross-platform, cross-languages; which is really impressive. But I really don't like giving my info up like that just to dev as a side project.

Maybe when time affords it, I may explore that possibility once again. Make a proper Debian port (lol time...)

ElvishArtisan commented 3 years ago

I, too, thought about writing in QT5 once for the same purpose. But after going through the process of signing up,

I don't bother with that stuff at all. No need to 'sign up' for anything; just install the dev packages in CentOS.

yum install qt-devel

My dev environment is emacs and an xterm. Rivendell's build system is all AutoTools-based (Autoconf, Automake, LibTool). Very 'vanilla' and generic.

This does, of course, assume that you are licensing under the GPL. Not an issue for me!

maxtimbo commented 3 years ago

Since this discussion touches on CentOS (and is still open), I figured I would ask my question here rather than opening a new topic. With the recent announcement by RHEL that they will be essentially axing CentOS, will the development be moved to a different distro? Debian comes to mind (of course for me, a Debian novice neck-beard).

But others such as Arch, a rolling distro seems dangerous for this type of application; FreeBSD, a slightly different architecture.

Just curious to see what your thoughts were on this news.

ElvishArtisan commented 3 years ago

FYI: we now have a Rivendell port to Qt5 active in branch 'qt5'. Still a WIP.