SGI: Development

arfing gtk2 - Page 1

I am kinda tired of the Fireflop crashes, thought I'd try a newer gtk2.

gtk+-2.12.12
Code:
checking for GLIB - version >= 2.13.5... no
*** Could not run GLIB 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 GLIB is incorrectly installed.
configure: error:
*** GLIB 2.13.5 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.

Oh goody ...
Code:
urchin 13% versions neko_glib
I = Installed, R = Removed
Name                 Date        Description
I  neko_glib            06/04/2013  glib-2.26.1 - Core libraries for GTK+ and GNOME

Looks like in Fossyland 13 is bigger than 26 ... sigh
Code:
./configure  --disable-glibtest  --prefix=/usr/nekoware

disable glib test, shouldn't check, right ? Not exactly ...
Code:
...
checking for GLIB - version >= 2.13.5... yes (version 2.26.1)
...

wtf ?
Code:
checking Pango flags... -pthread -I/usr/nekoware/include/pango-1.0 -I/usr/nekoware/include/glib-2.0 -I/usr/nekoware/lib/glib-2.0/include -I/usr/nekoware/include/cairo -I/usr/nekoware/include/pixman-1 -I/usr/nekoware/include -I/usr/nekoware/include/freetype2 -I/usr/nekoware/include/libpng12   -pthread -L/usr/nekoware/lib -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
configure: error:
*** Can't link to Pango. Pango is required to build
*** GTK+. For more information see http://www.pango.org

wtf is this with the -pthread ? I didn't put it there, it's not in configure, it's not in any of the related scripts I can find, it just appears out of nowhere and MIPSPro does not like it ...
Code:
configure:33504: checking Pango flags
configure:33510: result: -pthread -I/usr/nekoware/include/pango-1.0 -I/usr/nekoware/include/glib-2.0 -I/usr/nekoware/lib/glib-2.0/include -I/usr/nekoware/include/cairo -I/usr/nekoware/include/pixman-1 -I/usr/nekoware/include -I/usr/nekoware/include/freetype2 -I/usr/nekoware/include/libpng12   -pthread -L/usr/nekoware/lib -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
configure:33559: cc -o conftest -mips4 -O3 -c99  -I/usr/nekoware/include -I/usr/include -pthread -I/usr/nekoware/include/pango-1.0 -I/usr/nekoware/include/glib-2.0 -I/usr/nekoware/lib/glib-2.0/include -I/usr/nekoware/include/cairo -I/usr/nekoware/include/pixman-1 -I/usr/nekoware/include -I/usr/nekoware/include/freetype2 -I/usr/nekoware/include/libpng12   -mips4 -O3 -c99  -I/usr/nekoware/include -I/usr/include  -mips4 -L/usr/nekoware/lib -L/usr/lib32 -Wl,-rpath -Wl,/usr/nekoware/lib conftest.c -pthread -L/usr/nekoware/lib -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl    >&5
cc WARNING:  -p is no longer supported, use speedshop(1) instead
cc ERROR parsing -pthread:  unknown flag
cc WARNING:  -p is no longer supported, use speedshop(1) instead
cc ERROR parsing -pthread:  unknown flag
configure:33566: $? = 2
configure: failed program was:
| /* confdefs.h.  */

but more to the point ....
Code:
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char pango_context_new ();
| int
| main ()
| {
| return pango_context_new ();
|   ;
|   return 0;
| }
configure:33579: error:
*** Can't link to Pango. Pango is required to build
*** GTK+. For more information see http://www.pango.org

Sigh. Okay, let's grab 2.10.4 from nekoware adn see when this occurs ...
Code:
checking for GLIB - version >= 2.12.0... no
*** Could not run GLIB 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 GLIB is incorrectly installed.
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/.

shit
neko_relnotes_gtk+2.10.4 wrote:
CONFIGURE FLAGS

./configure --prefix=/usr/nekoware

KNOWN DEPENDANCIES

atk-1.10.1, cairo-1.0.2, expat-2005-01-28, fontconfig-2.3.2,
freetype2-2.1.10, gettext-0.14.1, glib-2.8.4, glitz-20050806,
libiconv-1.9.2, libjpeg-6b, libpixman-0.1.6, libpng-1.2.8,
libxrender-0.8.4, pango-1.10.1, tiff, zlib,

ERRORS/MISCELLANEOUS

None

PACKAGED BY

