swarm-support
[Top][All Lists]
Advanced

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

Re: BLT Problems


From: glen e. p. ropella
Subject: Re: BLT Problems
Date: Mon, 30 Dec 1996 16:47:08 -0700

> OK, I think we're getting close.  /usr/lib/libBLT.so was linked to
> libBLT.so.1.9 (an old version obviously).  I would just re-link it to
> /usr/local/blt/lib/libBLT.so.2.1 but for some reason when I build BLT
> libBLT.a gets created, but not libBLT.so.2.1.  I did a "find /usr -name
> libBLT.s* -print" and found nothing.  I think that if I can get the BLT
> install to make this thing, we might be there.  Any idea what might be
> going wrong?  I'm installing BLT just as the BLT readme file says:
> 
>       ./configure -with-cc=gcc
>       make
>       make install
> 
> Is there something else I need to do?
> 
> Thanks for all the help,
> 
> 
> Todd Allen

Well, there's a block of code in the configure.in file that 
reads:

--------------------------------------------------------------
[...]
#--------------------------------------------------------------------
#
#       Check if we can generate shared libraries on this system.
#       Set flags to generate shared libraries for systems that we 
#       know about.
#
#--------------------------------------------------------------------

AC_MSG_CHECKING([how to make shared libraries])
SHLIB_CCFLAGS=""
SHLIB_LOADER="$CC"
SHLIB_LDFLAGS=""
SHLIB_SUFFIX=".so.${blt_cv_major_version}"
SHLIB_EXTRA_FLAGS=""
SHLIB_TARGET=""
SHLIB_LIBS=""

case "$target" in 
  *-sunos4*) 
    SHLIB_LOADER="ld"
    SHLIB_CCFLAGS="-pic"
    SHLIB_LDFLAGS="-assert pure-text"
    SHLIB_SUFFIX=".so.${blt_cv_major_version}.${blt_cv_minor_version}"
    SHLIB_LIBS="-ldl"
    ;;

[...bunch of other platforms...]

  *-linux*)
    AC_CACHE_VAL(blt_cv_sys_elf, 
        AC_EGREP_CPP(isElf, [
#ifdef __ELF__
isElf
#else
isAout
#endif],  [blt_cv_sys_elf="elf"], [blt_cv_sys_elf="aout"]))
    if test "${blt_cv_sys_elf}" = "elf"; then
        SHLIB_CCFLAGS="-fpic"
        SHLIB_LDFLAGS="-shared -Wl,-soname,libBLT${SHLIB_SUFFIX}"
        
SHLIB_EXTRA_FLAGS='-Wl,-rpath,$(LIBDIR):$(TKLIBDIR):$(TCLLIBDIR):$(XLIBDIR)'
        SHLIB_SUFFIX=".so.${blt_cv_major_version}.${blt_cv_minor_version}"
        SHLIB_LIBS="-ldl"
    fi
    target="${target}${blt_cv_sys_elf}"
    ;;
esac
if test -z "$SHLIB_CCFLAGS" ; then 
    AC_MSG_RESULT([don't know how for $target])
else 
    AC_MSG_RESULT([flags set for $target])
    # Override native compiler flags if C compiler is gcc
    if test "${blt_cv_prog_gcc}" = "yes" ; then
        SHLIB_CCFLAGS="-fpic"
    fi
    SHLIB_TARGET="lib-shared"
fi

AC_SUBST(SHLIB_CCFLAGS)
AC_SUBST(SHLIB_LDFLAGS)
AC_SUBST(SHLIB_LOADER)
AC_SUBST(SHLIB_SUFFIX)
AC_SUBST(SHLIB_EXTRA_FLAGS)
AC_SUBST(SHLIB_TARGET)
AC_SUBST(SHLIB_LIBS)
[...]
---------------------------------------------------------------

If you look at the output of the configure program, you will see
whether or not configure recognized that your system can use
sharable libraries.  Once again, the output of the make will
help also.  (I'm going to CC: this to the list so that the others
will see our progress.  I only mentioned not going to the list
if there was alot of make output.)  So, the next thing to do
would be to either re-run ./configure or just check the Makefile
file for something like:

 checking how to make shared libraries... 

or

 all: lib-static $(demo) lib-shared


If you got a positive response for the configure query (like
the one above except for Linux), then "make" should make the
"lib-shared" target as well as the "lib-static."  (that's why
looking in the Makefile might help....it'll tell you where make
put them)

If you got a negative response to the "checking how to make ...",
then you need to find out why.  I'm sorry my answer isn't more
complete; but, I'm at work and I don't have my linux box on the
net right now.

glen



reply via email to

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