unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* guile on HP-UX IA64
@ 2005-09-15 18:22 Steve Ellcey
  2005-09-16  7:18 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Steve Ellcey @ 2005-09-15 18:22 UTC (permalink / raw)



I have been attempting to build guile 1.6.7 on an HP-UX 11.23 IA64
system.  I ran into a couple of problems because there are some __ia64__
ifdefs in the libguile code and these seem to have been done for Linux
and don't necessarily work on HP-UX.  The main problem I have run into
so far is the direct access of the ucontext_t structure via field
accesses.

HP-UX, starting at 11.23, has decided to make this an opaque type and
provides various accessor routines to get at the data.  These routines
are in the libuca library, not in libc.

Anyway, my thought about fixing this was to change the the __ia64__
ifdefs to IA64 and to set IA64 in libguile/gc_os_dep.c only if both
__ia64__ is set and if LINUX is set.  GCC does not set IA64 by default
like it does __ia64__.  This way IA64 is not set for HP-UX and libguile
seem to build OK.  I was able to build libguile but then I eventually
died with the attached failure.

I have not contributed to guile before so I do not have a copyright
assignment on file for guile (I do for GCC, binutils, glibc, and gdb)
but maybe this change is small enough to do without it?  Or else someone
else can make the change based on my description above.  I have
subscribed to guile-devel so I will get email sent to the list.

Steve Ellcey
sje@cup.hp.com

------- Current error after making the __ia64__ to IA64 change when
        building guile 1.6.7:

creating guile
cat alist.doc arbiters.doc async.doc backtrace.doc boolean.doc chars.doc continu
ations.doc debug.doc dynl.doc dynwind.doc environments.doc eq.doc error.doc eval
.doc evalext.doc extensions.doc feature.doc fluids.doc fports.doc gc.doc goops.d
oc gsubr.doc guardians.doc hash.doc hashtab.doc hooks.doc init.doc ioext.doc ise
lect.doc keywords.doc lang.doc list.doc load.doc macros.doc mallocs.doc modules.
doc numbers.doc objects.doc objprop.doc options.doc pairs.doc ports.doc print.do
c procprop.doc procs.doc properties.doc random.doc rdelim.doc read.doc root.doc
rw.doc scmsigs.doc script.doc simpos.doc smob.doc sort.doc srcprop.doc stackchk.
doc stacks.doc stime.doc strings.doc strop.doc strorder.doc strports.doc struct.
doc symbols.doc throw.doc values.doc variable.doc vectors.doc version.doc vports
.doc weaks.doc symbols-deprecated.doc ramap.doc unif.doc filesys.doc posix.doc n
et_db.doc socket.doc regex-posix.doc | GUILE="/proj/gcc/sje/guile/obj/pre-inst-g
uile" /proj/gcc/sje/guile/guile-1.6.7/scripts/snarf-check-and-output-texi --manu
al > guile.texi || { rm guile.texi; false; }
ERROR: In procedure variable-set-name-hint!:
ERROR: Wrong type argument in position 2 (expecting SYMBOLP): #<freed cell 40050
f00; GC missed a reference>
make[2]: *** [guile.texi] Error 1
make[2]: Leaving directory `/proj/gcc/sje/guile/obj/libguile'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/proj/gcc/sje/guile/obj'
make: *** [all] Error 2


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: guile on HP-UX IA64
  2005-09-15 18:22 guile on HP-UX IA64 Steve Ellcey
@ 2005-09-16  7:18 ` Ludovic Courtès
  2005-09-16 15:21   ` Steve Ellcey
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2005-09-16  7:18 UTC (permalink / raw)
  Cc: guile-devel

Hi,

Steve Ellcey <sje@cup.hp.com> writes:

> Anyway, my thought about fixing this was to change the the __ia64__
> ifdefs to IA64 and to set IA64 in libguile/gc_os_dep.c only if both
> __ia64__ is set and if LINUX is set.  GCC does not set IA64 by default
> like it does __ia64__.  This way IA64 is not set for HP-UX and libguile
> seem to build OK.  I was able to build libguile but then I eventually
> died with the attached failure.

Apparently, CVS HEAD and 1.7.2 already fix this:

  http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/gc_os_dep.c?rev=1.24&content-type=text/vnd.viewcvs-markup

Is it correct?

Ludovic.


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: guile on HP-UX IA64
  2005-09-16  7:18 ` Ludovic Courtès
@ 2005-09-16 15:21   ` Steve Ellcey
  0 siblings, 0 replies; 3+ messages in thread
From: Steve Ellcey @ 2005-09-16 15:21 UTC (permalink / raw)
  Cc: guile-devel

> > Anyway, my thought about fixing this was to change the the __ia64__
> > ifdefs to IA64 and to set IA64 in libguile/gc_os_dep.c only if both
> > __ia64__ is set and if LINUX is set.  GCC does not set IA64 by default
> > like it does __ia64__.  This way IA64 is not set for HP-UX and libguile
> > seem to build OK.  I was able to build libguile but then I eventually
> > died with the attached failure.
> 
> Apparently, CVS HEAD and 1.7.2 already fix this:
> 
>   http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/gc_os_dep.c?rev=1.24&content-type=text/vnd.viewcvs-markup
> 
> Is it correct?
> 
> Ludovic.

I don't think it is.  While gc_os_dep.c was changed to set IA64, the
continuations.c, gc-malloc.c, gc-mark.c, gc.c, and threads.c files still
appear to have ifdef's based on __ia64__ instead of IA64.  I didn't try
to build the latest CVS sources but I don't see how guile could build
with these ifdef's on HP-UX.

Steve Ellcey
sje@cup.hp.com


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-09-16 15:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-15 18:22 guile on HP-UX IA64 Steve Ellcey
2005-09-16  7:18 ` Ludovic Courtès
2005-09-16 15:21   ` Steve Ellcey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).