Qucs / qucs

Qucs Project official mirror
http://qucs.sourceforge.net/
GNU General Public License v2.0
1.16k stars 213 forks source link

develop branch is NOT Qt5 compatible? #1006

Closed jiapei100 closed 4 months ago

jiapei100 commented 4 years ago

develop branch is NOT Qt5 compatible?

thmalmeida commented 4 years ago

ubuntu 20.04 has dropped Qt4. Now, to keep Qucs working I could add Qt4 lib from PPA repository. Available on https://launchpad.net/~rock-core/+archive/ubuntu/qt4.

Rmano commented 4 years ago

I think that lot of people will move to 20.04 or newer distribution, and QT4 will be dropped and will be more and more difficult to find. As a stopgap, I think that trying to build a snap, or AppImage version would be nice. I will look into it as I have time, but it's quite difficult now --- I did a snap package for QUCS when the same problem appeared on 16.04->18.04, but it wasn't easy and it wasn't really working so well (PDF export was broken, for example).

Is there anybody here who is expert on snap, appimages or similar kind of packages? Please contact me.

Switching to QT5 is not easy, it seems...

Rmano commented 4 years ago

ubuntu 20.04 has dropped Qt4. Now, to keep Qucs working I could add Qt4 lib from PPA repository. Available on https://launchpad.net/~rock-core/+archive/ubuntu/qt4.

...is that repo sufficient for building QUCS? The problem will be to keep up compiling new versions...

Rmano commented 4 years ago

I have managed to create an AppImage for QUCS-0.0.20-pre2. You need the patch in PR #1011

These are the steps I followed:

  1. get the source from https://github.com/Qucs/qucs/releases/tag/qucs-0.0.20-rc2

  2. now I created a directory for it (sorry it's a bit long) and unpacked and built it:

    cd /home/romano/software/qucs/AppImage/
    tar xvzf ../qucs-qucs-0.0.20-rc2.tar.gz
    cd qucs-qucs*
    mkdir build
    cd build 
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr
  3. After the compilation went ok, I prepared the AppDir:

    make install DESTDIR=AppDir
  4. get the deploy application:

    wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
    chmod +x ./linuxdeploy-x86_64.AppImage
  5. ...and deploy it. The most tricky thing is the LD_LIBRARY_PATH thing

export LD_LIBRARY_PATH=/home/romano/software/qucs/AppImage/qucs-qucs-0.0.20-rc2/build/AppDir/usr/lib
./linuxdeploy-x86_64.AppImage --appdir AppDir --output appimage
mv ./Qucs-x86_64.AppImage  ./Qucs-0.0.20-pre2-x86_64.AppImage

After that, I moved the AppImge to a VM with Ubuntu 0.0.20, install adms from the standard repo, and...

image

Lightly tested, seems to work.

Now, it will be great is somebody more knowledgable than me on the Travis or whatever CI is able to generate this kind of thing automatically on releases. It will be a life-safer waiting for the QT5 version.

References: https://docs.appimage.org/packaging-guide/from-source/native-binaries.html#packaging-from-source https://github.com/linuxdeploy/linuxdeploy/issues/76

Rmano commented 4 years ago

If you like to live dangerously, I have a copy of it in: https://www.rgtti.com/blobs/Qucs-x86_64-0.0.20-pre2.AppImage

probonopd commented 4 years ago

@Rmano thanks a ton, seems to run well on Xubuntu 18.04.4 LTS.

Rmano commented 4 years ago

@Rmano thanks a ton, seems to run well on Xubuntu 18.04.4 LTS.

Well, in 18.04.4 you can compile it natively, and it will run better... the point is to check it 20.04 or in (most) modern distribution that have dropped QT4.

tinywrkb commented 4 years ago

Initial Flatpak packaging can be found here.
It needs Qucs base app for building so build and install the base app first. The reason for having a base app is to be able to incorporate Qucs in a Qucs-S package without needing to rebuild it.

Rmano commented 4 years ago

Ok, now I have a AppImage developed on 16.04, that should work on a lot of systems. If you can check it, I will be grateful.

https://rmano.github.io/qucsAppImagesBuild/

Rmano commented 4 years ago

BTW, I am thinking about submitting it here: https://github.com/AppImage/appimage.github.io#how-to-submit-appimages-to-the-catalog --- but I'd like a thumb-on from the developers and, if possible, a bit of feedback about the working status on several distros.

I think it could be a nice stop-gap until the Qt5 migration is finished. I will try to maintain it live, i.e., if there is a new release (-rc3 or whatever) I will update the repo.

cederom commented 3 years ago

qucs port was deleted from FreeBSD in March 2019 because it is not Qt5 compatible and Qt4 was removed from the OS. This utility looks amazing, would be really nice to have it working with Qt5 or Qt6 :-) https://www.freshports.org/cad/qucs/

thomaslepoix commented 3 years ago

I anwsered you on #560, please do not repost the same question on multiple issues.

Nikita-Presnov commented 2 years ago

Switching to QT5 is not easy, it seems...

Hm... Most of the time I just edited CmakeList.txt a bit when I needed a qt5 port. Your program looks complicated, but I don’t think it’s such a daunting task. Moving to qt6 promises to be even easier.

Rmano commented 2 years ago

@Nikita-Presnov it would be great if you could help with it. I think that the change is not trivial at all (there are still things from qt3 in the codebase, I think). I use QUCS a lot but I am not a developer, so I am stuck with the AppImage I made. I am sure that the developer will appreciate it!

Nikita-Presnov commented 2 years ago

@Rmano I can try to do something somewhere in January-February, and then make a pull request.

This port will definitely be more difficult than what I did before, so I will need to figure out a bunch of other things first, but I don't think it's overwhelming.

felix-salfelder commented 4 months ago

qt5 port in develop now.