gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: error in ./configure when building gcl 2.6.7 on Ubuntu


From: Camm Maguire
Subject: [Gcl-devel] Re: error in ./configure when building gcl 2.6.7 on Ubuntu
Date: 11 Jan 2007 11:05:42 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

I think the issue is with your LIBRARY_PATH and LD_LIBRARY_PATH
settings.  These may or may not be explicitly set in your environment,
but your system has equivalents nonetheless.

LIBRARY_PATH specifies where libraries are to be found at link time.
LD_LIBRARY_PATH specifies where these are to be found at load time.
They need to resolve to the same files, of course.

configure added the following to your link command line when searching
for x libraries

-L/usr/pubsw/lib64

Is this a 64bit system?  If not, do you have 32bit versions of the X
libraries somewhere else?  In any case, my hunch is that there is a
libgmp therein which is used at link time, but which cannot be loaded
at runtime.  You can investigate of course with a ls -l on the above
directory. 

You can set these environment variables before running configure to
point to new locations.  If no gmp is found, gcl will build its own.
It can also be instructed to do this:

--disable-dynsysgmp

You can also investigate with 

ldd raw_pre_gcl

This should show you where the usable runtime libraries are expected.  

Please let me know if problems persist.  It is a configure bug that
this situation is not detected at the configure stage.  In fact, I am
a bit mystified why the following configure logic did not fail:

        AC_CHECK_HEADER(gmp.h,
                AC_CHECK_LIB(gmp,__gmpz_init,
                        AC_MSG_CHECKING("for external gmp version")
                        AC_TRY_RUN([#include <gmp.h>
                                    int main() {
                                    #if __GNU_MP_VERSION == 4
                                        return 0;
                                    #else
                                        return -1;
                                    #endif
                                    }],
#                               MPFILES=$GMPDIR/mpn/mul_n.o
#                               PATCHED_SYMBOLS=__gmpn_toom3_mul_n
                                MPFILES=
                                PATCHED_SYMBOLS=
                                if test "$use" = "m68k-linux" ; then
                                        MPFILES="$MPFILES $GMPDIR/mpn/lshift.o 
$GMPDIR/mpn/rshift.o"
                                        PATCHED_SYMBOLS="$PATCHED_SYMBOLS 
__gmpn_lshift __gmpn_rshift"
                                fi
                                TLIBS="$TLIBS -lgmp"
                                echo "#include \"gmp.h\"" >foo.c
                                echo "int main() {return 0;}" >>foo.c
                                MP_INCLUDE=`cpp foo.c | grep /gmp.h | head -n 1 
| $AWK '{print $3}' | tr -d '"'`
                                rm -f foo.c,
                                echo "Cannot use dynamic gmp lib" , echo 
"Cannot use dynamic gmp lib" ),
                        echo "Cannot use dynamic gmp lib" ,),
                echo "Cannot use dynamic gmp lib" ,)

Take care,


"Eric W. Smith" <address@hidden> writes:

