This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Compiling problem in guile-core-970922 snapshot


[This should go to bug-guile, but somehow I couldn't reached
 that address.   Sorry to bother you guys]

I encountered a problem compiling guile-core-970922, which
looks like simple bug.

Platform: SGI Indigo2 R10k running IRIX6.2
Compiler: SGI MIPSPro Compiler 7.1, compiling with -n32
Configure: /bin/sh -c 'CC="cc -n32" ./configure'
Synopsis: Can't compile gc.c and genio.c

cc -n32 -DHAVE_CONFIG_H -I. -I. -I. -I.. -I./.. -g -c -DPIC gc.c
"gc.c", line 583: error(1164): argument of type "long" is incompatible with
          parameter of type "char *"
      scm_wta (ptr, "rogue pointer in heap", SCM_BOOL_F);

cc -n32 -DHAVE_CONFIG_H -I. -I. -I. -I.. -I./.. -g -c -DPIC genio.c
"genio.c", line 518: error(1515): a value of type "long" cannot be assigned to
          an entity of type "char *"
    SCM_SYSCALL (s = (scm_ptobs[i].fgets) (port));
    ^

Fix:

*** gc.c        Mon Sep 22 22:14:33 1997
--- gc.c.orig   Wed Sep 10 10:03:27 1997
***************
*** 580,586 ****
  
  gc_mark_nimp:
    if (SCM_NCELLP (ptr))
!     scm_wta (ptr, "rogue pointer in heap", NULL);
  
    switch (SCM_TYP7 (ptr))
      {
--- 580,586 ----
  
  gc_mark_nimp:
    if (SCM_NCELLP (ptr))
!     scm_wta (ptr, "rogue pointer in heap", SCM_BOOL_F);
  
    switch (SCM_TYP7 (ptr))
      {

*** ports.h     Mon Sep 22 22:19:09 1997
--- ports.h.orig        Sun Sep 21 14:43:50 1997
***************
*** 149,155 ****
    scm_sizet (*fwrite) SCM_P ((char *ptr, scm_sizet size, scm_sizet nitems, SCM stream));
    int (*fflush) SCM_P ((SCM stream));
    int (*fgetc) SCM_P ((SCM stream));
!   char *(*fgets) SCM_P ((SCM stream));
    int (*fclose) SCM_P ((SCM stream));
  } scm_ptobfuns;
  
--- 149,155 ----
    scm_sizet (*fwrite) SCM_P ((char *ptr, scm_sizet size, scm_sizet nitems, SCM stream));
    int (*fflush) SCM_P ((SCM stream));
    int (*fgetc) SCM_P ((SCM stream));
!   SCM (*fgets) SCM_P ((SCM stream));
    int (*fclose) SCM_P ((SCM stream));
  } scm_ptobfuns;
  

Hope this helps.

--
Shiro KAWAI
  Square USA Inc.   Honolulu Studio, R&D division
#"The most important things are the hardest things to say" --- Stephen King