[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] Re: MacOS X development
From: |
root |
Subject: |
[Axiom-developer] Re: MacOS X development |
Date: |
Sat, 22 Jan 2005 04:56:11 -0500 |
Chuck,
(Please be sure to copy address@hidden as there are
others on this list who know a lot more than I do and can help)
> I managed to get gcl-2.6.6 to compile on Mac OS X (10.3.7).
> Initially it hung up for not finding libintl.h which seems
> to be part of the GNU gettext package. So I downloaded and
> and tried to install gettext and libconv which are related
> (circularly). The gettext package never finished making
> because of not finding the javac compiler. But enough did
> so that "make install" provided whatever gcl needed to finish.
>
> As I understand it these packages are primarily for
> "internationalization" which sounds worthy but I don't think
> should be allowed to abort a gcl make - just do it with
> fewer facilities. But I may not know what is going on.
>
> I then tried axiom again hoping it would use the gcl-2.6.6
> that I installed. Previously axiom was hanging at the same
> place gcl did. But this time it hung quickly as follows:
>
> ----snipped end of output ----
>
> 1 making /Users/cfm/dev-nobu-extra/axiom/src/scripts
> 17 making /Users/cfm/dev-nobu-extra/axiom/src/lib
> 18 making /Users/cfm/dev-nobu-extra/axiom/obj/linux/lib/fnct_key.o from
> /Users/cfm/dev-nobu-extra/axiom/int/lib/fnct_key.c
> /Users/cfm/dev-nobu-extra/axiom/int/lib/fnct_key.c: In function
> `handle_function_key':
> /Users/cfm/dev-nobu-extra/axiom/int/lib/fnct_key.c:339: error: `SIGCLD'
> undeclared (first use in this function)
> /Users/cfm/dev-nobu-extra/axiom/int/lib/fnct_key.c:339: error: (Each
> undeclared identifier is reported only once
> /Users/cfm/dev-nobu-extra/axiom/int/lib/fnct_key.c:339: error: for each
> function it appears in.)
> make[3]: *** [/Users/cfm/dev-nobu-extra/axiom/obj/linux/lib/fnct_key.o]
> Error 1
> make[2]: *** [libdir] Error 2
> make[1]: *** [srcsetup] Error 2
> make: *** [all] Error 2
in src/lib/fnct_key.c.pamphlet there should be some text at the top
that reads:
\section{MAC OSX port}
On the MAC OSX the signal [[SIGCLD]] has been renamed to [[SIGCHLD]].
In order to handle this change we need to ensure that the platform
variable is set properly and that the platform variable is changed
everywhere.
<<mac os signal rename>>=
#if defined(MACOSXplatform)
bsdSignal(SIGCHLD, null_fnct,RestartSystemCalls);
#else
bsdSignal(SIGCLD, null_fnct,RestartSystemCalls);
#endif
@
In the top level Makefile.pamphlet at around line 1687 you'll see that
there is a subsection for the MACOSX. At line 1702 you'll see that it
defines the shell variable 'PLF' thus:
# Platform variable
PLF=MACOSXplatform
So you should be setting your AXIOM shell variable like:
export AXIOM=`pwd`/mnt/MACOSX
This will invoke the code in the Makefile.MACOSX subsection
during build which will define the proper PLF.
======================================================================
(Pierre, I suspect you're new to axiom development. Pamphlet files
are "literate programs". They are basically latex files that use
two additional features.
Feature 1 is that you can quote text by enclosing it in [[ ]] pairs
This is used to protect things like pathnames in explanations.
Feature 2 is that you can inline source code (the point of a literate
program) by defining "chunks". A chunk is defined by enclosing code
in << >>= where the text between can be anything. A chunks is multi-line
and ends with an '@' in column 1. Thus in the above we see:
<<mac os signal rename>>=
code we are defining
@
and when you want to insert the code you make a reference by leaving
off the trailing '=' sign. A preprocessor (notangle) will expand this
before latex see it so both of these features are transparent to latex.
Thus in the file, where the code should be we will see:
<<mac os signal rename>>
======================================================================
Tim
- [Axiom-developer] Re: MacOS X development,
root <=