CVS problems: @LIBDL@ and LEXLIB

W. Tasin tasin at e-technik.fh-muenchen.de
Sat Jan 29 15:44:44 UTC 2000


Christian Couder wrote:
> 
> Hi Walter,
> 
> I dont know what happened to the ./configure I sent you.
> 
> Here is a tar.gz with the files you want.
> 
> Thanks a lot for your help.
> 
> Bye,
> Christian.
> 

Hi Christian...

First I want to have a look at the problem of the variable LEXLIB...

I found out that your automake doesn´t insert LEXLIB = @LEXLIB@ in your 
Makefile.in...
I don´t know if my new configure.in would insert it... just try it out..
on all the other distribution it works fine... really strange...
please delete first the Makefile.in and config.cache... after "make -f
Makefile.cvs" in Makefile.in should be the following line "LEXLIB =
@LEXLIB@"
BTW: Which automake do you use??

Now to a more difficult problem:
-ldl will be found on your system, but this seems to have a version or
naming conflict...

looking at config.log:

ltconfig:2099: g++ -o conftest -O2 -Wall -fno-builtin -fno-rtti
-fno-exceptions   conftest.c  1>&5
/tmp/ccRZQ7ne.o: In function `main':
/tmp/ccRZQ7ne.o(.text+0x4): undefined reference to `dlopen'
collect2: ld returned 1 exit status
ltconfig: failed program was:
#line 2077 "ltconfig"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char dlopen(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
extern "C" char dlopen();

int main() {

/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_dlopen) || defined (__stub___dlopen)
choke me
#else
dlopen();
#endif

; return 0; }
ltconfig:2117: checking for dlopen in -ldl
ltconfig:2135: g++ -o conftest -O2 -Wall -fno-builtin -fno-rtti
-fno-exceptions   conftest.c -ldl   1>&5
/tmp/ccY2nVJE.o: In function `main':
/tmp/ccY2nVJE.o(.text+0x4): undefined reference to `dlopen(void)'
collect2: ld returned 1 exit status


In both tests... the library is found, but not the function "dlopen()"
inside...
Normally the first test without -ldl flag should fail, but the second
should work...

That´s what I found out, but I don´t know how to solve it...
maybe someone who knows more about libraries on Slackware 7 could do so.

Ciao 

Walter 
-- 
oohhh sveglia.... il mondo e' ammalato, ma x colpa di chi.........
(Zucchero)
:-------W. Tasin, FB 04,
FHM-------------------PGP-KeyID:0x7961A645----------:
<Key-Fingerprint: 1610 835F 0080 32F4 6140  6CF7 A7D0 44CD 7961A645>
<http://wwwkeys.pgp.net:11371/pks/lookup?op=index&search=0x7961A645&fingerprint=on>


----------------------
configure.in
for testing with Slackware 7:
---------------------- snip --------------------------------------
dnl without this order in this file, autoconf will not work!
dnl the argument is a source file out of your sources. But
dnl acinclude.m4 makes the job for all programs ;-)
AC_INIT(acinclude.m4)

dnl without this order in this file, automake will be confused!
dnl the argument 
AM_CONFIG_HEADER(config.h)

dnl inits some variables needed by automake's Makefiles.
dnl add here the package name and it's version number. It will
dnl be defined in config.h and in the Makefiles
AM_INIT_AUTOMAKE(kdevelop,'1.1beta2')

dnl sets the prefix to $KDEDIR or /usr/local/kde (if no $KDEDIR
dnl set) for the case, that there is no --prefix
AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})

dnl the first KDE macro to check for the Compilers needed. The
dnl default autoconf macro had not the best support for C++ compilers.
AC_CHECK_COMPILERS
AC_CHECK_BOOL

dnl Check for a lexer.
LEXLIB=""
AM_PROG_LEX
AC_SUBST(LEXLIB)

