Re: [Fxruby-users] My fox build segfaults on Solaris 9 gcc.
Status: Inactive
Brought to you by:
lyle
From: Hugh S. S. E. E. <hg...@dm...> - 2004-07-07 09:22:55
|
On Tue, 6 Jul 2004, jeroen wrote: > On Tuesday 06 July 2004 10:26 am, Hugh Sasse Staff Elec Eng wrote: >> The last thing I get on building the Fox library is >> >> g++ -shared FX4Splitter.lo FXAccelTable.lo FXApp.lo >> FXArrowButton.lo FXBMPIcon.lo FXBMPImage.lo FXBitmap.lo [....] >> -ldl -lpthread -ljpeg -lpng -lz -lbz2 -lm -lGL -lGLU -lc >> -Wl,-soname -Wl,libFOX-1.2.so.0 -o .libs/libFOX-1.2.so.0.0.6 >> collect2: ld terminated with signal 11 [Segmentation Fault], core >> dumped >> gmake[1]: *** [libFOX-1.2.la] Error 1 >> gmake[1]: Leaving directory `/export/home/Scratch/hgs/fox-1.2.6/src' >> gmake: *** [all-recursive] Error 1 >> >> The only thing that seems obvious to me is to ensure that the LD >> used is gnu ld and not the Sun one. Given this is invoked by g++, >> how might I be certain about this? It is not defined in the (top) >> Makefile. Anything else I should look out for? > > I keep up with FOX compiling on SUN; it should compile out of the > box using SUN's own compiler. If you have a problem with compiling I'll give that a go, but Ruby compiles with GCC, so will the libraries interoperate? There are dire warnings about this in the changes docs for GCC, and I don't know enough to test for the ramificiations in any particular case. > using GCC, my first suggestion is to make sure GCC is properly > installed [its a complex beast!]. Make sure you have a recent I believe it is. It does fail some tests when built, but I can compile most things with it [pine, exim, Ruby, Perl,...]. I know of no post-install diag/test suite I could use but would be glad to hear about one. Given that many `make check` tests fail but even unexpected failures are to be expected I think the chances of such a thing coming into being are slim. > GCC, and that your paths are set properly [in particular, GCC's 3.3.2. I've avoided 3.4.0 because it is .0, but now 3.4.1 is out I may try building that. > installation typically includes "repaired" header files which may > be necessary]. Can you explicitly tell me how to test for these things? I've not even been able to extract which linker it is using from GCC or G++. It occurs to me that I might get something out of strace, but I get a lot of information out of that! :-) > > On some machines you need to use native linker, and some GNU ld; I > don't know what the recommendation is for the SPARC target. ld: /usr/ccs/bin/ld /usr/lib/ld.so /usr/lib/ld /usr/ucb/ld /usr/local/bin/ld and sum says they are all different, the last being Gnu ld 41228 18 /usr/ccs/bin/ld 12100 4 /usr/ucb/ld 40682 3969 /usr/local/bin/ld and Sun Workshop compiler doesn't seem to have an ld in the same dir as the compiler. > > SUN has a collection of GNU software on their site, I don't know Yes, I think we used that gcc to build this one. > if this includes GCC but if it does then that might be helpful, Is there any way to test this though? I could spend ages fiddling with different GCC's, different versions of binutils, etc, and when it works I still won't know why. > assuming the SUN developers are more on top of this situation that > we are. > > > Regards, > > > - Jeroen > Thank you, Hugh |