[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] linux-static chunk
From: |
Camm Maguire |
Subject: |
Re: [Axiom-developer] linux-static chunk |
Date: |
28 Oct 2003 13:00:09 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
Just a quick query and an observation --
Why would anyone want a static axiom?
Currently gcc warns about several c library functions used by gcl
which must be present in identical dynamic library form at runtime
even with the static image:
gcc -o raw_gcl \
-L. -u __gmpn_toom3_mul_n -lgcl -static -lm -lgmp
/usr/lib/gcc-lib/i486-linux/3.3.2/../../../libbfd.a
/usr/lib/gcc-lib/i486-linux/3.3.2/../../../libiberty.a -lreadline -lncurses -lc
-lgclp
> /usr/lib/gcc-lib/i486-linux/3.3.2/../../../libreadline.a(complete.o)(.text+0x1c71):
> In function `rl_username_completion_function':
: warning: Using 'getpwent' in statically linked applications requires at
runtime the shared libraries from the glibc version used for linking
./libgcl.a(unixfsys.o)(.text+0xc7): In function `coerce_to_filename':
: warning: Using 'getpwnam' in statically linked applications requires at
runtime the shared libraries from the glibc version used for linking
./libgcl.a(unixfsys.o)(.text+0x165): In function `coerce_to_filename':
: warning: Using 'getpwuid' in statically linked applications requires at
runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-lib/i486-linux/3.3.2/../../../libreadline.a(complete.o)(.text+0x1c62):
In function `rl_username_completion_function':
: warning: Using 'setpwent' in statically linked applications requires at
runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-lib/i486-linux/3.3.2/../../../libreadline.a(complete.o)(.text+0x1d0d):
In function `rl_username_completion_function':
: warning: Using 'endpwent' in statically linked applications requires at
runtime the shared libraries from the glibc version used for linking
./libgcl.a(nsocket.o)(.text+0x351): In function `fSgetpeername':
: warning: Using 'gethostbyaddr' in statically linked applications requires at
runtime the shared libraries from the glibc version used for linking
./libgcl.a(nsocket.o)(.text+0xa3f): In function `CreateSocketAddress':
: warning: Using 'gethostbyname' in statically linked applications requires at
runtime the shared libraries from the glibc version used for linking
This would also seem to lessen any attractiveness in a static image.
Take care,
Tim Daly <address@hidden> writes:
> I'm sure you already know this but I'll write it down anyway.
> The steps to take are:
>
> A) CHANGES TO THE Makefile.pamphlet FILE:
>
> *) copy the linux chunk and rename it to linux-static.
> This will set up almost all of the appropriate variables. The chunk
> that gets used is decided by the basename of the $AXIOM variable.
> So to select this new chunk you would make the AXIOM variable be:
> AXIOM=(yourpath)/axiom/mnt/linux-static
> This will create a Makefile.linux-static and invoke it.
>
> *) modify the linux-static chunk to include a new make variable
> Something like
> STATIC=--enable-static
>
> *) add this variable to the ENV variable
> This "passes" the variable down to the next level of Makefile
> which in this case is the lsp/Makefile. The reason this works
> is that you can generally set a shell variable on the same
> commandline as the call to make and the shell variables will
> be seen by the make. The change will look something like:
> ENV= ...... STATIC=${STATIC}
>
> *) hardcode the GCLVERSION variable in the linux-static chunk
> GCLVERSION=gcl-2.6.1-static
>
> *) add documentation to the new linux-static chunk to explain what
> you are doing and why.
>
> *) run the document command on the top level Makefile.pamphlet thus:
> SPAD=$AXIOM
> PATH=$AXIOM/bin:$PATH
> document Makefile (don't add the .pamphlet)
>
> B) CHANGES TO THE zips DIRECTORY
>
> *) add the gcl-2.6.1-16.tgz to zips
>
> *) copy the zips/gcl-2.6.1*.patch files to zips/gcl-2.6.1-16*.patch
>
> *) cvs add gcl-2.6.1-16*
>
> C) CHANGES TO THE lsp/Makefile.pamphlet FILE
>
> *) modify the lsp/Makefile.pamphlet
> so that the GCL configure line include ${STATIC}. Normally this
> will expand to the null string so it won't change the behavior
> of the normal build. When invoked from the Makefile.linux-static
> the STATIC variable will be defined and will expand to --enable-static.
>
> *) document the change in the lsp/Makefile.pamphlet
>
> D) CHANGES TO THE CHANGELOG FILE
>
> *) add a comment to CHANGELOG
>
> copy the whole pile, try a build, and when it works check it all in.
>
> If you're really feeling ambitious you can go to www.testdrive.hp.com,
> sign up for a password, and try it on several linux variants. I already
> have a password so I'm likely to try it.
>
> Tim
>
>
>
>
>
>
> _______________________________________________
> Axiom-developer mailing list
> address@hidden
> http://mail.nongnu.org/mailman/listinfo/axiom-developer
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah