[developers] PET on 64-bit Architectures
Eric Nichols
eric-n at is.naist.jp
Thu Jan 12 17:24:05 CET 2006
Stephan,
Thank you for the reply and suggestions.
Regarding my mrs.h patch, it does the following:
* Replaces all #include "rmrs.h" instances with #include mrs.h to
remove the necessity of symlinking mrs.h --> rmrs.h.
* Removes all instances of the now non-existent rmrs.h from the
configure files and makefiles.
* Creates a dummy rule in cheap's makefile to build libmrs.a
whenever mrs.h is needed. Building libmrs.a creates the mrs.h file.
I do not think my problems are related to the (r)mrs.h file, because
commenting out
the #include statement in petecl.c has no effect, and PET compiles as-is
on 32 bit
platforms. Perhaps the problem has something to do with how ECL is
called to build
the MRS library? I have reproduced the relevant snippet of makefile
below. the libmrs.a
rule was already there; my patch just adds the alias to make sure it
gets called when
mrs.h is linked to.
# Add build definition for "mrs.h" ... Eric Nichols
<eric-n at is.naist.jp>, Jun. 18, 2005
mrs.h: libmrs.a
libmrs.a:
( \
echo "(pushnew :i686 *features*)"; \
echo ";;(pushnew :debug *features*)"; \
echo "(load \"$(MRSDIR)/src/general/loadup\")"; \
echo "(si::system (format nil \"cd ~a; find -type f -exec rm
{} \;\" (get-binaries-dir \"mrs\")))"; \
echo "(setq lib-dir (make-pathname :directory '(:relative)))"; \
echo "(compile-system \"mrs\" :force t)"; \
) | $(ECL)
Does this information help any?
Eric Nichols <eric-n at is.naist.jp>
Stephan Oepen wrote:
>hi eric,
>
>
>
>>I am applying a patch that I wrote to make the mrs.h file by calling
>>ECL which builds its from the RMRS source since rmrs.h is no longer
>>distributed with LKB.
>>
>>
>
>i was not quite able to work out what exactly happens in your build (i
>have also not tried ECL versions newer than 0.9h, which worked), but i
>suspect you are maybe ending up including the wrong header file(s).
>
>here is how i usually build the MRS library and include file:
>
> ECLROOT = /usr/local
> LKBROOT = $$DELPHINHOME/lkb
>
> [...]
>
> #
> # rebuild MRS and FSPP libraries, using an installed ECL binary
> #
> mrs:
> ( \
> echo "(load \"$(LKBROOT)/src/general/loadup.lisp\")"; \
> echo "(compile-system \"mrs\" :force t)"; \
> ) | $(ECLROOT)/bin/ecl
> ${RM} -f rmrs.h
> ${LN} -s $(LKBROOT)/include/mrs.h rmrs.h
>
>thus, both `mrs.h' (an ancient part of PET) and `rmrs.h' will be in the
>local `cheap' directory, and both should get included, the latter only
>in `petecl.c' though. --- maybe sorting this out will help?
>
>bernd, i believe the original PET MRS code is defunct and could as well
>be removed, i.e. `mrs.cpp' and `mrs.h' deleted and call(s) purged. the
>only users of related functionality i know of are the people at CST who
>(at least one year ago) were using the mrs_stamp_fs() functionality.
>
>but in case they are still using this, they are probably using the code
>in the older `oe' branch anyway, i.e. cleaning up `main' cannot hurt.
>
> best - oe
>
>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>+++ Universitetet i Oslo (IFI); Boks 1080 Blindern; 0316 Oslo; (+47) 2285 7989
>+++ CSLI Stanford; Ventura Hall; Stanford, CA 94305; (+1 650) 723 0515
>+++ --- oe at csli.stanford.edu; oe at hf.uio.no; stephan at oepen.net ---
>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
>
More information about the developers
mailing list