axiom-developer
[Top][All Lists]
Advanced

[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




reply via email to

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