Login 
 
 Pref   Your subscriptions   Home   Help 
users@ml.mod-xslt2.com
mod-xslt2 - Users Mailing List
   
 
List info
 
 
 
Subscribe
 
 
Unsubscribe
 
 
Archive
 
 
Post
 



Advanced search
2004 01 02 03 04 05 06 07 08 09 10 11 12
2005 01 02 03 04 05 06 07 08 09 10 11 12
2006 01 02 03 04 05 06 07 08 09 10 11 12
2007 01 02 03 04 05 06 07 08 09 10 11 12
2008 01 02 03 04 05 06 07 08 09 10 11 12
2010 01 02 03 04 05 06 07 08 09 10 11 12
2011 01 02 03 04 05 06 07 08 09 10 11 12

  previous   Chronological   next       previous   Thread   next  

Linking errors with libxslt2 on Solaris 9 khyron4eva
  • From: khyron4eva@xxxxxxxxx
  • To: users@xxxxxxxxxxxxxxxx
  • Subject: Linking errors with libxslt2 on Solaris 9
  • Date: Mon, 16 Oct 2006 08:37:32 +0200 (CEST)


  • I have libxslt2 installed under /local/lib. Whenever I run configure, whether
    in a VPATH setup or not, it fails with the following error:

    checking for xsltApplyStylesheet in -lxslt... no
    configure: error: Couldn't find libxslt


    Now, some experimentation has shown that we don't like the -L/local/lib flag
    that configure attempts to build the following source code with. If I build
    this source with the following command, manually, it works fine:

    gcc -o conftest.2 -Os -mcpu=ultrasparc -funroll-loops conftest.c
    -L/usr/local/lib -R/usr/local/lib -lxslt -lxml2 -lz -lpthread -liconv
    -lsocket -lnsl -lm


    If I attempt the build with the following command line, it fails:

    bash-2.05$ gcc -o conftest.1 -Os -mcpu=ultrasparc -funroll-loops conftest.c
    -L/local/lib -L/usr/local/lib -R/usr/local/lib -lxslt -lxml2 -lz -lpthread
    -liconv -lsocket -lnsl -lm
    Undefined first referenced
    symbol in file
    xmlXIncludeProcessFlags /local/lib/libxslt.so
    xmlStrPrintf /local/lib/libxslt.so
    xmlDictCreateSub /local/lib/libxslt.so
    xmlIsDigitGroup /local/lib/libxslt.so
    xmlXPathOrderDocElems /local/lib/libxslt.so
    xmlDictQLookup /local/lib/libxslt.so
    xmlValidateNCName /local/lib/libxslt.so
    xmlModuleOpen /local/lib/libxslt.so
    xmlValidateQName /local/lib/libxslt.so
    xmlDictReference /local/lib/libxslt.so
    xmlModuleClose /local/lib/libxslt.so
    xmlXPathErr /local/lib/libxslt.so
    xmlIsBaseCharGroup /local/lib/libxslt.so
    xmlIsExtenderGroup /local/lib/libxslt.so
    xmlDictCreate /local/lib/libxslt.so
    xmlDictLookup /local/lib/libxslt.so
    xmlModuleSymbol /local/lib/libxslt.so
    xmlXPathDebugDumpObject /local/lib/libxslt.so
    xmlCharInRange /local/lib/libxslt.so
    xmlNewDocPI /local/lib/libxslt.so
    xmlXPathCtxtCompile /local/lib/libxslt.so
    xmlCtxtUseOptions /local/lib/libxslt.so
    xmlIsCombiningGroup /local/lib/libxslt.so
    xmlXPathContextSetCache /local/lib/libxslt.so
    xmlDictFree /local/lib/libxslt.so
    xmlDictOwns /local/lib/libxslt.so
    ld: fatal: Symbol referencing errors. No output written to conftest.1
    collect2: ld returned 1 exit status


    Any thoughts on the source of this problem would be most appreciated. Even
    adding LDFLAGS="" and CPPFLAGS="" to my configure command has not yielded any
    result. I haven't found where in the configure script it is finding the PATHs
    to break apart for the -L and -R flags. I think I need to hack around this
    logic.


    Thanks in advance!


    == START SOURCE ==

    /* confdefs.h. */

    #define PACKAGE_NAME "mod-xslt"
    #define PACKAGE_TARNAME "mod-xslt"
    #define PACKAGE_VERSION "1.3.8"
    #define PACKAGE_STRING "mod-xslt 1.3.8"
    #define PACKAGE_BUGREPORT "ccontavalli at masobit.net"
    #define STDC_HEADERS 1
    #define HAVE_SYS_TYPES_H 1
    #define HAVE_SYS_STAT_H 1
    #define HAVE_STDLIB_H 1
    #define HAVE_STRING_H 1
    #define HAVE_MEMORY_H 1
    #define HAVE_STRINGS_H 1
    #define HAVE_INTTYPES_H 1
    #define HAVE_UNISTD_H 1
    #define HAVE_DLFCN_H 1
    #ifdef __cplusplus
    extern "C" void std::exit (int) throw (); using std::exit;
    #endif
    #define HAVE_MALLOC 1
    #define HAVE_MEMCMP 1
    #define HAVE_MEMSET 1
    #define HAVE_REALLOC 1
    #define HAVE_STAT 1
    #define HAVE_VPRINTF 1
    #define HAVE_MEMSET 1
    #define HAVE_STRDUP 1
    #define HAVE_STDLIB_H 1
    #define HAVE_UNISTD_H 1
    #define HAVE_GETPAGESIZE 1
    #define HAVE_MMAP 1
    #define PROTOTYPES 1
    #define __PROTOTYPES 1
    #define STDC_HEADERS 1
    #define HAVE_STDLIB_H 1
    #define HAVE_FCNTL_H 1
    #define HAVE_STRING_H 1
    #define HAVE_UNISTD_H 1
    #define MXSLT_THREAD
    /* end confdefs.h. */

    /* Override any gcc2 internal prototype to avoid an error. */
    #ifdef __cplusplus
    extern "C"
    #endif
    /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply. */
    char xsltApplyStylesheet ();
    int
    main ()
    {
    xsltApplyStylesheet ();
    ;
    return 0;
    }

    == END SOURCE ==


    bash-2.05$ ls -ltr /local/lib/libxslt.so*
    .
    .
    -rwxr-xr-x 1 root root 262772 Oct 11 09:53
    /local/lib/libxslt.so.1.1.17
    lrwxrwxrwx 1 root root 17 Oct 11 09:53
    /local/lib/libxslt.so.1 -> libxslt.so.1.1.17
    lrwxrwxrwx 1 root root 17 Oct 11 09:53 /local/lib/libxslt.so
    -> libxslt.so.1.1.17

      Powered by Sympa