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

[Mac OS X] Internal webengine-based web browser does not work because libraries are not "linked" correctly #147

Closed
peperjohnny opened this issue Oct 9, 2017 · 51 comments
Assignees
Labels
Priority-Low I not personally interested in this ticket, perhaps others might prepare PR. Status-Fixed Ticket is resolved. Type-Defect This is BUG!!! Type-Deployment Problem is caused by badly deployed application files.
Milestone

Comments

@peperjohnny
Copy link
Sponsor

Brief description of the issue.

I added my account and synced with Nextcloud News. However, when I click one of the Feeds nothing appears.

How to reproduce the bug?

  1. Use the macOS version.
  2. Add an account.
  3. Click on one of the feeds.

What is the expected result?

Feeds should be shown in the internal Browser.

What actually happened?

Window stayed blank. Even after a waiting time of a 5 minutes, nothing appeared in the window.
screen shot 2017-10-09 at 08 23 48

Other information (logs, see Wiki)

This happens if I start the app via terminal, as soon as I click one of the feeds.
[rssguard] DEBUG: Loading messages from feeds: '11'. (17/09/10 08:20:46) dyld: Library not loaded: /usr/local/Cellar/qt/5.9.1/lib/QtWebEngineCore.framework/Versions/5/QtWebEngineCore Referenced from: /Applications/RSS Guard.app/Contents/Frameworks/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess Reason: image not found [rssguard] DEBUG: Current row changed - row [0,5] source [0, 5]. (17/09/10 08:20:58) dyld: Library not loaded: /usr/local/Cellar/qt/5.9.1/lib/QtWebEngineCore.framework/Versions/5/QtWebEngineCore Referenced from: /Applications/RSS Guard.app/Contents/Frameworks/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess Reason: image not found

@martinrotter
Copy link
Owner

It seems that some library is missing from APK? I do not have Mac OS X, so I cannot provide some kind of serious support, those APKs were more or less just attempt to provide Mac OS X builds.

Maybe you just could install qt via homebrew and it could help.

Let me know if there is any progress.

@peperjohnny
Copy link
Sponsor Author

peperjohnny commented Oct 9, 2017

Did as you told and now it's working.
EDIT: This is ok for me. However, if you want some further debugging as to improve the situation for all mac users, if there are any beside me ;), I can assist you in this one.

@martinrotter
Copy link
Owner

Well, the dmg files is generated with these scripts:
https://github.com/martinrotter/rssguard/blob/master/resources/scripts/.travis-before-install.sh
https://github.com/martinrotter/rssguard/blob/master/resources/scripts/.travis-install-osx.sh

Basically:

  1. Brew packages are installed (Qt too).
  2. Application is compiled. (make)
  3. DMG is generated with tool macdeployqt. (make dmg)

Maybe the DMG is generated badly, and problem could be related to this: https://bugreports.qt.io/browse/QTBUG-50155

@martinrotter
Copy link
Owner

Maybe the solution would be to NOT package Qt libraries into DMG and rely on Qt installed in system?

@martinrotter
Copy link
Owner

What about distributing just single binary file without libraries. Would it work? I honestly do not know what format is preferable and good in mac os. RSS Guard resources are now compiled directly into the executable.

@peperjohnny
Copy link
Sponsor Author

If you can provide me a DMG I can install it and tell you which one works.

@martinrotter
Copy link
Owner

That's little problem, I can generate DMG blindly. I do not have macos, DMG as compiled by Travis CI - https://travis-ci.org/martinrotter/rssguard/jobs/285407347

So I have to make changes and hope they will work.

@peperjohnny
Copy link
Sponsor Author

Thing is I have little to no programming knowledge. I'll try to build the package myself without pulling in qt and see what happens.

@martinrotter
Copy link
Owner

I will fiddle it to, and post any results I get.

@martinrotter
Copy link
Owner

Is there any command which would create DMG file from folder?

@martinrotter
Copy link
Owner

Would this work?: hdiutil create -volname rssguard -srcfolder /path/to/the/folder/you/want/to/create -ov -format UDZO rssguard.dmg

@martinrotter martinrotter self-assigned this Oct 9, 2017
@martinrotter martinrotter added Status-Accepted I will eventually implement this. Type-Defect This is BUG!!! Type-Deployment Problem is caused by badly deployed application files. labels Oct 9, 2017
@martinrotter martinrotter added this to the 3.4.3 milestone Oct 9, 2017
@peperjohnny
Copy link
Sponsor Author

It builds a DMG so should be working

@martinrotter
Copy link
Owner

Is hdutil present on all macoses?

@peperjohnny
Copy link
Sponsor Author

It seems so. However, I have no second mac to test on right now.

@martinrotter
Copy link
Owner

I created modified DMG and bare ZIP for you, test both.

https://transfer.sh/dPJf2/RSS-Guard.dmg
https://transfer.sh/13CTAN/rssguard-3.4.3-cc66e17-mac.zip

@martinrotter
Copy link
Owner

It seems that this latest DMG linked against Qt libraries stored on system.

@martinrotter
Copy link
Owner

I will try to generate DMG WITHOUT qt libs so that we can try to rely on qt libs installed on system.

@peperjohnny
Copy link
Sponsor Author

I removed qt beforehand.
The DMG still shows no content if you click a feed.
The ZIP crashes while starting.

The DMG works again if I brew install qt.

@martinrotter
Copy link
Owner

Yes, that is what I expected, I will try to make DMG wihtout qt libs, I guess it would be the best way to have lightweight rssguard archive + have Qt libs installed system-wide via brew.

