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

Qucs from AppVeyor has severe graphics issues #958

Open
in3otd opened this issue Feb 10, 2020 · 10 comments
Open

Qucs from AppVeyor has severe graphics issues #958

in3otd opened this issue Feb 10, 2020 · 10 comments
Labels

Comments

@in3otd
Copy link
Contributor

in3otd commented Feb 10, 2020

see here.

Since fixing the Appveyor build both the 32 b and the 64 b builds have issues with the schematic graphic.
I've compared the AppVeyor latest build log with the one from 7 months ago (last successful before removal of Qt4 package from MSYS2) and didn't see any significant difference. The old artifact is no longer available, unfortunately.

@in3otd in3otd added the bug label Feb 10, 2020
@in3otd
Copy link
Contributor Author

in3otd commented Feb 21, 2020

I've done some experiment but still it's not clear where this issue comes from:

  • the 32 b and 64 b versions from AppVeyor always shows this issue
  • compiling the latest sources in Windows locally (with an MSYS2 install of a couple of years ago), everything works fine
  • overwriting qucs.exe of a local build with one from AppVeyor shows the issue, so I think this is not due to any new/different libraries version

@Vort
Copy link
Contributor

Vort commented Apr 8, 2020

It looks like problem comes from Qt: foreach is broken.
https://forum.qt.io/topic/105934/q_foreach-no-longer-works-as-intended

@Vort
Copy link
Contributor

Vort commented Apr 8, 2020

@in3otd
Copy link
Contributor Author

in3otd commented Apr 8, 2020

uh, thanks! - apparently my google-fu was weak.

@Vort
Copy link
Contributor

Vort commented Apr 8, 2020

Determining the reasons for crashes (null pointer dereference in this case) is not so hard usually.
Another question - is what to do next.
I will try next version of GCC (9.2.0 -> 9.3.0), but not sure if it will help.

@Vort
Copy link
Contributor

Vort commented Apr 8, 2020

Patching of the Q_FOREACH macro inside the following files fixes the problem:
\msys64\mingw64\include\qt4\Qt\qglobal.h
\msys64\mingw64\include\qt4\QtCore\qglobal.h
qt/qtbase@c35a3f5 (I have patched both of them just in case)

But I completely don't know how to integrate such fix into build system.

@felix-salfelder
Copy link
Member

felix-salfelder commented Apr 8, 2020 via email

@Vort
Copy link
Contributor

Vort commented Apr 8, 2020

Your test will pass, as soon as they have fixed the problem

Looks like this will never happen.
Both from GCC and Qt sides.

So I see 3 options:

  1. Upgrade to Qt5.
  2. Fix Qt4 manually.
  3. Use old GCC version.

It is also possible to switch to Clang, but they can also copy GCC behaviour eventually.

@felix-salfelder
Copy link
Member

felix-salfelder commented Apr 8, 2020 via email

@in3otd
Copy link
Contributor Author

in3otd commented Apr 8, 2020

IMHO, you can simply put a patch in contrib and apply it as done for ASCO.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants