bugMIT/GNU Scheme - Bugs: bug #25868, Compilation fails on OpenSolaris...


bug #25868: Compilation fails on OpenSolaris 8/11 with Sun Studio compiler

Submitter:  Antonio Vieiro <antoniov>
Submitted:  Sat 14 Mar 2009 07:43:26 PM UTC
Category:  None Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect behavior
Status:  None Privacy:  Public
Assigned to:  None Originator Name: 
Open/Closed:  Open
* Mandatory Fields

Add a New Comment (Rich Markup)

Mon 01 Feb 2010 07:07:23 AM UTC, comment #4: 

I would like to help get this compiling too. I have run into these issues stated but do not know how to fix them. Can some update the status on this? Also detailed build instructions as well as patches would be appreciated, thanks.

Richard Kowalski <avantopia>
Sun 15 Mar 2009 04:06:46 PM UTC, comment #3: 

In microcode/configure.ac, find the clause in `case ${host_os}' for `solaris*', and set M4_FLAGS whether or not we're using GCC.  Then run `make distclean && autoconf' in the microcode/ directory, and try again.

Taylor R. Campbell <riastradh>
Group Member
Sun 15 Mar 2009 11:59:15 AM UTC, comment #2: 

I've added:

#ifdef __sun
  #ifdef __i386
    #include <sys/siginfo.h>
    #include <sys/ucontext.h>

#ifdef __sparc

In uxtrap.h and compilation continues, but I get too many undefined symbols:

cc -lsocket -lnsl -o scheme  artutl.o avltree.o bkpt.o bignum.o bigprm.o bitstr.o boot.o char.o daemon.o debug.o dfloat.o error.o extern.o fasdump.o fasl.o fasload.o fixnum.o flonum.o gcloop.o generic.o hooks.o hunk.o intern.o interp.o intprm.o list.o lookprm.o lookup.o memmag.o missing.o obstack.o option.o osscheme.o ostty.o outf.o prim.o primutl.o ptrvec.o purify.o purutl.o regex.o rgxprim.o step.o storage.o string.o syntax.o sysprim.o term.o transact.o tterm.o utils.o vector.o wind.o prosenv.o prosfile.o prosfs.o prosio.o prosproc.o prospty.o prosterm.o prostty.o pruxsock.o intext.o pruxenv.o pruxfs.o pruxio.o ux.o uxctty.o uxenv.o uxfile.o uxfs.o uxio.o uxproc.o uxsig.o uxsock.o uxterm.o uxtop.o uxtrap.o uxtty.o uxutil.o cmpauxmd.o terminfo.o pruxdld.o x11base.o x11term.o x11graph.o x11color.o cmpint.o cmpintmd.o comutl.o usrdef.o   -lcurses  -lm  -lX11
Undefined first referenced
 symbol      in file
asm_nofp_remainder                  cmpintmd.o
asm_generic_positive                cmpintmd.o
_Free                               cmpauxmd.o
asm_nofp_equal                      cmpintmd.o
asm_generic_decrement               cmpintmd.o
asm_generic_increment               cmpintmd.o
interface_to_scheme                 cmpint.o
ia32_cpuid_needed                   fasload.o

I'd appreciate some more guidelines on how to proceed with the build.

Antonio Vieiro <antoniov>
Sat 14 Mar 2009 08:15:17 PM UTC, comment #1: 

I'm afraid I know too little about OpenSolaris's representation of signal and machine context to help much here, but in the pile of cpp conditional gobbledegook at the top of uxtrap.h, it may suffice to find the right place to put a conditional for OpenSolaris on whatever architecture you're using (I'm guessing OpenSolaris on x86 or x86-64; you might put this after the section for Solaris on SPARC), and in that conditional include <ucontext.h> or <sys/ucontext.h>.  If that doesn't work, there may be another system header file defining siginfo_t and ucontext_t (although <ucontext.h> should work if _POSIX_REALTIME_SIGNALS is set, which the error message suggests is the case).  Otherwise, you'll need to learn all about the horrible grody details of signal and machine context representations on OpenSolaris and fill in the details analogous to the other platforms there listed.

Taylor R. Campbell <riastradh>
Group Member
Sat 14 Mar 2009 07:43:26 PM UTC, original submission:  

cc -DHAVE_CONFIG_H -DMIT_SCHEME -DDEFAULT_LIBRARY_PATH=\"/SPACE/SOFTWARE/SCHEME/mit-2090107/lib/mit-scheme\" -I. -I. -g -o pruxenv.o -c pruxenv.c
"uxtrap.h", line 733: syntax error before or at: *
"uxtrap.h", line 736: syntax error before or at: ucontext_t
"uxtrap.h", line 736: warning: undefined or missing type for: ucontext_t
cc: acomp failed for pruxenv.c
make: * [pruxenv.o] Error 2

Maybe an additional check is needed in configure.in?

I can test compilation on OpenSolaris 8/11 with Sun Studio compiler. Let me know how I can be of help.

Antonio Vieiro <antoniov>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by avantopia (Posted a comment)
  • -email is unavailable- added by riastradh (Posted a comment)
  • -email is unavailable- added by antoniov (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.





    No changes have been made to this item

    Back to the top

    Powered by Savane 3.11