View Issue Details

IDProjectCategoryView StatusLast Update
0002084FreeCADBugpublic2015-12-15 13:18
Reporterandrewdud89 Assigned Toyorik  
PrioritylowSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSMint OS Version17.1
Product Version0.14 
Fixed in Version0.16 
Summary0002084: Didnt work button Help
DescriptionDidnt open windows Help.
Steps To Reproduce1.Open FreeCad.
2.Press button "Help"->"Help F1".
Expected result- system open window Help
Real result- system didnt open window Help(Unable to launch Qt Assistant (/usr/lib/x86_64-linux-gnu/qt4/bin/assistant).

Additional InformationOS Linux Mint 17.1 Cinnamon 64-bit
Version Cinnamon-2.4.8
Core Linux-3.13.0-37-generic
Proccesor- Intel COre i3-2330M CPU 2.20GHz x2
Ram-3.9Gb
TagsNo tags attached.
FreeCAD Information

Activities

andrewdud89

2015-05-02 19:43

reporter  

5.png (Attachment missing)

andrewdud89

2015-05-02 19:44

reporter  

4.png (Attachment missing)

triplus

2015-05-02 21:10

developer   ~0006109

I can confirm this behaviour on Ubuntu 14.04 + daily PPA.

Indeed it's a bit strange to click on Help and getting this unexpected result. It would probably be better if mentioning FreeCAD documentation is not installed. You can install it like this:

sudo apt-get install freecad-doc --no-install-recommends

Note that qt4-dev-tools will be installed at the same time to provide Qt Assistant.

So far so good minus lack of information FreeCAD documentation is lacking on system.

But after that there probably is a bug involved as Qt Assistant can be run manually from terminal:

assistant
/usr/bin/assistant
/usr/lib/x86_64-linux-gnu/qt4/bin/assistant

But clicking Help or pressing F1 will produce no errors and no Qt Assistant with Help.

triplus

2015-05-02 22:13

developer   ~0006110

Last edited: 2015-05-02 22:14

Running this commands manually:

assistant -collectionFile /usr/share/doc/freecad-doc/freecad.qhc

/usr/bin/assistant -collectionFile /usr/share/doc/freecad-doc/freecad.qhc

/usr/lib/x86_64-linux-gnu/qt4/bin/assistant -collectionFile /usr/share/doc/freecad-doc/freecad.qhc

Works as expected therefore nothing is wrong with documentation file or Qt Assistant. After freecad-doc it installed i am guessing triggering Help does not do the right thing and that needs fixing.

triplus

2015-05-03 15:51

developer   ~0006115

OK i enabled log file and looked what is happening. FreeCAD thinks freecad.qhc is located at this location:

Log: Help file at /usr/lib/freecad/doc/freecad.qhc

This is where it is actually located:

/usr/share/doc/freecad-doc/freecad.qhc

normandc

2015-05-03 19:39

manager   ~0006116

1. Your FreeCAD version from the official Ubuntu repository is utterly obsolete, broken, and is not supported. Please go to the FreeCAD forum and read this: http://forum.freecadweb.org/viewtopic.php?f=3&t=2264 (section "Are you sure your FreeCAD version is current?")
2. This problem was reported on the forum: http://forum.freecadweb.org/viewtopic.php?f=3&t=10606
I posted the workaround in this reply: http://forum.freecadweb.org/viewtopic.php?f=3&t=10606&start=10#p85466

I've learned a little more about debian packaging since that topic, I may be able to make the freecad-doc package in our PPA create the symbolic link. But of course, the real solution would be for the developers to fix the source code.

triplus

2015-05-03 21:03

developer   ~0006119

Well i see two issues here.

1.) There is a good chance freecad-doc will not be installed by default. FreeCAD should therefore inform the user of that fact. As there is a good chance Qt Assistant won't be installed by default we can't use Qt Assistant itself to inform the user with for example simple one page documentation file available by default. Therefore triggering Help should do something useful if Qt Assistant is not available. Like opening a pop-up and saying Documentation is not provided by default and has to be installed manually.

2.) Mentioned freecad-doc location issue. Probably on Linux it makes sense to have a list of places to check for help files and add different ones if users from different distributions report issues. For Ubuntu PPA we could add symbolic links. I did some tests and two symbolic links needs to be provided to make it work and to start:


mkdir /usr/lib/freecad/doc
ln -s /usr/share/doc/freecad-doc/freecad.qhc /usr/lib/freecad/doc/
ln -s /usr/share/doc/freecad-doc/freecad.qch /usr/lib/freecad/doc/

Anyway if i can provide additional assistance no problem. As for solution will let the devs decide how and what to fix regarding this bug report.

normandc

2015-05-03 23:05

manager   ~0006122

triplus, I already posted the link to the workaround, only the first symlink which I posted already is required to fix the problem, why must you confuse things by duplicating replies???

Your point #1 is valid.

triplus

2015-05-03 23:46

developer   ~0006123

Yes i see your point. Well i apologize as i overlooked your solution. I was focused on determining what Qt Assistant tries to find and as i knew it was freecad.qhc file i focused on that file and didn't looked much elsewhere. Indeed i could predict solution is already available as non working Help is easy to notice by users. I somehow overlooked you providing solution and have seen and focused on you mentioning if we should add symbolic link for PPA. I immediately tried what would needed to be done instead of looking elsewhere.

Looking at your solution indeed on PPA it makes more sense to just create symbolic link for the whole directory as everything needed is in it opposed to focusing on individual needed files.

For Ubuntu PPA i would say go ahead and do it as it makes sense. For other distributions i suspect FreeCAD will have to do some guessing anyway.

Additional note: If something like pop-up would be implemented explaining Documentation is not provided by default and has to be installed manually. That pop-up should be used by What's This? (Shift + F1) too as ATM this option does nothing until working documentation is available.

yorik

2015-05-07 21:04

administrator   ~0006128

About problem #1, in src/Gui/Assistant.cpp Assistant::startAssistant() should check if the help file exists before trying to load it, and give a better message if not. I think I can fix that...

Related Changesets

FreeCAD: master dd78ad7e

2015-05-07 23:17:35

yorik

Details Diff
Better message if qt help file is not found - fixes 0002084 Affected Issues
0002084
mod - src/Gui/Assistant.cpp Diff File

Issue History

Date Modified Username Field Change
2015-05-02 19:43 andrewdud89 New Issue
2015-05-02 19:43 andrewdud89 File Added: 5.png
2015-05-02 19:44 andrewdud89 File Added: 4.png
2015-05-02 21:10 triplus Note Added: 0006109
2015-05-02 22:13 triplus Note Added: 0006110
2015-05-02 22:14 triplus Note Edited: 0006110
2015-05-03 15:51 triplus Note Added: 0006115
2015-05-03 19:39 normandc Note Added: 0006116
2015-05-03 21:03 triplus Note Added: 0006119
2015-05-03 23:05 normandc Note Added: 0006122
2015-05-03 23:46 triplus Note Added: 0006123
2015-05-07 21:04 yorik Note Added: 0006128
2015-05-07 21:21 yorik Changeset attached => FreeCAD Master master dd78ad7e
2015-05-07 21:21 yorik Assigned To => yorik
2015-05-07 21:21 yorik Status new => closed
2015-05-07 21:21 yorik Resolution open => fixed
2015-12-15 13:18 yorik Fixed in Version => 0.16