Well, I'm not sure about plain old C, but ANSI C++ considers any const to be private to its translation unit. I can only intuit that somehow GCC is doing the same in this instance, even though it's being called as gcc and not g++.
I agree that removing the const from the declaration clears the problem. I suppose I should have enumerated that potential solution as well, although I don't care for it from a purist perspective :-) I'll try to figure out how to fix this the right way once I can duplicate this in a simple example (which I can't so far). Thanks, Larry Richard Warren wrote: >Hi Larry, > >Now you mention it, I too came across the problem you're describing when I >built 2.0.6 on Sol8. > >At the time I put it down as a bug with the very-old gcc I was using (which >I think was 2.95.2 but with the sun linker) but didn't have time to upgrade >so simply removed the "const" from the definitions (and the headers) and it >built okay after that. > >By the way, you may also find problems with gtk_binary_age, >gtk_interface_age and gtk_text_unknown_char_utf8 if I remember rightly. > >Surely this is a compiler/toolset problem - const things should be as public >as non-const shouldn't they, or am I missing things? > >Richard. > >----- Original Message ----- >From: "Larry McQueary" <[EMAIL PROTECTED]> >To: <[EMAIL PROTECTED]> >Sent: Thursday, September 05, 2002 1:15 AM >Subject: Problems building testgtk > > > > >>Hi, >> >>I'm compiling gtk+ 2.0.6 on Solaris 8 (sparc) with gcc 3.2 and the Sun >>linker and archiver (/usr/ccs/bin/ld and /usr/ccs/bin/ar, respectively). >> I am configuring with --disable-static. >> >>I have had some problems building testgtk Upon linking testgtk, I get >>undefined symbols for the following: >> >>gtk_major_version >>gtk_minor_version >>gtk_micro_version >> >>On closer inspection, it seems these are declared in gtkmain.c as >>"const" and therefore are treated by gcc-3.2 as private to the >>translation unit (gtkmain.c) and can't be exported. >> >>I suppose there are four possible solutions, but I leave it to the folks >>who regularly code this stuff to comment: >> >>1. Munge the configure script so that it provides some magical flag to >>gcc to make it export these variables (don't even know if this is >>possible, and don't care) if gcc is >= 3.x. Very Ugly. >> >>2. Have testgtk.c refer to GTK_MAJOR_VERSION, et al (from gtk.h), >>instead of gtk_major_version, et al. (from gtkmain.c). I find this ugly >>and somewhat brute force. >> >>3. Add a function similar to gtk_check_version to gtkmain.c, which will >>return these three values (major, minor, and micro version). Like it. >> >>All this being said, why hasn't anyone else run into this before? >> >>Larry >> >> >>_______________________________________________ >>gtk-list mailing list >>[EMAIL PROTECTED] >>http://mail.gnome.org/mailman/listinfo/gtk-list >> >> > >_______________________________________________ >gtk-list mailing list >[EMAIL PROTECTED] >http://mail.gnome.org/mailman/listinfo/gtk-list > > > _______________________________________________ gtk-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/gtk-list