> Hi Camm,
> Thanks for the reply.  I tried what you suggested but am still stuck.  Here's
> what I did. (You can see the full transcript of it here:
> http://www.stanford.edu/~ewsmith/script2
> .)
> 
> (I'm using bash to match the "export" syntax that you used.)
> The CVS command at first reported:
>   cvs [checkout aborted]: must specify at least one module or directory
> so I guessed and added "gcl" as the module name at the end of the command 
> (hope
> that was right!).  That seemed to work, except the checkout would hang at
> gcl-2.6.8pre/xgcl-2/makefile, so I had to abort it and restart (hope that's
> okay; I tried a few times and never got it to complete without having to be
> restarted).
> 
> Next I did "./configure" and that completed successfully (yay!).  But the
> "make" failed with:
>   fat_string.c:17:17: error: bfd.h: No such file or directory
> . See the script for the full output.
> 
> Then I did a "make clean" and tried 
> ./configure --disable-statsysbfd --enable-locbfd
> Again the configure succeeded, but the make failed with this (see script for
> the full output):
> error while loading shared libraries: libgmp.so.3: cannot open shared object
> file: No such file or directory
> 
> I think this last one is an error I haven't seen before.  Any suggestions as 
> to
> how to get gcl built from source on this machine?  Maybe there's some magic
> configure command?
> 
> Thanks again!
> -Eric
> 
> --- Camm Maguire <address@hidden> wrote:
> 
> > Greetings!
> > 
> > This issue and several others have been addressed in the
> > bug-fix-only-point-release-candidate (whew) 2.6.8pre:
> > 
> > export CVSROOT=:pserver:address@hidden:/sources/gcl
> > cvs -z9 -q co -d gcl-2.6.8pre -r Version_2_6_8pre
> > 
> > This is way past due for release.  I am only waiting on a volunteer to
> > test a windows-only read patch -- alas our heroic windows volunteer
> > has resigned.  If anyone here can help please let me know.  It would
> > be nice, but not required for release, to get a mac intel port working
> > too.
> > 
> > Take care,
> > 
> > 
> > "Eric W. Smith" <address@hidden> writes:
> > 
> > > Peter, 
> > > 
> > > Good catch!  The change you suggest lets the ./configure complete.  
> > > Thanks!
> >  
> > > 
> > > The make still fails, but I'm going to ask Camm about that, as well as
> > > suggesting that he incorporate your change.
> > > 
> > > Thanks again!
> > > -Eric
> > > 
> > > --- Peter Dillinger <address@hidden> wrote:
> > > 
> > > > line 1714:
> > > > 
> > > >    system=MP-RAS-`${AWK} '{print $3}' /etc/.relid'`
> > > > 
> > > > to
> > > > 
> > > >    system=MP-RAS-`${AWK} '{print $3}' /etc/.relid`
> > > > 
> > > > 
> > > > found that scanning through the file in VIM with :syntax on.  i bet
> > > > that'll fix it.
> > > > 
> > > > in fact, on my system,
> > > > 
> > > > peterd:~$ false && echo `echo '1`; echo 2; false && echo `echo '3`
> > > > 2
> > > > peterd:~$ echo `echo '1` `echo '2` 
> > > > -bash: command substitution: line 1: unexpected EOF while looking for
> > > > matching `''
> > > > -bash: command substitution: line 2: syntax error: unexpected end of 
> > > > file
> > > > -bash: command substitution: line 1: unexpected EOF while looking for
> > > > matching `''
> > > > -bash: command substitution: line 2: syntax error: unexpected end of 
> > > > file
> > > > 
> > > > peterd:~$ 
> > > > 
> > > > 
> > > > mine skips over unbalanced ' inside ` `.  i bet yours prints nothing
> > > > for the first command and
> > > > 1` `echo 2
> > > > for the second command.
> > > > 
> > > > -peter
> > > > 
> > > > On Tue, Jan 09, 2007 at 02:11:14PM -0800, Eric W. Smith wrote:
> > > > > Peter, 
> > > > > 
> > > > > Thanks for the quick reply.  Changing the script to use /bin/bash 
> > > > > seems
> > to
> > > > have
> > > > > no effect.
> > > > > 
> > > > > I then tried removing the parens from around the call of uname but 
> > > > > got:
> > > > >   /configure: line 7012: syntax error: unexpected end of file
> > > > > Since line 7012 is thousands of lines past the line I edited, I wonder
> > if
> > > > some
> > > > > delimiter isn't balanced.  But I don't know how to read this stuff. 
> > Below
> > > > is
> > > > > an arbitrarily-chopped snippet of the file. The problem line is right
> > after
> > > > the
> > > > > comment "Words are not sufficient.".  Anything jump out at you?
> > > > > 
> > > > > Thanks!
> > > > > -Eric
> > > > > 
> > > > > if test "$no_x" = yes; then
> > > > >   # Not all programs may use this symbol, but it does not hurt to
> > define
> > > > it.
> > > > >   cat >> confdefs.h <<\EOF
> > > > > #define X_DISPLAY_MISSING 1
> > > > > EOF
> > > > >                                                                       
> > > > >  
> >    
> > > >    
> > > > >                                                                       
> > > > >  
> >    
> > > >   
> > > > >   X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
> > > > > else
> > > > >   if test -n "$x_includes"; then
> > > > >     X_CFLAGS="$X_CFLAGS -I$x_includes"
> > > > >   fi
> > > > >                                                                       
> > > > >  
> >    
> > > >    
> > > > >                                                                       
> > > > >  
> >    
> > > >   
> > > > >   # It would also be nice to do this for all -L options, not just this
> > one.
> > > > >   if test -n "$x_libraries"; then
> > > > >     X_LIBS="$X_LIBS -L$x_libraries"
> > > > >     # For Solaris; some versions of Sun CC require a space after -R 
> > > > > and
> > > > >     # others require no space.  Words are not sufficient . . . .
> > > > >     case "`(uname -sr) 2>/dev/null`" in
> > > > >     "SunOS 5"*)
> > > > >       echo $ac_n "checking whether -R must be followed by a space""...
> > > > $ac_c"
> > > > > 1>&6
> > > > > echo "configure:2416: checking whether -R must be followed by a space"
> > >&5
> > > > >       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
> > > > >       cat > conftest.$ac_ext <<EOF
> > > > > #line 2419 "configure"
> > > > > #include "confdefs.h"
> > > > >                                                                       
> > > > >  
> >    
> > > >    
> > > > >                                                                       
> > > > >  
> >    
> > > >   
> > > > > int main() {
> > > > >                                                                       
> > > > >  
> >    
> > > >    
> > > > >                                                                       
> > > > >  
> >    
> > > >   
> > > > > ; return 0; }
> > > > > EOF
> > > > > if { (eval echo configure:2426: \"$ac_link\") 1>&5; (eval $ac_link)
> > 2>&5; }
> > > > &&
> > > > > test -s conftest${ac_exeext}; then
> > > > >   rm -rf conftest*
> > > > >   ac_R_nospace=yes
> > > > > else
> > > > >   echo "configure: failed program was:" >&5
> > > > >   cat conftest.$ac_ext >&5
> > > > >   rm -rf conftest*
> > > > >   ac_R_nospace=no
> > > > > fi
> > > > > rm -f conftest*
> > > > >       if test $ac_R_nospace = yes; then
> > > > >         echo "$ac_t""no" 1>&6
> > > > >         X_LIBS="$X_LIBS -R$x_libraries"
> > > > >       else
> > > > >         LIBS="$ac_xsave_LIBS -R $x_libraries"
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > --- Peter Dillinger <address@hidden> wrote:
> > > > > 
> > > > > > i would try changing
> > > > > > 
> > > > > > #! /bin/sh
> > > > > > 
> > > > > > at the top to
> > > > > > 
> > > > > > #! /bin/bash
> > > > > > 
> > > > > > 
> > > > > > the syntax quoted there is perfectly valid for Bash, but might not 
> > > > > > be
> > > > > > in some pedantic form of sh.  and, btw, if you have uname on your
> > > > > > system, you can remove the parens to get the desired effect and
> > > > > > perhaps adhere to the pedantic shell.
> > > > > > 
> > > > > > -peter
> > > > > > 
> > > > > > On Tue, Jan 09, 2007 at 12:38:55PM -0800, Eric W. Smith wrote:
> > > > > > > Hi everybody,
> > > > > > > 
> > > > > > > I get the error below when trying to build gcl 2.6.7 from 
> > > > > > > sources. 
> > I
> > > > > > googled
> > > > > > > the error message and found that Jared encountered the same 
> > > > > > > problem
> > at
> > > > some
> > > > > > > point.  Has anyone worked around this?  
> > > > > > > 
> > > > > > > I have to build gcl from sources so that I can increase the amount
> > of
> > 
> === message truncated ===
> 
> 
> 

-- 
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]