sonnenblen.de - Das unabhängige Sun User Forum
Betriebssysteme => Solaris => Thema gestartet von: Freud-Schiller am 25. Juni 2003, 17:41:28
-
hi ich moechte einige programme uebersetzen, die brauchen glib 2.2.2 und atk... und damit ich atk uebersetzen kann muss ich glib 2.2.2 installieren. hab ich, doch irgendwie gibts da probleme mit meinem glib 1.2.10... wie kann ich das deinstallieren? es gibt kein "man pkgrm"....
checking for GLIB - version >= 2.0.0... no
*** GLIB 2.0.0 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/.
fuer hilfe waere ich sehr dankbar :)
-
glib 1.x und glib 2.x coexistieren ganz gut - zumindest bei mir unter Solairs 9
Es sollte nicht nötig sein glib 1.x zu deinstallieren vor allem da viele Programme die Du wahrscheinlich installiert hat glib 1.x brauchen und mit 2.x als Ersatz herzlich wenig anfangen können.
-
wieso kommt dann folgende meldung ?
checking for pkg-config... (cached) /usr/local/bin/pkg-config
checking for GLIB - version >= 2.1.3... no
*** Could not run GLIB test program, checking why...
*** The test program compiled, but did not run. This usually means
*** that the run-time linker is not finding GLIB or finding the wrong
*** version of GLIB. If it is not finding GLIB, you'll need to set your
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed location Also, make sure you have run ldconfig if that
*** is required on your system
***
*** If you have an old version installed, it is best to remove it, although
*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
configure: error:
*** Glib 2.1.3 or better is required. The latest version of
*** Glib is always available from ftp://ftp.gtk.org/.
gruss david
-
weil glib2.x nicht installiert ist?!
(bzw wenn falsch gelinkt)
...installiere einfach glib2 parallel zu glib1.x - ich weiss nicht von was für einem OS wir reden aber bei 90% der OS solltest Du ein prekompiled glib2.x bekommen
-
hey,
guck mal nach was in der configure.log steht (hilft nur wenn glib 2.x schon installiert ist in den fall weiter :))
Gruss,
chris
-
natuerlich hab ich glib 2 installiert(source uebersetzt, und mit make install installiert)
hier nen auszug aus meiner config.log
@ Smellycat : wo bekomme ich dann das package fuer solaris 9 ?
int
| main ()
| {
| int major, minor, micro;
| char *tmp_version;
|
| system ("touch conf.glibtest");
|
| /* HP/UX 9 (%@#!) writes to sscanf strings */
| tmp_version = g_strdup("2.0.0");
| if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
| printf("%s, bad version string\n", "2.0.0");
| exit(1);
| }
|
| if ((glib_major_version != 2) ||
| (glib_minor_version != 2) ||
| (glib_micro_version != 2))
| {
| printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
| 2, 2, 2,
| glib_major_version, glib_minor_version, glib_micro_version);
| printf ("*** was found! If pkg-config was correct, then it is best\n");
| printf ("*** to remove the old version of GLib. You may also be able to fix the error\n");
| printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
| printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
| printf("*** required on your system.\n");
| printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
| printf("*** to point to the correct configuration files\n");
| }
| else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
| (glib_minor_version != GLIB_MINOR_VERSION) ||
| (glib_micro_version != GLIB_MICRO_VERSION))
| {
| printf("*** GLIB header files (version %d.%d.%d) do not match\n",
| GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
| printf("*** library (version %d.%d.%d)\n",
| glib_major_version, glib_minor_version, glib_micro_version);
| }
| else
| {
| if ((glib_major_version > major) ||
| ((glib_major_version == major) && (glib_minor_version > minor)) ||
| ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
| {
| return 0;
| }
| else
| {
| printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
| glib_major_version, glib_minor_version, glib_micro_version);
| printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
| major, minor, micro);
| printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
| printf("***\n");
| printf("*** If you have already installed a sufficiently new version, this error\n");
| printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
| printf("*** being found. The easiest way to fix this is to remove the old version\n");
| printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n");
| printf("*** correct copy of pkg-config. (In this case, you will have to\n");
| printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
| printf("*** so that the correct libraries are found at run-time))\n");
| }
| }
| return 1;
| }
|
configure:9742: result: no
configure:9776: gcc -o conftest -g -O2 -Wall -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include conftest.c -L/usr/local/lib -lgobject-2.0 -l
gmodule-2.0 -ldl -lglib-2.0 >&5
configure:9779: $? = 0
configure:9782: test -s conftest
configure:9785: $? = 0
configure:9815: error:
*** GLIB 2.0.0 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/.
-
weil glib2.x nicht installiert ist?!
(bzw wenn falsch gelinkt)
...installiere einfach glib2 parallel zu glib1.x - ich weiss nicht von was für einem OS wir reden aber bei 90% der OS solltest Du ein prekompiled glib2.x bekommen
@ Smellycat da ich unter solaris poste ist wohl anzunehmen, daß ich auch mit einem arbeite, nun stellt sich die frage welches.... um halbwegs aktuell zusein muß man schon 8 oder 9 haben, also suche ich glib2.x prekompiled für solaris 8 oder 9
-
...man weiss nie.
Ich habe es mal gebaut - keine Garantie dafür den eine Preset von glib2 nervte mich damals ganz schön (pkgconfig). Entsinne ich mich aber recht war ich in der Lage was gegen mein Pkg zu kompilieren (das Programm lief am Ende auch *g*). Ich kann natürlich auch nicht versprechen dass Du alle Dependencies dafür erfüllt hast da auf meinem System ziemlich viel drauf ist und ich so nicht merke was für das Programm nötig ist es sei denn es wird ausdrücklich angegeben.
Die normalen (angegeben Dependencies sind)
- gettext
- libiconv
- pkgconfig
Gerade das Bauen von gettext kann extrem nervig sein da es nicht so ganz mit dem SUN eigenen Package (das zu alt ist - wie könnte es anders sein) coexistiert.
Was mich bei meinem Packet etwas irritiert ist dass es so klein geworden ist... aber egal, probiere Dein Glück:
http://www.smellycat.net/sun.html
PS: Was für Programme willst Du übersetzen? - Nicht dass ich vorhabe für Dich die Packages zu bauen (habe mehr als genug Arbeit ;) ) nur mich würde interessieren ob ein configure mein glib2 annimmt.
-
thx Smellycat...
ich werdes heute nacht testen....
ich will gaim und xchat bauen, glaube aber nur gaim braucht glib2
-
x-chat braucht IMO auf glib2 bin aber unsicher... egal.
Nun - vorerst exclusiv für Sonnenblen.de ;) - noch nicht offiziel verlinkt und frei gegeben: glib2.2.2 ca 1,4 MB, Sol 9/SPARC
Noch beta, ich habe es bis jetzt noch nicht getestet also unter Vorbehalt:
http://www.smellycat.de/sun/glib-2.2.2-Solaris9-sparc.bz2
(linksklick -> Ziel speichern unter)
-
Dumm di dumm di dumm und trallala ;D
Ihr wusstet es doch alle ich bin perfekt (Kommntare bitte persönlich an mich ;D )
Gaim ("A GTK2-based instant messaging client") rennt durch und nutzt mein gerade erstelltes glib Pkg wie es scheint
--
gaim 0.64
Allow Multiple Connections.... : yes
Build Protocol Plugins........ : yes
Protocols to link statically.. :
UI Library.................... : GTK 2.x
Build with Plugin support..... : yes
Build with Perl support....... : yes
Build with Audio support...... : yes
Build with NAS support........ : no
Build with GtkSpell support... : no
Use XScreenSaver Extension.... : yes
Use X Session Management...... : yes
Print debugging messages...... : no
Gaim will be installed in /usr/local/bin.
--
...sind aber wie ich sehe noch mehr Dependencies vorhanden, u. a. diverse Grafiklibraries - just like everey time: Erst Companion CD installieren dann loslegen ;)
(10 Minuten später)
Ich weiss zwar nich so ganz was ich mit Gaim anstellen soll (was das ist ist mir klar... brauche es nur nicht) aber er rennt.
Jetzt noch mal die ganze Prozedur durchrennen lassen und ich habe ein Sol 9 Pkg von Gaim.
Wenn ich soweit bin schreie ich...
vorerst bye
Mats
-
wundert mich dass es so gross wurde - ca 7 MB (?!) aber egal (ich hoffe da ist nix mit reingekommen das nicht reingehört...)
http://www.smellycat.de/sun/gaim-0.64-Solaris9-sparc.bz2
...und nein, ich baue keine Pakete auf Bestellung das war nur eine nette Möglichkeit zum überprüfen ob mein glib2 Pkg auch funktioniert. Den Rest (XChat z. B.) bitte selber machen... wir wollen ja dass Du was lernst *g*
bye
Mats
-
@ Smellycat : ich koennte jetzt einfach Dein package installieren und waere wohl meine probs los, dochj fuer wie lange? ich muss das selbst nachvollziehen, wie das geht, wo das problem war...
deshalb noch mal meine genaue fehlermeldung, faellt Dir dazu nix weiters ein? ich koennte mir denken, dass es vielleicht an pkg-config liegt...
das hab ich naemlich vor dem glib 2 installiert...
*** Could not run GLIB test program, checking why...
*** The test program compiled, but did not run. This usually means
*** that the run-time linker is not finding GLIB or finding the wrong
*** version of GLIB. If it is not finding GLIB, you'll need to set your
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed location Also, make sure you have run ldconfig if that
*** is required on your system
***
*** If you have an old version installed, it is best to remove it, although
*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
configure: error:
*** GLIB 2.0.0 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/.
-
Hey,
jetzt bist du scheinbar shcon weiter gekommen, nun findet er die richtigen libs, nur scheinbar findet er beim ausfuehren die Libs nicht. Genaueres sagt jetzt - wie immer - die configure.log aus.
Sollte es wirklich daran lieben kannst du entweder mit LD_LIBRARY_PATH die Lib Pathde setzen, oder mit crle. Crle ist dabei zu bevorzugen. Wie das geht, das erfahrst du aus der man page von crle.
Gruesse,
chris
-
ahh Lordy ich kuess Dir die fuesse ;) es geht, also fast ;) ;)
das alte problem mit gnome-config
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK+ is incorrectly installed.
configure: error:
*** GTK+ 2.0 is required to build Gaim; please make sure you have the GTK+
*** development headers installed. The latest version of GTK+ is
*** always available at http://www.gtk.org/.
gtk ist installiert, doch gnome-config ist nicht da, also was machen?
VIELEN DANK !!!! david
-
Hey,
also gnome-config ist eigendlich nur bei gnome-1.4/gtk-1.4. Vielleicht ist es das.
Was sagt den die config.log/configure.log?
Gruesse,
chris
-
Hi Lordy!
Einspruch: LD_LIBRARY_PATH ist böse. crle ist aber auch böse. Beides sollte man vermeiden wo immer es geht. Viiiel besser ist es, sich ein DIrectory auszusuchen, in das man immer seine shlibs reinstopft. Bei mir ist es z.B /opt/local/lib, mit einem symlink von /usr/local nach /opt/local.
Und dann muß man nur noch bei jedem, aber auch jedem Link-Vorgang ein -R /opt/local/lib angeben. Wenn man dann Binaries in Packages mit Depends auf Library-Packages, die ihrerseits in /opt/local/lib liegen, verteilt, geht es immer.
LD_LIBRARY_PATH gibt irgendwann Chaos, crle vergißt man, oder es wird totgepatcht, wenn man grad im Urlaub ist usw usw.
Gruß -- Volker
-
Ok, wir bewegen uns jetzt zwar sehr stark auf den Offtopic rand, aber egal.
Ich finde Crle nicht boese, begruendung: Crle ist System weit, nicht wie LD_L. bei der wenn einmal nicht gesetzt nichts mehr gehen.
Tot patchen hab ich noch nicht geschaft, und vergessen auch nicht.
Alles in einen Ordner zu stopfen und den rest verlinken, das ist ein ansatz an den ich noch nicht gedacht habe. Aber ich werde ihn sicher nicht umsetzen, warum? /usr/local/ ist bei mir der Ordner fuer , meisten selbst gebaute, software. Da haeuft sich schnell muehl an, nicht alles was ich installiere wird als pkg gebaut, usw. So loesch ich bei nenn grossen Update einfach mal alle /usr/local pkg, was in ordner uebrigbleibt wird zur kenntnis genommen, dann aber auch vernichtet und die neuen Pkgs werden eingespielt.
Was fuer mich noch gegen einen zentrallen Ordner spricht sind viele Sun Pkgs. Hier ist zB gnome 2.0 wieder in /usr, gewisse andere Freeware aber wieder /opt/sfw... Wenn ich da wirklich alles in einen Ordner haben will habe ich einen wirklich grossen aufwand wenn im vergleich mit der crle Loesung.
Gruesse,
chris
-
also gnome-config ist eigendlich nur bei gnome-1.4/gtk-1.4. Vielleicht ist es das.
ist gtk, kein Gnome - ich habe nur gtk und kein Gnome installiert und es rentn dennoch.
gtk bzw bei configure richtig gelinkt?
-
Ok, wir bewegen uns jetzt zwar sehr stark auf den Offtopic rand, aber egal.
Glaub nicht, daß das hier so sehr stört, aber wir können ja schlimmstenfalls ein neues Thema aufmachen...
ch finde Crle nicht boese, begruendung: Crle ist System weit, nicht wie LD_L. bei der wenn einmal nicht gesetzt nichts mehr gehen.
Tot patchen hab ich noch nicht geschaft, und vergessen auch nicht.
Wenn Du allein an einem System arbeitest, ist das ja auch OK. Ich baue Pakete, die ggf. auch standalone laufen müssen. Mein Job ist es, Installationsverfahren zu entwickeln, die für beliebig viele Systeme automatisch lauffähige Anwendungen installieren. Da beißen solche Änderungen wie clre schon ab und zu.
Und eine Anwendung, die einen gesetzten LD_LIBRARY_PATH zum Funktionieren braucht, fällt unter meine Definition von "kaputt".
Alles in einen Ordner zu stopfen und den rest verlinken, das ist ein ansatz an den ich noch nicht gedacht habe. Aber ich werde ihn sicher nicht umsetzen, warum? /usr/local/ ist bei mir der Ordner fuer , meisten selbst gebaute, software. Da haeuft sich schnell muehl an, nicht alles was ich installiere wird als pkg gebaut, usw. So loesch ich bei nenn grossen Update einfach mal alle /usr/local pkg, was in ordner uebrigbleibt wird zur kenntnis genommen, dann aber auch vernichtet und die neuen Pkgs werden eingespielt.
Alles stopf ich da nicht rein, sondern nur die Sachen, die ich selber baue. Ja, das sind alles Pakete.
Was fuer mich noch gegen einen zentrallen Ordner spricht sind viele Sun Pkgs. Hier ist zB gnome 2.0 wieder in /usr, gewisse andere Freeware aber wieder /opt/sfw... Wenn ich da wirklich alles in einen Ordner haben will habe ich einen wirklich grossen aufwand wenn im vergleich mit der crle Loesung.
Ich glaube, da hast Du mich mist-verstanden. :-) Es geht um die ld-Option -R. Diese bewirkt, daß das binary, das man damit baut, den Pfad zu seinen shared libraries eingebaut hat (wie ein hartkodierter fester LD_LIBRARY_PATH). Das muß ich nur für meine Sachen machen.
Sun macht das "richtig". Beispiel: ldd -s /opt/sfw/bin/gimp liefert:
find object=libgtk-1.2.so.0; required by gimp
search path=/usr/lib:/opt/sfw/lib:/usr/openwin/lib (RPATH from file gimp)
....
Deshalb brauch ich kein /opt/sfw/lib in meinem LD_LIBRARY_PATH, und auch kein symlink. Wenn ich nun selber ein Programm baue, das eine Library aus /opt/sfw/lib verwendet, gebe ich einfach ld -R /opt/sfw/lib:/opt/local/lib an. Schon geht es. Kein globales crle.
Wenn ich das dann paketiere, muß ich natürlich ein depend-File mit einem Verweis auf das SFW...-Paket anlegen, in dem die shlib drin ist.
Gruß -- Volker