Difference between pages "Googleearth panaramio fix" and "Kernel Seeds"

(Difference between pages)
m (fix panoramio misspellings-if you don't trash this page, can u fix title? thx)
 
(Created page with "This page is intended to house the new Kernel Seeds page. Here's what Duncan and I think is a good idea: * kernel-seeds.org redirects to this page. * This page has some nice...")
 
Line 1: Line 1:
== Introduction ==
+
This page is intended to house the new Kernel Seeds page.
Since version 7.x of GoogleEarth the panoramio function has been broken.  This is not Funtoo specific, all Linux distributions suffer from it.  It is caused by the bundled qt-libs.  This can be repaired by forcing GoogleEarth to use the native Funtoo qt-libraries.
+
  
== Prerequisites ==
+
Here's what Duncan and I think is a good idea:
You need the following up to date packages installed on your system:
+
* '''media-libs/freeimage'''
+
* '''dev-qt/qtcore'''
+
* '''dev-qt/qtgui'''
+
* '''dev-qt/qtwebkit'''
+
  
== Procedure ==
+
* kernel-seeds.org redirects to this page.
1. If not already installed, install GoogleEarth:
+
* This page has some nice, special graphics on it to differentiate it from the other Funtoo Wiki pages.
 +
* This page begins with a short history of Kernel Seeds, giving credit to Pappy and talking about its role in the Gentoo community.
 +
* Following this, a short introduction to the concepts behind kernel seeds will be written from scratch.
 +
* Existing content will be converted and edited and stored as subpages (ie. Kernel_Seeds/Working_With_Kernel_Seeds)
 +
* The latest .config files (3.9.9 era) will be moved to a git repository to allow community maintenance. The older versions will be archived.
  
 
+
This will allow the pages to be maintained by interested users, and allow good integration with the rest of the Funtoo wiki, while maintaining its distinctiveness with its own look.
<console>
+
##i##echo "=sci-geosciences/googleearth-7.(current version)">>/etc/portage/package.unmask
+
##i##echo "=sci-geosciences/googleearth-7.(current version)">>/etc/portage/package.accept_keywords
+
##i##echo ">=sci-geosciences/googleearth-7.(current version) googleearth">>/etc/portage/package.license
+
##i##emerge -av sci-geosciences/googleearth
+
</console>
+
 
+
 
+
2.  In GoogleEarth's running directory /opt/googleearth, remove the 4 original libQt* libraries and save them in a new directory:
+
 
+
 
+
<console>
+
##i##cd /opt/googleearth
+
##i##mkdir bundled-qtlib
+
##i##mv libQt* bundled-qtlib/
+
</console>
+
 
+
 
+
3.  If you invoke googleearth now, you will get the known error:
+
    ./googleearth-bin: symbol lookup error: ./libbase.so: undefined symbol: _Z34QBasicAtomicInt_fetchAndAddOrderedPVii
+
    The missing function can be generated by creating a file in /opt/googleearth (call it baifaao.cpp) with this content:
+
 
+
 
+
<console>
+
##i##/* /opt/googleearth/baifaao.cpp */
+
##i###include <QtCore/QAtomicInt>
+
##i##extern "C" {
+
##i## int _Z34QBasicAtomicInt_fetchAndAddOrderedPVii(QAtomicInt* a, int b) {
+
##i## return a->fetchAndAddOrdered(b);
+
##i## }
+
##i##}
+
</console>
+
 
+
 
+
4.  Compile it and create the shim library with the following command line:
+
 
+
 
+
<console>
+
##i##gcc -I/usr/include/qt4 -O3 -fPIC --shared baifaao.cpp -o baifaao.so
+
</console>
+
 
+
 
+
5.  In the file googleearth (in the directory /opt/googleearth), add the following line, e.g. before the line starting with LD_LIBRARY_PATH:
+
 
+
 
+
<console>
+
##i##export LD_PRELOAD=/usr/lib64/libfreeimage.so.3:/opt/googleearth/baifaao.so
+
</console>
+
 
+
 
+
 
+
x86 32 bit users should use:
+
 
+
 
+
 
+
<console>
+
##i##export LD_PRELOAD=/usr/lib/libfreeimage.so.3:/opt/googleearth/baifaao.so
+
</console>
+
 
+
 
+
 
+
6.  If the locale bug in the QT libs is not patched it may cause a major coordinate shift if the locale is not en_US.UTF-8.
+
    If it is still present with your locale, add also:
+
 
+
 
+
<console>
+
##i##export LC_NUMERIC=en_US.UTF-8
+
</console>
+
 
+
 
+
7.  At least at this location, panoramio and much of GoogleEarth works only with qtgraphicssystem=native. 
+
    There are a few ways to do this.  One is to permanently choose it:
+
 
+
 
+
<console>
+
##i##eselect qtgraphicssystem set native
+
</console>
+
 
+
 
+
Or if you choose to primarily run another setting with qtgraphicssystem you can use the following approach:
+
 
+
 
+
 
+
<console>
+
##i##cp /usr/share/applications/google-earth.desktop /home/<username>/.local/share/applications
+
##i##cd /home/<username>/.local/share/applications
+
##i##chown <username>: google-earth.desktop
+
</console>
+
 
+
 
+
Now edit google-earth.desktop with your favorite editor, changing the line beginning with "Exec" as follows:
+
 
+
 
+
<console>
+
##i### old line:
+
##i###Exec=/opt/googleearth/googleearth %f
+
##i### new line:
+
##i##Exec=env QT_GRAPHICSSYSTEM=native /opt/googleearth/googleearth %f
+
</console>
+
 
+
 
+
Or I find this works well on nvidia:
+
 
+
 
+
<console>
+
##i##Exec=env XLIB_SKIP_ARGB_VISUALS=1 QT_GRAPHICSSYSTEM=native /opt/googleearth/googleearth %f
+
</console>
+
 
+
 
+
Whew!  Take a breather and enjoy some of those photos from exotic locales :)
+
 
+
 
+
    Much of the content of this page is a derivative of comments on a Gentoo bug on this specific subject.
+
    It can be found at: https://bugs.gentoo.org/show_bug.cgi?id=490066
+

Revision as of 00:06, 10 April 2014

This page is intended to house the new Kernel Seeds page.

Here's what Duncan and I think is a good idea:

  • kernel-seeds.org redirects to this page.
  • This page has some nice, special graphics on it to differentiate it from the other Funtoo Wiki pages.
  • This page begins with a short history of Kernel Seeds, giving credit to Pappy and talking about its role in the Gentoo community.
  • Following this, a short introduction to the concepts behind kernel seeds will be written from scratch.
  • Existing content will be converted and edited and stored as subpages (ie. Kernel_Seeds/Working_With_Kernel_Seeds)
  • The latest .config files (3.9.9 era) will be moved to a git repository to allow community maintenance. The older versions will be archived.

This will allow the pages to be maintained by interested users, and allow good integration with the rest of the Funtoo wiki, while maintaining its distinctiveness with its own look.