Jeremy Meng (voo.foo at someplace dot somehow)
based on 2.8.2 package by

Tobias Paprotta ( [email protected] )
version bump by Pete Plank (nekonoko)

Zoooo .... zomething, zomewhere is rotten in Denmark ?? It built fine for voofoo but not here ? Wei shenma ?

(Yes, I tried with the Dreamer's environment settings as well)

In for a penny, in for a pound ... let's see what happens if we build a newer pango, maaaybe there's some incompatibility, isn't this diegel's gcc pango ?

pango-1.32.6, all good numbers, divisible by 2, yummy ...
Code:
checking for HARFBUZZ... no

absolutely, I left it in the shitter about an hour ago, along with my breakfast ...
Code:
checking for CAIRO... yes
checking which cairo font backends could be used... none
configure: Disabling cairo support
configure: error: *** Could not enable any backends.
*** Must have at least one backend to build Pango.

Do these fucking loser shitforbrains test anything ?

First thing let's do, let's burn all the nincompoops who write trendy gnu software ...
Check your $PKG_CONFIG_PATH environment variable, maybe your whole pkg-config installation, and specifically the glib*.pc and pango*.pc files in /usr/nekoware/lib/pkgconfig (or any other pkgconfig directories you might have on your system). It's quite likely that the configure script is using pkg-config to find Glib and Pango and maybe picking up the wrong one. It's also probably one of their *.pc files that is adding -pthread to CFLAGS.

_________________
:Indigo2IMP: :Octane: :Indigo: :O3x0:
Sun SPARCstation 20, Blade 2500
HP C8000
jpstewart wrote:
Check your $PKG_CONFIG_PATH environment variable ...

Thank you, will do that in the a.m., gotta go home and pee the dog now ...
As an unhelpful aside from the peanut gallery, I hasten to point out that gtk has been an unadulterated horrorshow since the day of its inception. Thank you, drive through...

_________________
Project:
Movin' on up, toooo the east side
Plan:
World domination! Or something...
I've taken a look at the GTK source (especially its configure script), and I'd be willing to bet that the -pthread flag is coming from pkg-config, and that it in turn is causing the failure to detect the correct version of Glib. The test compile fails because of the -pthread, but the configure script mis-interprets that failure to compile as a version mis-match. That would also explain why configure found the library when you passed --disable-glibtest. And since Pango requires Glib, that erroneous -pthread flag caused the Pango tests to fail (which were again mis-interpreted by configure to mean that you don't have Pango).

If you can't find and edit the offending *.pc file, you can set BASE_DEPENDENCIES_CFLAGS and BASE_DEPENDENCIES_LIBS to point to Nekoware instead. That'll cause the configure script to bypass pkg-config entirely. Note that it looks like you'll need to manually specify all the required libraries in that case (i.e., "-L/usr/nekoware/lib -lpango-1.0 -lglib-2.0 ..."), not just the directory.

Based on what I see in glib-2.0.pc on my Octane, I think you should (maybe) have -lpthread in your Libs line instead of just -pthread.

_________________
:Indigo2IMP: :Octane: :Indigo: :O3x0:
Sun SPARCstation 20, Blade 2500
HP C8000
From the GTK+ faq:

Code:
GTK+ is a large package that is dependent on a number of other tools and libraries. It is recommended that you use precompiled binary packages for your system if possible.

hamei will probably be along shortly but until then, I'll say it for him: Fuck you guys! :evil:

Also from the faq:
Code:
you will also need to have installed the tools and libraries that GTK+ depends upon. These are listed below in the order in which they need to be installed (edited for brevity):

pkg-config
GNU make
JPEG, PNG and TIFF image libraries
FreeType
fontconfig
GNU libiconv library (if your system doesn't have iconv())
GNU gettext (if your system doesn't have gettext())
GLib
Pango
ATK
GTK+
Circular dependency in the list left unedited... :lol:

_________________
Project:
Movin' on up, toooo the east side
Plan:
World domination! Or something...
vishnu wrote:
hamei will probably be along shortly but until then, I'll say it for him: Fuck you guys! :evil:

Thanks, vish. Couldn't have said it better myself ... gtk2 is like a nice hot bath in a tub full of shit.

jp, thanks much, in the various pkg-config files we had
Code:
urchin 1# nedit gmodule.pc
urchin 2# nedit gmodule-2.0.pc
urchin 3# nedit gmodule-export-2.0.pc
urchin 4# nedit gmodule-no-export-2.0.pc
urchin 5# nedit gthread-2.0.pc
urchin 6# nedit gmodule-2.0.pc
urchin 7# nedit gmodule-export-2.0.pc
urchin 8# nedit gmodule-no-export-2.0.pc
urchin 9# nedit gthread.pc
urchin 10# nedit gthread-2.0.pc

Every one of them had a wrong -pthread flag. Doesn't work with MIPSPro.

Soooo ... anyhoo I took a chance and added Xinput (beat me some more ! it feels so good !), deleted the cups ( spit ) system and did ./configure --disable-cups --enable-debug=no --with-xinput=yes --prefix=/usr/nekoware

Made it through. Built Makefiles. We're on our way ... (thanks jp)
Code:
Making all in gdk-pixbuf
gmake[2]: Entering directory `/usr/people/dev/gtk+-2.12.12/gdk-pixbuf'
( cd . && glib-mkenums \
--fhead "#ifndef __GDK_PIXBUF_ENUM_TYPES_H__\n#define __GDK_PIXBUF_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
--fprod "/* enumerations from \"@filename@\" */\n" \
--vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
--ftail "G_END_DECLS\n\n#endif /* __GDK_PIXBUF_ENUM_TYPES_H__ */" \
gdk-pixbuf.h gdk-pixbuf-core.h gdk-pixbuf-transform.h gdk-pixbuf-io.h gdk-pixbuf-animation.h gdk-pixbuf-simple-anim.h gdk-pixbuf-loader.h ) > tmp-gdk-pixbuf-enum-types.h \
&& (cmp -s tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h || cp tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h ) \
&& rm -f tmp-gdk-pixbuf-enum-types.h \
&& echo timestamp > s-enum-types-h
env: perl -w: No such file or directory
gmake[2]: *** [s-enum-types-h] Error 127
gmake[2]: Leaving directory `/usr/people/dev/gtk+-2.12.12/gdk-pixbuf'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/people/dev/gtk+-2.12.12'
gmake: *** [all] Error 2

Well, that joy was short-lived.

Gtk2 ? Here's for you :
Attachment:
gtk2.jpg
gtk2.jpg [ 27 KiB | Viewed 280 times ]
hamei wrote:
Code:
Making all in gdk-pixbuf
gmake[2]: Entering directory `/usr/people/dev/gtk+-2.12.12/gdk-pixbuf'
( cd . && glib-mkenums \
--fhead "#ifndef __GDK_PIXBUF_ENUM_TYPES_H__\n#define __GDK_PIXBUF_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
--fprod "/* enumerations from \"@filename@\" */\n" \
--vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
--ftail "G_END_DECLS\n\n#endif /* __GDK_PIXBUF_ENUM_TYPES_H__ */" \
gdk-pixbuf.h gdk-pixbuf-core.h gdk-pixbuf-transform.h gdk-pixbuf-io.h gdk-pixbuf-animation.h gdk-pixbuf-simple-anim.h gdk-pixbuf-loader.h ) > tmp-gdk-pixbuf-enum-types.h \
&& (cmp -s tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h || cp tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h ) \
&& rm -f tmp-gdk-pixbuf-enum-types.h \
&& echo timestamp > s-enum-types-h
env: perl -w: No such file or directory


Ah, yes. Sadly, I've seen that one before, too. Edit /usr/nekoware/bin/glib-mkenums to change the first ( shebang ) line from:
Code:
#!/usr/bin/env perl -w
to:
Code:
#!/usr/nekoware/bin/perl -w
It has the effect of making Glib depend on neko_perl, but it'll work.

I don't think IRIX can handle more than one argument in a shebang line, thus it's interpreting "perl -w" as a single argument to pass to /usr/bin/env. Hence its complaint about "perl -w" not existing. It should be looking for "perl" and passing "-w" as an argument to that, but it's not. (Not that you care about the reason behind the change.... I'm just rambling.)

_________________
:Indigo2IMP: :Octane: :Indigo: :O3x0:
Sun SPARCstation 20, Blade 2500
HP C8000
vishnu wrote:
As an unhelpful aside from the peanut gallery,

Isn't that what the Internet is for? :lol:

vishnu wrote:
I hasten to point out that gtk has been an unadulterated horrorshow since the day of its inception.

I enjoy a good challenge every now and then; that's what makes me determined to get things working. Besides, hamei's first problem was actually autoconf making too many (unfounded) assumptions. And the second was also unrelated to GTK itself. The real "horrorshow" hasn't even begun yet! :!:

_________________
:Indigo2IMP: :Octane: :Indigo: :O3x0:
Sun SPARCstation 20, Blade 2500
HP C8000
Yes but autoconf is only as good as the configure.in that the software's build guys write. If you've got a Really Great Toolkit but can't be bothered to provide a build environment that works, and you say things like (I'm paraphrasing) "aw fuck it let's let the distribution packagers figure out how to compile it," then (at the risk of repeating myself) I say fuck you guys! :evil:

_________________
Project:
Movin' on up, toooo the east side
Plan:
World domination! Or something...
jpstewart wrote:
Ah, yes. Sadly, I've seen that one before, too. Edit /usr/nekoware/bin/glib-mkenums to change the first ( shebang ) line from:
Code:
#!/usr/bin/env perl -w
to:
Code:
#!/usr/nekoware/bin/perl -w
It has the effect of making Glib depend on neko_perl, but it'll work.

neko_perl is fine by me, it's going to be a lot newer than SGI perl for sure !

That worked, by the way :D

Quote:
(Not that you care about the reason behind the change.... I'm just rambling.)

No, thank you, the reason is more important than a recipe. I'll probaly forget but at least the information is here so others can use it in the future. In fact, that's one good reason to come here and make an ass of myself - these threads should help other people (if anyone ever bothers to make more Irix software ...) It's not magic and more people should be doing this. A big thanks to all the people who understand programming and are willing to take the time to help us buffoons out :D

2.12.12 has finished making ... time for gmake install. If I disap

edit: dang, 2.12.12 .... looks a little different. Let's see what happens. Thank you, jp.

edit 2 : hmm. So far no fireflop crashes. Knock on wood ....
Hey wait a minute, are you sure firefox links against the gtk shared lib on your fuel? Because I'm pretty sure it doesn't... :shock:

_________________
Project:
Movin' on up, toooo the east side
Plan:
World domination! Or something...
vishnu wrote:
Hey wait a minute, are you sure firefox links against the gtk shared lib on your fuel? Because I'm pretty sure it doesn't... :shock:

We are speaking of firefox here, the most dangerous and unpredictable program known to man. Of course I'm not certain :D
Code:
urchin 26# ldd firefox-bin
libpthread.so  =>        /usr/lib32/libpthread.so
libsmime3.so  =>         /usr/nekoware/lib/firefox-3.0.19/libsmime3.so
libssl3.so  =>   /usr/nekoware/lib/firefox-3.0.19/libssl3.so
libnss3.so  =>   /usr/nekoware/lib/firefox-3.0.19/libnss3.so
libnssutil3.so  =>       /usr/nekoware/lib/firefox-3.0.19/libnssutil3.so
libsoftokn3.so  =>       /usr/nekoware/lib/firefox-3.0.19/libsoftokn3.so
libcairo.so.3  =>        /usr/nekoware/lib/firefox-3.0.19/libcairo.so.3
libfreetype.so.7  =>     /usr/nekoware/lib/libfreetype.so.7
libfontconfig.so.2  =>   /usr/nekoware/lib/libfontconfig.so.2
libXrender.so.1  =>      /usr/nekoware/lib/libXrender.so.1
libX11.so.1  =>  /usr/lib32/libX11.so.1
libXt.so  =>     /usr/lib32/libXt.so
libgthread-2.0.so.1  =>  /usr/nekoware/lib/libgthread-2.0.so.1
libXft.so.2  =>  /usr/nekoware/lib/libXft.so.2
libpangocairo-1.0.so.1  =>       /usr/nekoware/lib/libpangocairo-1.0.so.1
libpangoft2-1.0.so.1  =>         /usr/nekoware/lib/libpangoft2-1.0.so.1
libpango-1.0.so.1  =>    /usr/nekoware/lib/libpango-1.0.so.1
libgobject-2.0.so.1  =>  /usr/nekoware/lib/libgobject-2.0.so.1
libgmodule-2.0.so.1  =>  /usr/nekoware/lib/libgmodule-2.0.so.1
libglib-2.0.so.1  =>     /usr/nekoware/lib/libglib-2.0.so.1
libintl.so.9  =>         /usr/nekoware/lib/libintl.so.9
libsqlite3.so.1  =>      /usr/nekoware/lib/firefox-3.0.19/libsqlite3.so.1
libfastm.so  =>  /usr/lib32/libfastm.so
libmozjs.so  =>  /usr/nekoware/lib/firefox-3.0.19/libmozjs.so
libxpcom.so  =>  /usr/nekoware/lib/firefox-3.0.19/libxpcom.so
libxpcom_core.so  =>     /usr/nekoware/lib/firefox-3.0.19/libxpcom_core.so
libplds4.so  =>  /usr/nekoware/lib/firefox-3.0.19/libplds4.so
libplc4.so  =>   /usr/nekoware/lib/firefox-3.0.19/libplc4.so
libnspr4.so  =>  /usr/nekoware/lib/firefox-3.0.19/libnspr4.so
libdl.so  =>     /usr/lib32/libdl.so
libgtk-x11-2.0.so.1  =>  /usr/nekoware/lib/libgtk-x11-2.0.so.1
libatk-1.0.so.1  =>      /usr/nekoware/lib/libatk-1.0.so.1
libgdk-x11-2.0.so.1  =>  /usr/nekoware/lib/libgdk-x11-2.0.so.1
libgdk_pixbuf-2.0.so.1  =>       /usr/nekoware/lib/libgdk_pixbuf-2.0.so.1
libm.so  =>      /usr/lib32/libm.so
libsocket.so  =>         /usr/lib32/libsocket.so
libc.so.1  =>    /usr/lib32/libc.so.1
libsqlite3.so  =>        /usr/nekoware/lib/firefox-3.0.19/libsqlite3.so
libpixman-1.so.1  =>     /usr/nekoware/lib/libpixman-1.so.1
libglitz.so.2  =>        /usr/nekoware/lib/libglitz.so.2
libpng12.so.0  =>        /usr/nekoware/lib/libpng12.so.0
libz.so  =>      /usr/nekoware/lib/libz.so
libbz2.so.1.0  =>        /usr/nekoware/lib/libbz2.so.1.0
libiconv.so.3  =>        /usr/nekoware/lib/libiconv.so.3
libexpat.so.2  =>        /usr/nekoware/lib/libexpat.so.2
libgen.so  =>    /usr/lib32/libgen.so   delay-load
libXi.so  =>     /usr/lib32/libXi.so
libXext.so  =>   /usr/lib32/libXext.so
libpng.so.3  =>  /usr/nekoware/lib/libpng.so.3

But there are a few in there that look suspiciously like gtk2 conspirators ... No idea if this will really fix my crashes but so far so good. The message screens are even goofier than before and the tab-closing x'es look like hell but I can live with that.
Okay, I'm retarded, since 2.12.12 worked I figured I'd attempt a little more upgrading ..

glib-2.28.8
Code:
cc-1020 cc: ERROR File = gmain.c, Line = 2058
The identifier "_SC_MONOTONIC_CLOCK" is undefined.

if (sysconf (_SC_MONOTONIC_CLOCK) >= 0)
^

cc-1020 cc: ERROR File = gmain.c, Line = 2059
The identifier "CLOCK_MONOTONIC" is undefined.

clockid = CLOCK_MONOTONIC;
^

I'm guessing that the monotonic clock is a gnu invention ?

(btw, the earlier corrections in this thread are a tremendous help in building the gtk2 family. I wonder if a wiki section describing solutions people have found for building Irix apps would be a nice addition ? Search is okay but our info is so spread out ... )
hamei wrote:
I'm guessing that the monotonic clock is a gnu invention ?

It is defined by POSIX, but the implementation is optional .

Quote:
If the Monotonic Clock option is supported, all implementations shall support a clock_id of CLOCK_MONOTONIC defined in <time.h>. This clock represents the monotonic clock for the system. For this clock, the value returned by clock_gettime() represents the amount of time (in seconds and nanoseconds) since an unspecified point in the past (for example, system start-up time, or the Epoch). This point does not change after system start-up time.


_SC_MONOTONIC_CLOCK is to check at runtime whether CLOCK_MONOTONIC exists using sysconf(). It is POSIX, 2003 . IRIX is POSIX anno 1995 . The check should simply return FALSE if _SC_MONOTONIC_CLOCK is undefined because in that case CLOCK_MONOTONIC isn't going to be available.

This should make the code compile and make sysconf() return false:
Code:
#ifndef _SC_MONOTONIC_CLOCK
#define _SC_MONOTONIC_CLOCK -1
#endif


CLOCK_MONOTONIC is 'good enough' to measure time increments rather than the absolute time. IRIX has a similar clock: CLOCK_SGI_CYCLE. If the code really needs a cycle timer you can cook up replacement code using CLOCK_SGI_CYCLE.

_________________
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2: (2x) :O3x02L:
In the museum : almost every MIPS/IRIX system.
Wanted : GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)
jan-jaap wrote:
CLOCK_MONOTONIC is 'good enough' to measure time increments rather than the absolute time. IRIX has a similar clock: CLOCK_SGI_CYCLE. If the code really needs a cycle timer you can cook up replacement code using CLOCK_SGI_CYCLE.

It seems like it shouldn't even be checking this ...
gmain.c
Code:
#ifdef HAVE_MONOTONIC_CLOCK
/* We have to check if we actually have monotonic clock support.
*
* There is no thread safety issue here since there is no harm if we
* check twice.
*/
{
static gboolean checked;

if G_UNLIKELY (!checked)
{
if (sysconf (_SC_MONOTONIC_CLOCK) >= 0)
clockid = CLOCK_MONOTONIC;
checked = TRUE;
}
}
#endif

configure
Code:
cc-1020 cc: ERROR File = gmain.c, Line = 2064
The identifier "CLOCK_MONOTONIC" is undefined.

clockid = CLOCK_MONOTONIC;
^

Let me go see if I can butcher this some more .... thanks, J.
hamei wrote:
vishnu wrote:
Hey wait a minute, are you sure firefox links against the gtk shared lib on your fuel? Because I'm pretty sure it doesn't... :shock:

We are speaking of firefox here, the most dangerous and unpredictable program known to man. Of course I'm not certain :D
Code:
urchin 26# ldd firefox-bin
libpthread.so  =>        /usr/lib32/libpthread.so
libsmime3.so  =>         /usr/nekoware/lib/firefox-3.0.19/libsmime3.so
libssl3.so  =>   /usr/nekoware/lib/firefox-3.0.19/libssl3.so
libnss3.so  =>   /usr/nekoware/lib/firefox-3.0.19/libnss3.so
libnssutil3.so  =>       /usr/nekoware/lib/firefox-3.0.19/libnssutil3.so
libsoftokn3.so  =>       /usr/nekoware/lib/firefox-3.0.19/libsoftokn3.so
libcairo.so.3  =>        /usr/nekoware/lib/firefox-3.0.19/libcairo.so.3
libfreetype.so.7  =>     /usr/nekoware/lib/libfreetype.so.7
libfontconfig.so.2  =>   /usr/nekoware/lib/libfontconfig.so.2
libXrender.so.1  =>      /usr/nekoware/lib/libXrender.so.1
libX11.so.1  =>  /usr/lib32/libX11.so.1
libXt.so  =>     /usr/lib32/libXt.so
libgthread-2.0.so.1  =>  /usr/nekoware/lib/libgthread-2.0.so.1
libXft.so.2  =>  /usr/nekoware/lib/libXft.so.2
libpangocairo-1.0.so.1  =>       /usr/nekoware/lib/libpangocairo-1.0.so.1
libpangoft2-1.0.so.1  =>         /usr/nekoware/lib/libpangoft2-1.0.so.1
libpango-1.0.so.1  =>    /usr/nekoware/lib/libpango-1.0.so.1
libgobject-2.0.so.1  =>  /usr/nekoware/lib/libgobject-2.0.so.1
libgmodule-2.0.so.1  =>  /usr/nekoware/lib/libgmodule-2.0.so.1
libglib-2.0.so.1  =>     /usr/nekoware/lib/libglib-2.0.so.1
libintl.so.9  =>         /usr/nekoware/lib/libintl.so.9
libsqlite3.so.1  =>      /usr/nekoware/lib/firefox-3.0.19/libsqlite3.so.1
libfastm.so  =>  /usr/lib32/libfastm.so
libmozjs.so  =>  /usr/nekoware/lib/firefox-3.0.19/libmozjs.so
libxpcom.so  =>  /usr/nekoware/lib/firefox-3.0.19/libxpcom.so
libxpcom_core.so  =>     /usr/nekoware/lib/firefox-3.0.19/libxpcom_core.so
libplds4.so  =>  /usr/nekoware/lib/firefox-3.0.19/libplds4.so
libplc4.so  =>   /usr/nekoware/lib/firefox-3.0.19/libplc4.so
libnspr4.so  =>  /usr/nekoware/lib/firefox-3.0.19/libnspr4.so
libdl.so  =>     /usr/lib32/libdl.so
libgtk-x11-2.0.so.1  =>  /usr/nekoware/lib/libgtk-x11-2.0.so.1
libatk-1.0.so.1  =>      /usr/nekoware/lib/libatk-1.0.so.1
libgdk-x11-2.0.so.1  =>  /usr/nekoware/lib/libgdk-x11-2.0.so.1
libgdk_pixbuf-2.0.so.1  =>       /usr/nekoware/lib/libgdk_pixbuf-2.0.so.1
libm.so  =>      /usr/lib32/libm.so
libsocket.so  =>         /usr/lib32/libsocket.so
libc.so.1  =>    /usr/lib32/libc.so.1
libsqlite3.so  =>        /usr/nekoware/lib/firefox-3.0.19/libsqlite3.so
libpixman-1.so.1  =>     /usr/nekoware/lib/libpixman-1.so.1
libglitz.so.2  =>        /usr/nekoware/lib/libglitz.so.2
libpng12.so.0  =>        /usr/nekoware/lib/libpng12.so.0
libz.so  =>      /usr/nekoware/lib/libz.so
libbz2.so.1.0  =>        /usr/nekoware/lib/libbz2.so.1.0
libiconv.so.3  =>        /usr/nekoware/lib/libiconv.so.3
libexpat.so.2  =>        /usr/nekoware/lib/libexpat.so.2
libgen.so  =>    /usr/lib32/libgen.so   delay-load
libXi.so  =>     /usr/lib32/libXi.so
libXext.so  =>   /usr/lib32/libXext.so
libpng.so.3  =>  /usr/nekoware/lib/libpng.so.3

But there are a few in there that look suspiciously like gtk2 conspirators ... No idea if this will really fix my crashes but so far so good. The message screens are even goofier than before and the tab-closing x'es look like hell but I can live with that.


Sorry my bad! I'm used to the mozilla-dot-org binaries which have 99 percent of those compiled in statically... :oops:

_________________
Project:
Movin' on up, toooo the east side
Plan:
World domination! Or something...
Sorry, backed up a little bit, thought I'd see how high we can go in gtk2land before upgrading nekoware ... 2.13.7 was going well until almost the end :
Code:
cc-1196 cc: WARNING File = testfilechooserbutton.c, Line = 318
The indicated function is declared implicitly.

chooser = gtk_file_chooser_button_new_with_backend ("Select A File - testfilechooserbutton",
^

cc-1515 cc: ERROR File = testfilechooserbutton.c, Line = 318
A value of type "int" cannot be assigned to an entity of type "GtkWidget *".

chooser = gtk_file_chooser_button_new_with_backend ("Select A File - testfilechooserbutton",
^

cc-1515 cc: ERROR File = testfilechooserbutton.c, Line = 348
A value of type "int" cannot be assigned to an entity of type "GtkWidget *".

chooser = gtk_file_chooser_button_new_with_backend ("Select A Folder - testfilechooserbutton",
^

2 errors detected in the compilation of "testfilechooserbutton.c".
gmake[2]: *** [testfilechooserbutton.o] Error 2

I'm gonna make a wag that "chooser" should be something other than an integer ? What would be the most loverly way to achieve that ?

I'm also kind of wondering what a testfilechooserbutton is but maybe I don't want to know .....
Those errors are because of a missing function prototype for gtk_file_chooser_button_new_with_backend().

By default (if you forget the prototype or leave out types in the implementation), every C function returns an int, so this is the reason for the last two errors. The first error says what I just wrote, but in a shorter way :)
ShadeOfBlue wrote:
Those errors are because of a missing function prototype for gtk_file_chooser_button_new_with_backend().

By default (if you forget the prototype or leave out types in the implementation), every C function returns an int, so this is the reason for the last two errors.

Makes sense. So I am going to ass ume that one would need the function prototype no matter what compiler one was using ? In other words, it's got to be in there somewhere or this code wouldn't build ? where is the damned thing ?