Sorry for this last minute intervention, but I was on vacation last week.

First, good news, guile-1.4pre3 works fine on Solaris:
$ cc -V
cc: WorkShop Compilers 4.2 30 Oct 1996 C 4.2
$ uname -a
SunOS goudurix 5.6 Generic_105181-07 sun4m sparc SUNW,SPARCstation-20

But there are several problems on HP-PA:
$uname -a
HP-UX adagio B.10.20 A 9000/899 614401342 two-user license
using the HP C compiler.

1) When compiling ltdl.c, the compiler has not options
   -Aa -D_HPUX_SOURCE

2) The following #ifdef must be added, as by default the HP C compiler
   does not recognize long long (for this, you must use -Ae instead of -Aa).

*** /tmp/numbers.h      Tue Jun 20 11:14:40 2000
--- libguile/numbers.h  Tue Jun 20 00:28:46 2000
***************
*** 229,235 ****
  extern SCM scm_copybig (SCM b, int sign);
  extern SCM scm_long2big (long n);
- #ifdef HAVE_LONG_LONGS
  extern SCM scm_long_long2big (long_long n);
- #endif
  extern SCM scm_2ulong2big (unsigned long * np);
  extern SCM scm_ulong2big (unsigned long n);
--- 229,233 ----
***************
*** 292,304 ****
  extern double scm_big2dbl (SCM b);
  extern SCM scm_long2num (long sl);
- #ifdef HAVE_LONG_LONGS
  extern SCM scm_long_long2num (long_long sl);
- #endif
  extern SCM scm_ulong2num (unsigned long sl);
  extern long scm_num2long (SCM num, char *pos, const char *s_caller);
- #ifdef HAVE_LONG_LONGS
  extern long_long scm_num2long_long (SCM num, char *pos,
                                      const char *s_caller);
- #endif
  extern unsigned long scm_num2ulong (SCM num, char *pos,
                                      const char *s_caller);
--- 290,298 ----

3) guile-doc-snarf produces this: (file alist.x)

 scm_make_gsubr (s_ ## scm_acons, 3, 0, 0, (SCM (*)()) scm_acons); 
 scm_make_gsubr (s_ ## scm_sloppy_assq, 2, 0, 0, (SCM (*)()) scm_sloppy_assq); 
 scm_make_gsubr (s_ ## scm_sloppy_assv, 2, 0, 0, (SCM (*)()) scm_sloppy_assv); 
 scm_make_gsubr (s_ ## scm_sloppy_assoc, 2, 0, 0, (SCM (*)()) scm_sloppy_assoc); 
 scm_make_gsubr (s_ ## scm_assq, 2, 0, 0, (SCM (*)()) scm_assq); 
 scm_make_gsubr (s_ ## scm_assv, 2, 0, 0, (SCM (*)()) scm_assv); 
 scm_make_gsubr (s_ ## scm_assoc, 2, 0, 0, (SCM (*)()) scm_assoc); 
 scm_make_gsubr (s_ ## scm_assq_ref, 2, 0, 0, (SCM (*)()) scm_assq_ref); 
 scm_make_gsubr (s_ ## scm_assv_ref, 2, 0, 0, (SCM (*)()) scm_assv_ref); 
 scm_make_gsubr (s_ ## scm_assoc_ref, 2, 0, 0, (SCM (*)()) scm_assoc_ref); 
 scm_make_gsubr (s_ ## scm_assq_set_x, 3, 0, 0, (SCM (*)()) scm_assq_set_x); 
 scm_make_gsubr (s_ ## scm_assv_set_x, 3, 0, 0, (SCM (*)()) scm_assv_set_x); 
 scm_make_gsubr (s_ ## scm_assoc_set_x, 3, 0, 0, (SCM (*)()) scm_assoc_set_x); 
 scm_make_gsubr (s_ ## scm_assq_remove_x, 2, 0, 0, (SCM (*)()) scm_assq_remove_x); 
 scm_make_gsubr (s_ ## scm_assv_remove_x, 2, 0, 0, (SCM (*)()) scm_assv_remove_x); 
 scm_make_gsubr (s_ ## scm_assoc_remove_x, 2, 0, 0, (SCM (*)()) scm_assoc_remove_x); 

4) In file ice-9/boot-9.scm, the definition

(define (try-using-sharlib-name libdir libname)
  (in-vicinity libdir (string-append libname ".so")))

requires that shared objects end with .so, but the dynamic linker of
HP-PA needs .sl. Actually I have an equivalent dynamic linking method
in hobbit, which picks up the correct suffix from the .la files.
(See definition of path-from in hobbit4d/link.scm)

But this point 4) does not crash the installation.

Regards.

-- 

B. Urban

Reply via email to