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

Allegro CL 4.1 Foreign Loading: Problem and Solution

Dear Allegro CL Users:

  Due to an outdated solution to a problem that no longer even exists,
Allegro CL 4.1 users may occasionally run into a failure while
attempting foreign file loading.  The symptoms are a foreign load
failure preceeded by the following messages:

 ;   Foreign loading [....]
 ld: /lib/libc.a(_unpack_dble.o): __unpack_quadruple: multiply defined
 /lib/libc.a(_sprintf_sup.o): __prod_b10000: multiply defined
 /lib/libc.a(_sprintf_sup.o): __carry_out_b10000: multiply defined
 /lib/libc.a(_sprintf_sup.o): __prod_65536_b10000: multiply defined
 Warning: Foreign load failed

  The fix for this is simple, but requires rebuilding Allegro CL.  You
do not need to read in the distribution tape if you have the
distribution directory online.  All you need to do is the following:

 % cd <allegro-dist-directory>/build/
 % /bin/mv removesyms removesyms.orig
 % /bin/cp /dev/null removesyms

After this, you can rebuild your lisp in the normal way via the config
script ("sh config").

  If you can't rebuild your lisp, then a short term solution is to do
the following before attempting a foreign load:

(dolist (s '("__prod_b10000" "__carry_out_b10000"
             "__prod_65536_b10000" "__unpack_quadruple"
  (ff:remove-entry-point s))

  We apologize for any inconvenience this problem may have caused.
Please feel free to contact us at "bugs@franz.com" if you have any
questions or problems.

Charles A. Cox, Franz Inc.        1995 University Avenue, Suite 275
Internet: cox@franz.com           Berkeley, CA  94704
uucp:     uunet!franz!cox         Phone: (510) 548-3600; FAX: (510) 548-8253
                                  > Note: Our area code became 510 in 1991.