[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] Re: MacOS X development
From: |
Camm Maguire |
Subject: |
Re: [Axiom-developer] Re: MacOS X development |
Date: |
22 Jan 2005 11:37:40 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
Just a note -- gcl requires several GNU tools to compile on macosx at
present. Fortunately these are routinely available via the 'fink'
mechanism. Here are the environment variables that need setting in a
typical configuration:
export PATH=/sw/bin:/sw/sbin:/usr/local/bin:$PATH # I don't think these are
actually
export LIBRARY_PATH=/sw/lib
export C_INCLUDE_PATH=/sw/include
export CPPFLAGS="-no-cpp-precomp"
Take care,
root <address@hidden> writes:
> 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 mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/axiom-developer
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah