I have been trying to compile Gaim on my Apple Powerbook, running OS X 10.4.8, and get the following errors. After a couple of hours of Googling and experimenting, I'm stuck. I tried editing "configure" to force a .dylib suffix instead of .so, but I get the same errors ("libgaimperl.dylib is a module..."). Also I don't know if the _locale_charset problem is actually related to the shared library problem, or if the shared library thing is just a harmless warning.
*** Warning: Linking the shared library perl.la against the
*** static library /System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DynaLoader/DynaLoader.a is not portable!
*** Warning: Linking the shared library perl.la against the loadable module
*** libgaimperl.so is not portable!
** Warning, lib libgaimperl.so is a module, not a shared library
** And there doesn't seem to be a static archive available
** The link will probably fail, sorry
/usr/bin/ld: ./.libs/libgaimperl.so is input for the dynamic link editor, is not relocatable by the static link editor again
/usr/bin/ld: warning multiple definitions of symbol _locale_charset
/sw/lib/libiconv.dylib(localcharset.o) definition of _locale_charset
/sw/lib/libintl.dylib(localcharset.lo) definition of _locale_charset
collect2: ld returned 1 exit status
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
(1) If I use "configure --disable-perl", the compiler gets a lot further, but eventually dies with the error below. I don't know where it's supposed to find gtk_combo_box_get_active_text. It's nowhere to be found in /sw/include/gtk-2.0/, but then it's not in the corresponding /usr/include/gtk-2.0/ directory on my Linux machine either.
(2) I still get warnings about _local_charset, but they do not seem to cause fatal errors. So presumably this was not the cause of the fatal error when compiling with Perl.
I would like to compile with Perl enabled if possible, as I have some plugins to install - so help would still be appreciated with the error in my earlier post.
This error is a gtk+ version error, you can simply disable that plugin (manually) and gaim will build just fine. You might also be able to find the svn commit that fixed it and apply that if you want to instead.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's been built on OSX before. Gaim 1.5 in included in Fink, and Darwinports claims to have a version of 2.0.0beta3, though it has Perl disabled.
I do use Adium on OSX - but I wanted to install Gaim so I can develop and test new plugins without disturbing the running version on my Linux box. Of course I could run two simultaneous copies on Linux, but I couldn't be bothered with installing it in a separate location with a separate .gaim directory, listening on different ports, etc.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks - I upgraded GTK+ to 2.6.10 in Fink, and now it compiles fine with Perl disabled. I am mystified that ./configure didn't complain if my GTK+ was incompatible, though.
Any idea how to fix the libgaimperl.so error (see my first post)? I have Perl 5.8.6 installed.
Matthew.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Configure only looks for GTK+-2.0 at all any version, gaim tries to be compatible (at least sort of) with GTK+ going back to 2.2 if not 2.0. The fact that xmppconsole didn't build correctly with older versions was a mistake, when it was discovered the correct steps were taken to only use that function on version of GTK+ that have it.
As to the perl error, no offhand I don't have any ideas, but I haven't looked at it carefully yet.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm having the same problem with CentOS 4.4 and gtk 2.4.13:
gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -g -O2 -MT xmppconsole.lo -MD -MP -MF ".deps/xmppconsole.Tpo" -c -o xmppconsole.lo xmppconsole.c; \
then mv -f ".deps/xmppconsole.Tpo" ".deps/xmppconsole.Plo"; else rm -f ".deps/xmppconsole.Tpo"; exit 1; fi
xmppconsole.c: In function `iq_clicked_cb':
xmppconsole.c:319: error: implicit declaration of function `gtk_combo_box_get_active_text'
xmppconsole.c:319: warning: nested extern declaration of `gtk_combo_box_get_active_text'
xmppconsole.c:319: warning: format argument is not a pointer (arg 6)
xmppconsole.c: In function `presence_clicked_cb':
xmppconsole.c:440: warning: nested extern declaration of `gtk_combo_box_get_active_text'
xmppconsole.c:440: warning: assignment makes pointer from integer without a cast
xmppconsole.c:443: warning: assignment makes pointer from integer without a cast
xmppconsole.c: In function `message_clicked_cb':
xmppconsole.c:599: warning: nested extern declaration of `gtk_combo_box_get_active_text'
xmppconsole.c:611: warning: format argument is not a pointer (arg 6)
xmppconsole.c: In function `dropdown_changed_cb':
xmppconsole.c:715: warning: nested extern declaration of `gtk_combo_box_get_active_text'
xmppconsole.c:716: warning: passing arg 1 of `gaim_accounts_find' makes pointer from integer without a cast
make[4]: *** [xmppconsole.lo] Error 1
make[4]: Leaving directory `/usr/src/redhat/BUILD/gaim-2.0.0beta6/gtk/plugins'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/src/redhat/BUILD/gaim-2.0.0beta6/gtk/plugins'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/redhat/BUILD/gaim-2.0.0beta6/gtk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/redhat/BUILD/gaim-2.0.0beta6'
make: *** [all] Error 2
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Like I've said twice in this thread already, it was an issue with the xmppconsole.c file as shipped with the beta, comment the file out of the Makefile or grab the fix patch from svn (not svn itself, just the patch) and things will work fine. The plugin is entirely optional and most people will never use it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is what I did, and the compiler seems to ignore my command:
./configure --prefix=$HOME --disable-screensaver --disable-dbus --disable-libtool-lock --disable-sm --disable-gtkspell --disable-gevolution --disable-gstreamer --disable-doxygen --disable-libgadu --disable-slic --disable-slicclient --disable-meanwhile --disable-howl --disable-avahi-compt-howl --disable-consoleui --disable-xmppconsole
I managed to disable dbus like that, but certain things, like slicclient, meanwhile, are still being compiled.
Just curious, I checked out the latest version of xmppconsole.c from svn. it still doesn't compile even though the svn log said the version after late january fixed this compiling xmppconsole.c on gtk/2.0 issue.
What did I do wrong?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What I did was comment out something in this section of the makefile
xmppconsole.cplugin_LTLIBRARIES = \
convcolors.la \
extplacement.la \
gaimrc.la \
history.la \
iconaway.la \
markerline.la \
notify.la \
relnot.la \
spellchk.la \
timestamp.la \
timestamp_format.la #\
# xmppconsole.la
and compile went through.
I don't know much about makefiles, so... is this even the right way to do this?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have been trying to compile Gaim on my Apple Powerbook, running OS X 10.4.8, and get the following errors. After a couple of hours of Googling and experimenting, I'm stuck. I tried editing "configure" to force a .dylib suffix instead of .so, but I get the same errors ("libgaimperl.dylib is a module..."). Also I don't know if the _locale_charset problem is actually related to the shared library problem, or if the shared library thing is just a harmless warning.
Matthew.
--------
/bin/sh ../../../libtool --silent --tag=CC --mode=link gcc -g -g -O2 -L/sw/lib -o perl.la -rpath /usr/local/lib/gaim -module -avoid-version perl.lo perl-common.lo perl-handlers.lo -L/sw/lib -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv -L/usr/local/lib /System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DynaLoader/DynaLoader.a -L/System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE -lperl -ldl -lm -lc libgaimperl.la -lresolv -framework IOKit -framework CoreFoundation
*** Warning: Linking the shared library perl.la against the
*** static library /System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/DynaLoader/DynaLoader.a is not portable!
*** Warning: Linking the shared library perl.la against the loadable module
*** libgaimperl.so is not portable!
** Warning, lib libgaimperl.so is a module, not a shared library
** And there doesn't seem to be a static archive available
** The link will probably fail, sorry
/usr/bin/ld: ./.libs/libgaimperl.so is input for the dynamic link editor, is not relocatable by the static link editor again
/usr/bin/ld: warning multiple definitions of symbol _locale_charset
/sw/lib/libiconv.dylib(localcharset.o) definition of _locale_charset
/sw/lib/libintl.dylib(localcharset.lo) definition of _locale_charset
collect2: ld returned 1 exit status
Two things to add to my earlier post:
(1) If I use "configure --disable-perl", the compiler gets a lot further, but eventually dies with the error below. I don't know where it's supposed to find gtk_combo_box_get_active_text. It's nowhere to be found in /sw/include/gtk-2.0/, but then it's not in the corresponding /usr/include/gtk-2.0/ directory on my Linux machine either.
(2) I still get warnings about _local_charset, but they do not seem to cause fatal errors. So presumably this was not the cause of the fatal error when compiling with Perl.
I would like to compile with Perl enabled if possible, as I have some plugins to install - so help would still be appreciated with the error in my earlier post.
Matthew.
------------
if /bin/sh ../../libtool --silent --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. -DDATADIR=\"/usr/local/share\" -DVERSION=\"2.0.0beta6\" -I../../src -I../../libgaim -I../../gtk -Wall -Waggregate-return -Wcast-align -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wextra -Wno-sign-compare -Wno-unused-parameter -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef -I/sw/include/gtk-2.0 -I/sw/lib/gtk-2.0/include -I/usr/X11R6/include -I/sw/include/atk-1.0 -I/sw/include/pango-1.0 -I/usr/X11R6/include/freetype2 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include -g -g -O2 -MT xmppconsole.lo -MD -MP -MF ".deps/xmppconsole.Tpo" -c -o xmppconsole.lo xmppconsole.c; \
then mv -f ".deps/xmppconsole.Tpo" ".deps/xmppconsole.Plo"; else rm -f ".deps/xmppconsole.Tpo"; exit 1; fi
xmppconsole.c: In function 'iq_clicked_cb':
xmppconsole.c:319: error: implicit declaration of function 'gtk_combo_box_get_active_text'
This error is a gtk+ version error, you can simply disable that plugin (manually) and gaim will build just fine. You might also be able to find the svn commit that fixed it and apply that if you want to instead.
I don't think you can build gaim on OSX. Why not use Adium?
It's been built on OSX before. Gaim 1.5 in included in Fink, and Darwinports claims to have a version of 2.0.0beta3, though it has Perl disabled.
I do use Adium on OSX - but I wanted to install Gaim so I can develop and test new plugins without disturbing the running version on my Linux box. Of course I could run two simultaneous copies on Linux, but I couldn't be bothered with installing it in a separate location with a separate .gaim directory, listening on different ports, etc.
Thanks - I upgraded GTK+ to 2.6.10 in Fink, and now it compiles fine with Perl disabled. I am mystified that ./configure didn't complain if my GTK+ was incompatible, though.
Any idea how to fix the libgaimperl.so error (see my first post)? I have Perl 5.8.6 installed.
Matthew.
Configure only looks for GTK+-2.0 at all any version, gaim tries to be compatible (at least sort of) with GTK+ going back to 2.2 if not 2.0. The fact that xmppconsole didn't build correctly with older versions was a mistake, when it was discovered the correct steps were taken to only use that function on version of GTK+ that have it.
As to the perl error, no offhand I don't have any ideas, but I haven't looked at it carefully yet.
I'm having the same problem with CentOS 4.4 and gtk 2.4.13:
gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -g -O2 -MT xmppconsole.lo -MD -MP -MF ".deps/xmppconsole.Tpo" -c -o xmppconsole.lo xmppconsole.c; \
then mv -f ".deps/xmppconsole.Tpo" ".deps/xmppconsole.Plo"; else rm -f ".deps/xmppconsole.Tpo"; exit 1; fi
xmppconsole.c: In function `iq_clicked_cb':
xmppconsole.c:319: error: implicit declaration of function `gtk_combo_box_get_active_text'
xmppconsole.c:319: warning: nested extern declaration of `gtk_combo_box_get_active_text'
xmppconsole.c:319: warning: format argument is not a pointer (arg 6)
xmppconsole.c: In function `presence_clicked_cb':
xmppconsole.c:440: warning: nested extern declaration of `gtk_combo_box_get_active_text'
xmppconsole.c:440: warning: assignment makes pointer from integer without a cast
xmppconsole.c:443: warning: assignment makes pointer from integer without a cast
xmppconsole.c: In function `message_clicked_cb':
xmppconsole.c:599: warning: nested extern declaration of `gtk_combo_box_get_active_text'
xmppconsole.c:611: warning: format argument is not a pointer (arg 6)
xmppconsole.c: In function `dropdown_changed_cb':
xmppconsole.c:715: warning: nested extern declaration of `gtk_combo_box_get_active_text'
xmppconsole.c:716: warning: passing arg 1 of `gaim_accounts_find' makes pointer from integer without a cast
make[4]: *** [xmppconsole.lo] Error 1
make[4]: Leaving directory `/usr/src/redhat/BUILD/gaim-2.0.0beta6/gtk/plugins'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/src/redhat/BUILD/gaim-2.0.0beta6/gtk/plugins'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/redhat/BUILD/gaim-2.0.0beta6/gtk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/redhat/BUILD/gaim-2.0.0beta6'
make: *** [all] Error 2
Like I've said twice in this thread already, it was an issue with the xmppconsole.c file as shipped with the beta, comment the file out of the Makefile or grab the fix patch from svn (not svn itself, just the patch) and things will work fine. The plugin is entirely optional and most people will never use it.
very stupid question
how to disable certain plugins and/or protocols?
This is what I did, and the compiler seems to ignore my command:
./configure --prefix=$HOME --disable-screensaver --disable-dbus --disable-libtool-lock --disable-sm --disable-gtkspell --disable-gevolution --disable-gstreamer --disable-doxygen --disable-libgadu --disable-slic --disable-slicclient --disable-meanwhile --disable-howl --disable-avahi-compt-howl --disable-consoleui --disable-xmppconsole
I managed to disable dbus like that, but certain things, like slicclient, meanwhile, are still being compiled.
Just curious, I checked out the latest version of xmppconsole.c from svn. it still doesn't compile even though the svn log said the version after late january fixed this compiling xmppconsole.c on gtk/2.0 issue.
What did I do wrong?
ok ok ok
What I did was comment out something in this section of the makefile
xmppconsole.cplugin_LTLIBRARIES = \
convcolors.la \
extplacement.la \
gaimrc.la \
history.la \
iconaway.la \
markerline.la \
notify.la \
relnot.la \
spellchk.la \
timestamp.la \
timestamp_format.la #\
# xmppconsole.la
and compile went through.
I don't know much about makefiles, so... is this even the right way to do this?