axiom-developer
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]