[plt-scheme] Problems compiling PLT scheme on Solaris

From: Fabian Reck (fre at informatik.uni-kiel.de)
Date: Tue Oct 6 11:38:59 EDT 2009

Great, thank you! That solved our problem. Unfortunately we just ran
into another one: While compiling a segmentation fault occures. Since we
don't have any clue about why this happens, I paste the compiler output
below.

Thanks

cd wxs; make ccsources
make[4]: Entering directory `/home/jac/plt-4.2.2/src/build/mred/wxs'
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_bmap.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_bmap.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_butn.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_butn.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_chce.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_chce.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_ckbx.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_ckbx.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_cnvs.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_cnvs.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_dc.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_dc.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_evnt.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_evnt.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_fram.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_fram.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_gage.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_gage.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_gdi.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_gdi.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_glob.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_glob.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_item.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_item.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_lbox.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_lbox.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_menu.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_menu.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_misc.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_misc.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_obj.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_obj.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_panl.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_panl.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_rado.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_rado.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_slid.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_slid.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_tabc.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_tabc.xc ; fi
if [ "" = '' ] ; then touch ../../../mred/wxs/wxs_win.cxx ; else 
../../../mred/wxs/../../mzscheme/utils/xctocc -cxx
../../../mred/wxs/wxs_win.xc ; fi
make[4]: Leaving directory `/home/jac/plt-4.2.2/src/build/mred/wxs'
cd gc2; make gen-deps
make[4]: Entering directory `/home/jac/plt-4.2.2/src/build/mred/gc2'
../../mzscheme/mzscheme3m -cqu "../../../mred/gc2/gen-deps.ss"
Seg fault (internal error during gc) at ffffffff7e20c000
Abort
make[4]: *** [gen-deps] Error 134
make[4]: Leaving directory `/home/jac/plt-4.2.2/src/build/mred/gc2'
make[3]: *** [3m] Error 2
make[3]: Leaving directory `/home/jac/plt-4.2.2/src/build/mred'
make[2]: *** [mred-3m] Error 2
make[2]: Leaving directory `/home/jac/plt-4.2.2/src/build'
make[1]: *** [3m] Error 2
make[1]: Leaving directory `/home/jac/plt-4.2.2/src/build'
make: *** [all] Error 2

Matthew Flatt wrote:
> You're running Solaris on Sparc, right?
>
> This wasn't a known problem. We recently stopped creating our own
> builds for Sparc, and I guess that was the one platform we used to
> build where the JIT is not supported. So, we overlooked this mismatch
> in the implementation.
>
> The problem is now fixed for the next version.
>
> In the current version, you can work around it by adding definitions of
> scheme_can_inline_fp_comp() and scheme_can_inline_fp_op() that just
> return 0. (Add them to any C file in "plt/src/mzscheme/src", such as
> "numcomp.c".)
>
> Thanks for the report!
>
> At Tue, 06 Oct 2009 16:16:16 +0200, Fabian Reck wrote:
>   
>> Hi,
>>
>> we encounter problems when we try to compile the latest version of PLT
>> scheme on Sun Solaris 5.10 with gcc 4.1.2. The problem is, that in the
>> file src/mzscheme/src/numcomp.c two symbols are referenced:
>>
>> scheme_can_inline_fp_comp and scheme_can_inline_fp_op
>>
>> Both of them are defined in src/mzscheme/src/jit.c but since the macro
>> MZ_USE_JIT is not defined, the compiler ignores them.
>>
>> In order to solve a problem with large file support, we had to pass the
>> options "-m64 -Xlinker -64" to the compiler. Perhaps this is related to
>> our problem. In spite of that we just did the standard compilation
>> procedure.
>>
>> Is this a known problem? Is there a workaround?
>>
>> Thanks
>>
>> Fabian
>>     



Posted on the users mailing list.