@martinrotter
Copy link
Owner

@martinrotter
Copy link
Owner

Unzip the zip into clean folder first. I also try to generate slimmer dmg.

@peperjohnny
Copy link
Sponsor Author

So the DMG starts without qt installed, but has the same problem as before without qt.
The ZIP needs qt to be installed to run. As you probably know.
Works fine as far as I can tell.

@martinrotter
Copy link
Owner

"The ZIP needs qt to be installed to run. As you probably know" I know, but otherwise the zip works? Would distributing this zip be enought for macosx users? Do you think its okay?

@martinrotter
Copy link
Owner

Try this one please: https://transfer.sh/c8Flw/rssguard.dmg

@martinrotter
Copy link
Owner

it is DMG stripped off from qt libs, so it is just like the ZIP but only DMG + so you need system qt installed

Please, let me know if this DMG could be used as final solution for distributing Mac OS port of RSS Guard.

@martinrotter
Copy link
Owner

QtMacExtras added some commits ago. I will probably close it, because it seem as @phedlund reported that DMG should be OK and working (he checked in clean Qt-free environment).

@martinrotter
Copy link
Owner

So, for those who have errors, the workaround is to install Qt from HomeBrew. Hopefully, some fixed will be incoming from Qt people, it is known that the tool for generating bundles on Mac OS X is sometimes buggy.

@martinrotter martinrotter added Status-Partially-Fixed Part of bug/feature is fixed/implemented. and removed Status-Accepted I will eventually implement this. labels Oct 16, 2017
@tomowad
Copy link
Sponsor

tomowad commented Aug 20, 2020

I installed rssguard 3.7.1 on macOS 10.15.6. The internal browser didn't work. I found this discussion and tried installing Qt via homebrew. Installing via homebrew did not affect rssguard's behavior. Starting rssguard from the terminal, I saw that it is specifically looking for version 5.13.2, whereas homebrew installed 5.15.0.

@martinrotter martinrotter reopened this Aug 20, 2020
@martinrotter martinrotter removed the Status-Partially-Fixed Part of bug/feature is fixed/implemented. label Aug 20, 2020
@martinrotter martinrotter removed this from the 3.5.1 milestone Aug 20, 2020
@martinrotter martinrotter changed the title macOS not showing feed in internal browser when clicked on [Mac OS X] Internal webengine-based web browser does not work because libraries are not "linked" correctly Aug 20, 2020
@martinrotter
Copy link
Owner

@tomowad Yes, there are still problems with "bundling" Qt with RSS Guard. Also, as you stated, system-wide Qt is somehow broken too. This is just shame, as I do not own Mac to develop/test myself.

It seems that we would really need somebody skilled with Qt/C++/mac to dig into the issue and fix it properly.

@martinrotter martinrotter added the Status-Needs-Help Someone else must provide better info, testing or PR. label Aug 20, 2020
@martinrotter
Copy link
Owner

I have now tried this and came to conclusion that current DMG file is broken. Homebrew's macdeployqt utility is simply broken and at this point I am just not able to fix it, because in VirtualBox environment with Mac OS, everything is so slow, it is all painful.

At this point, I highly recommend for all Mac OS users to build RSS Guard themselves with official Qt distribution.

@martinrotter martinrotter added Priority-Low I not personally interested in this ticket, perhaps others might prepare PR. Status-Not-Our-Bug Bug is present in some upstream libraries used by RSS Guard. Status-Postponed This is not that important (but interesting) ticket, postpone it for indefinite amount of time. labels Nov 25, 2020
@martinrotter
Copy link
Owner

Closing this, starting from 3.8.3, I will not produce WebEngine-based binaries for Mac OS X, because Homebrew's Qt package is broken.

See bold text in https://github.com/martinrotter/rssguard/blob/master/resources/docs/Downloads.md#official-downloads

@martinrotter martinrotter added Status-Wontfix I don't want this ticket implemented or it is unimplementable. and removed Status-Postponed This is not that important (but interesting) ticket, postpone it for indefinite amount of time. labels Nov 25, 2020
@martinrotter martinrotter added this to the 3.8.3 milestone Nov 25, 2020
@martinrotter martinrotter added Status-Fixed Ticket is resolved. and removed Status-Needs-Help Someone else must provide better info, testing or PR. Status-Not-Our-Bug Bug is present in some upstream libraries used by RSS Guard. Status-Wontfix I don't want this ticket implemented or it is unimplementable. labels Nov 26, 2020
@martinrotter
Copy link
Owner

OK, guys I decided to give it one more shot and managed to use custom Qt-installer which ships official and WORKING libraries.

I compiled sample DMG for you and now it should all work!! I tested with vanilla Mac OS in VirtualBox: https://bintray.com/api/ui/download/martinrotter/rssguard/rssguard-3.8.2-ebef0783-mac64.dmg

@tomowad
Copy link
Sponsor

tomowad commented Nov 26, 2020

It's working great on 10.15.6. Thank you so much!

@martinrotter
Copy link
Owner

@tomowad Nice to hear that, this ticket was haunting me like a crazy witch.

If you find any bugs or UX problems on macosx, create ticket please, I do not know what eact GUI guidelines are preferred for macosx but I will adjust it if you report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority-Low I not personally interested in this ticket, perhaps others might prepare PR. Status-Fixed Ticket is resolved. Type-Defect This is BUG!!! Type-Deployment Problem is caused by badly deployed application files.
Projects
None yet
Development

No branches or pull requests

4 participants