• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Schon mal gtk+ unter openSusSE compilliert bekommen ?

Knappe

Hacker
Hallo,

versuche seit mehreren Tagen (inzwischen verzweifelt) das Paket GTK+ von >>> hier <<<

inkl. aller Abhaengigkeiten nach der Beschreibung von >>>hier <<< zu installieren.

Alle benoetigten Libraries etc. sind (hoffentlich) installiert, aber GTK+ selbst "will" nicht.

Bei dieser Config
Code:
to_dir='/test/umgebung'

# processor flag
myprojectp_CFLAGS='-march=opteron -O3 -pipe -v'

make distclean

export PKG_CONFIG_PATH=$to_dir/lib/pkgconfig

env LD_RUN_PATH="$to_dir/lib" LD_LIBRARY_PATH="$to_dir/lib" CXX="gcc" CFLAGS="$myprojectp_CFLAGS -I$to_dir/include/glib-2.0 -I$to_dir/include/cairo -I$to_dir/include/freetype2 -I$to_dir/include/fontconfig -I$to_dir/include/libpng12 -I$to_dir/include -L$to_dir/lib  -lfontconfig -lXrender -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lz -lexpat -L$to_dir/lib/libfontconfig.so -L$to_dir/lib/libfreetype.so  -L$to_dir/lib/libXrender.so -L$to_dir/lib/libglib-2.0.so -L$to_dir/lib/libgobject-2.0.so  -L/opt/gnome/lib64 -L/usr/lib64" ./configure --prefix=$to_dir --disable-shared --without-libtiff && make && make install && exit 0
exit 1
bekam ich zuletzt folgende Bildschirmausgabe :
...
./.libs/libgtk-x11-2.0.a(gtktogglebutton.o): In function `gtk_toggle_button_clicked':
gtktogglebutton.c:(.text+0x106f): undefined reference to `g_once_init_enter_impl'
gtktogglebutton.c:(.text+0x10be): undefined reference to `g_once_init_leave'
oder auch
...
../gdk-pixbuf/.libs/libgdk_pixbuf-2.0.a(gdk-pixbuf-loader.o): In function `gdk_pixbuf_loader_new_with_type':
gdk-pixbuf-loader.c:(.text+0xfe5): undefined reference to `g_once_init_enter_impl'
gdk-pixbuf-loader.c:(.text+0x102a): undefined reference to `g_once_init_leave'
aber auch
...
gdk-pixbuf-scaled-anim.c:(.text+0x5a1): undefined reference to `g_once_init_enter_impl'
gdk-pixbuf-scaled-anim.c:(.text+0x5ec): undefined reference to `g_once_init_leave'
/xampp_devel/lampp/lib/libpango-1.0.so: undefined reference to `g_unichar_get_script'
Gibt aber leider noch viel mehr :(

Ich bekomme einfach nicht raus, welche Bibliotheken wohl noch zusaetzlich benoetigt werden und/oder liegt es evtl. noch an anderen Einstellungen ?


P.S. Muss die Sourcen alle selbst compilieren, um nicht die Distri-Files von SuSE benutzen zu muessen (eigenes Projekt) !
 

whois

Ultimate Guru
Hi

Warum machst du es dir unötig schwer?
Benutz einen Paketmanager, wie das geht steht hier.

http://wiki.linux-club.de/Paketmanager

Danach ziehst du dir aus einem Repo wie dem hier
Webpin

GTK und erfüllst so nebenbei gleich alle Abhängigkeiten.

Das ist der bessere und schnellere Weg sich das zu installieren. :wink:

cu
 

Gimpel

Guru
Knappe schrieb:
P.S. Muss die Sourcen alle selbst compilieren, um nicht die Distri-Files von SuSE benutzen zu muessen (eigenes Projekt) !

:shock: Wasn das für ein "Projekt"? b0rkMySuSE?

Da müsstest du ja schon bei der glibc anfangen :p
 
OP
K

Knappe

Hacker
@ Gimpel,

Da müsstest du ja schon bei der glibc anfangen

Nicht ganz richtig : ich musste bisher
Code:
gtkmm-2.12.1.tar.gz              
   pango-1.18.3.tar.gz            
   cairo-1.4.10.tar.gz            
   cairomm-1.4.4.tar.gz           
   xproto-7.0.11.tar.bz2          
   gtk+-2.12.1.tar.bz2           
   gtk+-2.10.14.tar.gz            
     tiff-3.7.4.tar.gz            
     xrender-0.8.3.tar.gz         
    libXrender-0.9.4              
      renderproto-0.9.2.tar.bz2   
    fontconfig-2.3.2.tar.gz       
       freetype-2.1.10.tar.bz2    
       expat-2.0.0.tar.gz         
 glibmm-2.14.1.tar.gz             
   libsigc++-2.1.1.tar.gz         
   glib-2.14.1.tar.gz             
   gob2-2.0.14.tar.gz             
   lua-5.1.2.tar.gz               
   pkg-config-0.22.tar.gz         
 atk-1.20.0.tar.gz
downloaden, anpassen und compilieren.

Bis auf GTK+ (und natuerlich gtkmm) hat alles geklappt ! Aber nun habe ich halt das o.g. Problem :evil:


@whois,

danke fuer den/die Tipp/s. Aber die jeweiligen Zielverzeichnisse(von mir neu zu verwendenden) sind grundverschieden von denen die openSuSE verwendet.

Daher
Code:
# rpm -ivh gtk2-2.10.11-9.2.src.rpm --prefix /test/umgebung
   1:gtk2                   ########################################### [100%]
# rpm -e gtk2-2.10.11-9.2.src.rpm
error: package gtk2-2.10.11-9.2.src.rpm is not installed
klappt auch nicht :?:

Auch nicht
Code:
# rpm -ivh  --prefix /test/umgebung gtk2-2.10.11-9.2.src.rpm
:twisted:

Also o.g. RPM (gtk2-2.10.11-9.2.src.rpm) einfach mit rpm -ivh installiert und dann aus dem "/usr/src/packages/SOURCES" die entsprechenden Dateien in ein separates Verzeichnis kopiert.

Die im o.g. rpm enhaltene Datei
Code:
gtk+-2.10.11.tar.bz2
in ein Verzeichnis entpackt und dann
einfach ein
Code:
configure --prefix=/test/umgebung
ausgefuehrt.

Jetzt kamen gleich (die mir schon bekannten) Fehlermeldungen :
...
checking pkg-config is at least version 0.7... yes
checking for GLIB - version >= 2.12.0...
*** 'pkg-config --modversion glib-2.0' returned 2.14.1, but GLIB (2.12.4)
*** was found! If pkg-config was correct, then it is best
*** to remove the old version of GLib. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
*** /etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH
*** to point to the correct configuration files
no
configure: error:
*** GLIB 2.12.0 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.

Super ...

... also mein eigenes Script (siehe oben) fuer die original SuSE-Sourcen benutzt, da dort die PATH-,LD_LIBRARY_PATH etc. -Angaben korrekt eingestellt sind :
GNU C version 4.1.2 20061115 (prerelease) (SUSE Linux) (x86_64-suse-linux)
compiled by GNU C version 4.1.2 20061115 (prerelease) (SUSE Linux).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU assembler version 2.17.50.0.5 (x86_64-suse-linux) using BFD version 2.17.50.0.5 20060927 (SUSE Linux)
Compiler executable checksum: 8b4fcf258036cbfdd15421c708a78d09
gtkiconfactory.c:2671: error: conflicting types for 'g_hash_table_get_keys'
/test/umgebung/include/glib-2.0/glib/ghash.h:81: error: previous declaration of 'g_hash_table_get_keys' was here
make[4]: *** [gtkiconfactory.lo] Fehler 1
make[4]: Leaving directory `/download/test-sourcen/openSuSE/gtk+-2.10.11/gtk'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/download/test-sourcen/openSuSE/gtk+-2.10.11/gtk'
make[2]: *** [all] Fehler 2
make[2]: Leaving directory `/download/test-sourcen/openSuSE/gtk+-2.10.11/gtk'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/download/test-sourcen/openSuSE/gtk+-2.10.11'

Also so wird das auch mit SuSE-RPM's nichts ....

In dem o.g. rpm sind aber auch noch einige patch-files. Wahrscheinlich muessen die irgendwie eingespielt werden :?:

Da aber
Code:
rpm -ivh  my.file.as.a.rpm --prefix /test/umgebung
nicht funktionieren will, weiss ich nicht wie das korrekt eingespielt werden soll.

Bin fuer weiterfuehrende Tipp's echt dankbar :wink:

P.S. benutze openSuSE 10.2
 
Oben