dnl don't build libraries. This mainly disables the configure switches
dnl --enable-shared and --enable-static, since they don't make that much
dnl sense then :)
dnl AM_DISABLE_LIBRARIES
dnl But contrary to above we _will_ enable shared libs
AM_ENABLE_SHARED

dnl let libtool configure. Checks for the way to handle your compiler
dnl to do some magic 
KDE_PROG_LIBTOOL

dnl adds --disable-nls to not install the .gmo files out of po. If you
dnl don't have i18n support, you may want to remove this, but leaving it
dnl here doesn't hurt
AM_KDE_WITH_NLS

dnl This uses qt1. Make sure it's valid
KDE_USE_QT(1)

dnl definitly the biggest macro. Checks for X, qt, moc, KDE and the
dnl correct paths to install to. This macro adds about 1700 lines to
dnl your configure, so be aware not to remove it!
AC_PATH_KDE   

dnl use this routine to initialize LIBDL
KDE_CHECK_LIBDL

dnl Image readers/writers

dnl AC_FIND_JPEG   will be checked by KDE_CHECK_KIMGIO
dnl AC_FIND_TIFF               -- " --
KDE_CHECK_KIMGIO 

CPPFLAGS="$CPPFLAGS $all_includes"
AC_CHECK_HEADERS(nkf.h)

dnl in this space add everything you want to check for
dnl examples are specific headers, libraries, etc.
dnl everything to compile and run a KDE program is already checked

KDEV_SUBST_KHTMLW
KDEV_PATH_QTDOC
KDEV_PATH_KDELIBSDOC
KDEV_PATH_KDOCINDEX
KDEV_CHECK_DOCBASE
KDEV_CHECK_KDOC2
KDE_CHECK_FINAL

dnl add here all your Makefiles. This are created by configure
AC_OUTPUT(Makefile \
kdevelop/Makefile \
po/Makefile \
kdlgloader/Makefile \
kdevelop/classparser/Makefile \
kdevelop/classwizard/Makefile \
kdevelop/gfxview/Makefile \
kdevelop/kdlgedit/Makefile \
kdevelop/kwrite/Makefile \
kdevelop/kwrite/pix/Makefile \
kdevelop/pics/Makefile \
kdevelop/print/Makefile \
kdevelop/vc/Makefile \
kdevelop/dbg/Makefile \
kdevelop/pics/mini/Makefile \
kdevelop/toolbar/Makefile \
kdevelop/tools/Makefile \
kdevelop/templates/Makefile \
doc/Makefile \
doc/de/Makefile \
doc/de/manual/Makefile \
doc/de/welcome/Makefile \
doc/de/cref/Makefile \
doc/en/Makefile \
doc/en/addendum/Makefile \
doc/en/cref/Makefile \
doc/en/kde_libref/Makefile \
doc/en/manual/Makefile \
doc/en/programming/Makefile \
doc/en/tutorial/Makefile \
doc/en/welcome/Makefile \
doc/es/Makefile \
doc/es/welcome/Makefile \
doc/fr/Makefile \
doc/fr/tutorial/Makefile \
doc/fr/welcome/Makefile \
doc/nl/Makefile \
doc/nl/welcome/Makefile \
doc/pl/Makefile \
doc/pt/Makefile \
doc/pt/manual/Makefile \
doc/pt/programming/Makefile \
doc/ru/Makefile \
doc/ru/cref/Makefile \
doc/ru/manual/Makefile \
doc/ru/programming/Makefile \
doc/ru/tutorial/Makefile \
doc/ru/welcome/Makefile \
doc/sv/Makefile \
doc/zh_CN.GB2312/Makefile \
doc/zh_CN.GB2312/tutorial/Makefile \
doc/zh_CN.GB2312/welcome/Makefile \
doc/zh_CN.GB2312/manual/Makefile \
doc/hu/Makefile \
doc/hu/manual/Makefile \
doc/hu/welcome/Makefile
)




More information about the KDevelop-devel mailing list