gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Problems Building gcl-2.4.4 on FreeBSD 4.7/i386


From: Scott Ballantyne
Subject: [Gcl-devel] Problems Building gcl-2.4.4 on FreeBSD 4.7/i386
Date: 25 Dec 2002 21:52:45 -0000

I've had the following problems building gcl 2.4.4 on FreeBSD
4.7/i386:

./configure

Configure runs for a while, and the can't find the machine name.
I followed configures suggestion at this point and typed:

./configure --enable-machine=FreeBSD
make

Problem 1
----------
Neither of the makes here understand -include, only .include
"filename". The FreeBSD make, which I guess is Berkeley's, or gnu make
3.79.1. Changing all the -include name to .include "name" works around
this, but is tedious.

Problem 2
---------
No isnormal(). Here's a version which should work, but I'm not sure
how to integrate it cleanly into the distribution. I added isnormal.o
to the libs list in FreeBSD.def and added a #define
FREEBSD_ISNORMAL386 to the relevant files in o.

------------------------------------------------------------------------
/* isnormal.c, return non-zero if arg not zero, infinte, subnormal or NaN
   FreeBSD 4.7 lacks this function
   Scott Ballantyne (address@hidden)
   Use freely at your own risk...
*/
/* You will need the source to the libraries to compile this function */

#include "/usr/src/lib/msun/src/math.h"
#include "/usr/src/lib/msun/src/math_private.h"

int isnormal (double x)
{
  int32_t hx,lx;
  EXTRACT_WORDS(hx, lx, x);

  hx &= 0x7fffffff;
  if (((hx | lx) == 0) /* x == 0.0 */
      || (hx >= 0x7ff00000) /* x infinite? */
      || ((hx | ((lx|-lx) >> 31)) > 0x7ff00000) /* NaN? */
      || (hx < 0x00100000))     /* Subnormal? */
    return 0;

  return 1;
}
-------------------------------------------------------

Problem 3.

Linking fails not being able to find readline symbols. I'm not sure
what to do here, so would appreciate some advice. Is every porter
supposed to write their own readline stuff? In any case, here's the
compiler output:

cd unixport; make saved_gcl)
gcc -pipe -O -fwritable-strings -fomit-frame-pointer -DVOL=volatile 
-I/usr/local/src/Gnu/gcl-2.4.4/o -I/usr/local/lib/gcl-2.0/h -fsigned-char 
-static  -o raw_gcl  ../o/main.o ../o/alloc.o ../o/gbc.o  ../o/bitop.o 
../o/typespec.o ../o/eval.o  ../o/macros.o ../o/lex.o ../o/bds.o  ../o/frame.o 
../o/predicate.o ../o/reference.o  ../o/assignment.o ../o/bind.o ../o/let.o  
../o/conditional.o ../o/block.o ../o/iteration.o  ../o/mapfun.o ../o/prog.o 
../o/multival.o  ../o/catch.o ../o/symbol.o ../o/cfun.o  ../o/cmpaux.o 
../o/package.o ../o/big.o  ../o/number.o ../o/num_pred.o ../o/num_comp.o  
../o/num_arith.o ../o/num_sfun.o ../o/num_co.o  ../o/num_log.o ../o/num_rand.o 
../o/earith.o  ../o/character.o  ../o/sequence.o  ../o/list.o ../o/hash.o 
../o/array.o  ../o/string.o ../o/regexpr.o ../o/structure.o ../o/toplevel.o  
../o/file.o ../o/read.o ../o/backq.o  ../o/print.o ../o/format.o 
../o/pathname.o  ../o/unixfsys.o ../o/unixfasl.o ../o/error.o  ../o/unixtime.o 
../o/unixsys.o ../o/unixsave.o  ../o/funlink.o   ../o/fat_string.o 
../o/run_process.o  ../o/nfunlink.o ../o/usig.o ../o/usig2.o ../o/utils.o  
../o/makefun.o ../o/sockets.o  ../o/clxsocket.o   ../o/init_pari.o 
../o/nsocket.o ../o/new_init.o ../gmp/libgmp.a ../o/sfasl.o    
../lsp/defmacro.o ../lsp/evalmacros.o ../lsp/top.o  ../lsp/module.o 
../lsp/predlib.o ../lsp/setf.o  ../lsp/arraylib.o ../lsp/assert.o 
../lsp/defstruct.o  ../lsp/describe.o ../lsp/iolib.o ../lsp/listlib.o  
../lsp/mislib.o ../lsp/numlib.o ../lsp/packlib.o  ../lsp/seq.o ../lsp/seqlib.o 
../lsp/trace.o  ../lsp/sloop.o  ../lsp/debug.o  ../lsp/serror.o ../lsp/info.o 
../lsp/destructuring_bind.o  ../lsp/defpackage.o ../lsp/make_defpackage.o  
../lsp/loop.o  ../cmpnew/cmpinline.o ../cmpnew/cmputil.o ../cmpnew/cmptype.o  
../cmpnew/cmpbind.o ../cmpnew/cmpblock.o ../cmpnew/cmpcall.o  
../cmpnew/cmpcatch.o ../cmpnew/cmpenv.o ../cmpnew/cmpeval.o  
../cmpnew/cmpflet.o ../cmpnew/cmpfun.o ../cmpnew/cmpif.o  ../cmpnew/cmplabel.o 
../cmpnew/cmplam.o ../cmpnew/cmplet.o  ../cmpnew/cmploc.o ../cmpnew/cmpmap.o 
../cmpnew/cmpmulti.o  ../cmpnew/cmpspecial.o ../cmpnew/cmptag.o 
../cmpnew/cmptop.o  ../cmpnew/cmpvar.o ../cmpnew/cmpvs.o ../cmpnew/cmpwt.o  
sys_gcl.o  -lc -lm  ../o/gcllib.a
../o/file.o: In function `open_stream':
../o/file.o(.text+0x3bd): warning: tmpnam() possibly used unsafely; consider 
using mkstemp()
../o/main.o: In function `main':
../o/main.o(.text+0x3bb): undefined reference to `init_readline_function'
../o/num_co.o: In function `integer_decode_double':
../o/num_co.o(.text+0x5a): undefined reference to `isnormal'
../o/num_co.o: In function `integer_decode_float':
../o/num_co.o(.text+0x11e): undefined reference to `isnormal'
../o/file.o: In function `readc_stream':
../o/file.o(.text+0xc15): undefined reference to `rl_getc_em'
../o/file.o: In function `unreadc_stream':
../o/file.o(.text+0xe4e): undefined reference to `rl_ungetc_em'
../o/file.o(.text+0xf1b): undefined reference to `rl_ungetc_em'
../o/file.o: In function `writec_stream':
../o/file.o(.text+0x1002): undefined reference to `rl_putc_em'
../o/file.o: In function `stream_at_end':
../o/file.o(.text+0x13a5): undefined reference to `rl_getc_em'
../o/file.o(.text+0x13eb): undefined reference to `rl_ungetc_em'
../o/file.o: In function `init_file_function':
../o/file.o(.text+0x39c4): undefined reference to `init_readline_function'
*** Error code 1

Stop in /usr/local/src/Gnu/gcl-2.4.4/unixport.
*** Error code 1


Thanks for any suggestions.

Best,
sdb
-- 
address@hidden




  




reply via email to

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