Install Okular breaks cairo-dock

Hi all,

I had installed FreeBSD 10.2 (well I have) with cairo-dock and It was working very well until I installed "okular".
The instalation was OK, it was installed without problems and works fine, but after that cairo-dock stopped to work.

Now, when I run cairo-dock it starts but when I move the mouse over it I see an error and it's closed:
Code:
/usr/local/lib/libgtk-3.so.0: Undefined symbol "g_param_spec_get_name_quark"

Any ideas? suggestions?
 
Last edited by a moderator:
Hi all,

Well, I fix the problem in an ugly way (from my point of view). When I installed okular, it updated a lot of packages and also it updated libgtk from 3.16 to 3.18 (I guess).
I found that:
Code:
/usr/local/lib/libgtk-3.so.0 -> /usr/local/lib/libgtk-3.so.0.1800.8

fortunatelly, I have installed a laptop with the same distribution, I could see that in that distribution the symlink is:
Code:
/usr/local/lib/libgtk-3.so.0 -> /usr/local/lib/libgtk-3.so.0.1600.7

So, I copied that file to my computer and changed the symlink.... and voila!! cairo-dock works again... and also I tested some of the other packages that where updated (like LibreOffice) and all of them seems to work fine... so hopefully this will continue without surprises.
 
The proper solution is to rebuild everything that depends on libgtk so they're linked to the correct library versions.
 
Why deskutils/cairo-dock? :) Try x11-wm/plank,
it is much more lightweight, faster and nicer IMO.
Снимок экрана от 2016-05-10 15-58-58.png

Here is some plank themes, extract it to ~/.local/share/plank/themes .
 

Attachments

  • themes.zip
    43.8 KB · Views: 105
Hi SirDice,

Thanks by your comment, as you said that sounds to be the best solution, anyway I haven't had good experiences making big updates (sure they are based in my poor experience).

So, I have two questions for you:
1) could you recommend me good way to do it? do you have any link/tutorial to read? (and if it's possible to have a way to do rollback in the case that something fail).

Now, in the case that I won't update all the things that depends on libgtk, and if I put the focus only to cairo-dock, I could go to port and run "make install", but my question is (maybe a stupid question):
2) If the new lib version is 3.18, but cairo-dock points to the same file libgtk-3.so.0, and cairo tries to find an undefined symbol (in the new version), what will be the result of rebuild?, the file will change? maybe only cairo-dock needs the old version so should it point to the old lib version?

Thanks!!
 
Hi ILUXA,

Well, there is no specific reason. I've tested (very quickly) around 3 or 4 different "dockers", and winner was cairo... basically because it was easy to configure and easily it looked like as I wanted. But really there isn't great reason to choose cairo.

Thanks
 
So, I have two questions for you:
1) could you recommend me good way to do it? do you have any link/tutorial to read? (and if it's possible to have a way to do rollback in the case that something fail).
I recommend using something like ports-mgmt/synth or ports-mgmt/poudriere to build your own packages.

2) If the new lib version is 3.18, but cairo-dock points to the same file libgtk-3.so.0,
It's not the same file. It's a symlink that points to a specific version.

and cairo tries to find an undefined symbol (in the new version), what will be the result of rebuild?, the file will change?
No, cairo-dock will change, it's going to be linked against the correct version, not the missing one.

maybe only cairo-dock needs the old version so should it point to the old lib version?
No, it needs to be (re)linked against the new library.
 
Back
Top