-
-
Notifications
You must be signed in to change notification settings - Fork 114
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
Qt5 migration checklist #72
Comments
sudo apt-get install libqt5svg5-dev qtscript5-dev |
Yes, the main application requires |
I have fixed some issues in the main application. Now everything seems to work. I have tested save/load, circuit editing, subcirctuits, library components from user libraries, and simulation with Ngspice. The next step is to port utilities to Qt5. |
I have ported utilities to Qt5. Everything seems to be working. |
Main |
In CMakeList.txt, I see: |
The
|
Thanks Vadim, the qttools5-dev-tool package helped; but for some reason the QT_CONFIG macro is not coming in. [ 71%] Built target paintings -I/usr/include/x86_64-linux-gnu/qt5/QtCore/ but this should be somewhat automatic with Qt. It might be that when I installed Qt4, it messed up Qt5? On my machine, QT_CONFIG is defined in: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h /* I'll keep plugging away, but am stumped right now! |
Hello Kenneth, I cannot reproduce the reported build issue on my Kubuntu 18.04 machine. It seems that your Qt5 installation is damaged. I am using the following build sequence at the top of the source tree:
Alternatively you may open the Where and how is the Qt4 installed on your machine? Also try to run I will try to install fresh Ubuntu 20.04 into the virtual machine and reproduce the build sequence on the clean system. |
Hi Vadim, With your CMakeLists.txt in a build directory (for me bld1): cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
Add the installation prefix of "Qt5LinguistTools" to CMAKE_PREFIX_PATH or -- Configuring incomplete, errors occurred! I haven't used QtCreator for a number of years; I remember at that time I didn't like the lack of control. Going back would put me on hold for a long time. If necessary, I will, but this is a last resort. Before this, I would stop everything and try and debug cmake with a build directory. Re qt4:
moving the cmake cache file away didn't help Maybe we should give up on cmake and try and get spack working? Or try a gnumake approach? using bootstrap, config, make in the top directory, etc? Right now, I'm blindly doing trial and error with no success |
I have installed a clean Ubuntu20.04 system with Qt5.12 on a VirtualBox machine. I also cannot reproduce this issue. Everything has been compiled without errors and
The changing of the build system is not considered. CMake was always used with Qucs-S. Regarding this issue, there is something wrong with your Qt5 or CMake configuration, but I cannot figure out what exactly. Probably Qt4 replaced some CMake scripts after the installation. What |
The |
Also, for info:
|
Guys: Just wanted to let you know that I've been following this issue and just today checked out the qt5 branch and tested it on FreeBSD very briefly. I was able to load some old schematics I had from before my system dropped qt4 and they loaded up just fine, and I was able to run Xyce through Qucs-s just as I used to be able to do. I have not tried out very much more than that. The only thing I had to do was install the "qt5-script" package, which was not otherwise installed by the big qt5 meta-package on this system. I'd already had cmake and the rest of qt5 already installed for other reasons. |
Hello Tom,
I cannot reproduce these issues on Linux. Besides my host system I have tested Ubuntu20.04 and Manjaro with Qt5.12 and 5.15. Everything looks good for such platform. Maybe |
I have fixed the Qt5.15 build with the latest commits on |
Hmmm. Your settings dialog looks exactly like mine (same font name and specification, same large size). I even tried telling qucs-s to reset that dialog to defaults and restarted it with no change in behavior. What's really strange is that the vertical text is running from bottom to top as expected, but the letters themselves are not rotated at all, so it looks really strange. Never saw this in the qt4 version, but it's been a very long time since I have used that (FreeBSD dropped qt4 from its package system quite a long time ago). I have just built qucs-s with qt5 on my Ubuntu laptop and I do NOT see the same thing. |
There is plenty of room for Xyce support to be broken, as there has been a lot of development regarding things like sensitivity output. But what might break is just something specific to one or two of your Xyce examples. Since all you're doing is generating netlists and running the binary, the good news is that nothing fundamental is broken. |
I have installed Xyce on my machine. All my test examples including |
Yeah, Xyce 7.5 and the development version of Xyce in git has some changes to the formatting of sensitivity output that might break some examples, but 7.5 won't be out for a few months. Not sure what changed in .FOUR output. |
@tvrusso Could you test the branch https://github.com/ra3xdh/qucs_s/tree/qt5_default_font ? It sets the application font to system font instead of "Helvetica" and may resolve your issue on FreeBSD. It seems that "Helvetica" may be invalid on some platforms and can lead to weird result. You need to delete the config file |
Helvetica is installed on this system. I will, however, try the qt5_default_font branch. |
It seems that weird issue has gone. I also had report about similar problem from Arch Linux users. I will merge this commit in |
The font name is now "Sans Serif, 12, -1,5,50,0,0,0,0,0" |
The application font setting fix is merged in |
I now have Xyce simulating with Vadim's second recent update; I will update again soon and re-try. I haven't gotten around to figure out how to graph the results yet; my guess is I need to bring a "Graph" component onto the schemtic? I'll figure it out. I am also in the process of trying to get an ADMS generic 22nm EKV model from Christian Enz of EPFL. I expect Christian will send the model; I will work on getting it running first in Xyce at command line. No idea how difficult it might be. Vadim, your success is really moving things forward. I'm on vacation for 10 days starting Monday so you might not hear much from me (I have to look into adding Delta-Sigma to a digital Filter Bank during my vacation (short side project - long story, and I won't bore you with details). I am really anxious on getting into the schematic capture with Qt and gdb when I return (maybe Vadim you'll have everything done by then?). |
Hello Kenneth,
Yes, just place on schematic or display page a digaram component and select desired traces to plot. Also refer to documentation: https://qucs-s-help.readthedocs.io/en/latest/BasSim.html
The external Verilog-A models (*.va) are now supported only with Qucsator+ADMS combination. The Xyce has experimantal direct support of Verilog-A devices, but it is not implemented in Qucs-S yet. The development of Qucs-S was frozen when this feature was not presented in Xyce.
My priority now is the Ngspice support. I have set it as the recommended simulator on the first application run. Ngspice is available in the repositories of the most of modern Linux distributions. Ngspice has the best performance and good compatibility with the component models provided by manufacturers. Also some LTSpice models could be compatible with Ngspice. |
I totally agree with your thoughts on ngspice, way easier to install; almost certainly preferred for teaching; especially if we ever get to You-Tube courses. Re models: a quote: |
This is interesting, well worth the time to read: |
Xyce is only a "bear" to install because it has a lot of dependencies, one of which is Trilinos, which is a nightmare of its own. You might look at this repo: https://github.com/tvrusso/XyceBundle It is a meta package that will build and test Xyce and Trilinos with one command, if you have all the other dependencies installed (on Ubuntu, that's a single "apt install" command, on RHEL a single "yum install" command, and on Cygwin a ton of mouse clicks). The exact set of packages that Xyce and Trilinos depend on is given in the Xyce Building guide in the section on system-specific prerequisites. Once those dependencies are installed manually, XyceBundle will take care of the rest and leave a usable build of the code in a subdirectory, and you can optionally install it elsewhere. I have successfully used Qucs-s simply by telling it to find the build in the XyceBundle directory.
There are about 8 full time developers, and a few collaborators.
There exist methods to hook Xyce up with icarus verilog to do mixed-signal simulation. There's a guide to it on the Xyce documentation and tutorials page. There are even a few examples of how to do it in the Xyce regression suite. |
The compact modelling with Qucsator+Adms and Verilog-A modules works using the Qt5 build. But it's need to define the full qucsator executable path and probably make |
The packages for Ubuntu are already available: https://download.opensuse.org/repositories/home:/ra3xdh/xUbuntu_20.04/ |
QtScript dependency problem resolved by #91 |
Closing this, because the application code is 100% ported to Qt5 now, including compatibility with Qt5.15 and removing QtScript dependency. Individual issues should be opened if some problems related to Qt5 arise in the future. |
The following things need to be done to complete the Qt5 migration. The Qt5 port is located here: https://github.com/ra3xdh/qucs_s/tree/qt5
Q3PtrList
andQ3ScrollView
will be needed;qucs
subdirectory) and fix bugs if found; currently almost everything is operational in the main application;CMakeLists.txt
in the root directoryqucs-activefilter
qucs-attenuator
qucs-filter
qucs-lib
qt5
branch intomaster
windows.h
names conflict found when using MXE+Qt5.15; build error)The text was updated successfully, but these errors were encountered: