autoconf
[Top][All Lists]
Advanced

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

Re: dynamic linker (Win32)


From: Florian Schricker
Subject: Re: dynamic linker (Win32)
Date: Mon, 22 May 2006 12:11:50 +0200

Hi Ralf, hi bug-libtool-list!


> Von: Ralf Wildenhues <address@hidden>

> > Our projects here use libtool/g++ to build DLLs which works fine
> > (now); but when configuring I get
> 
> This is a Libtool issue.  Please print the Libtool version that you use
> (either "./libtool --version", or look at the beginning of the ltmain.sh

ltmain.sh (GNU libtool) 1.4e (1.1162 2002/11/22 22:36:25)

(which is rather old, isn't it? But upgrading MinGW/MSys packages unfortunately 
is *not* as easy as "emerge -u" :-/)

> file), and post the complete output of the configure run to bug-libtool

$ ./configure --prefix=/home/eyerq/local 
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking for egrep... grep -E
checking for ld used by GCC... d:/eyerq/MSYS/1.0/mingw/mingw32/bin/ld.exe
checking if the linker (d:/eyerq/MSYS/1.0/mingw/mingw32/bin/ld.exe) is GNU 
ld... yes
checking for d:/eyerq/MSYS/1.0/mingw/mingw32/bin/ld.exe option to reload object 
files... -r
checking for BSD-compatible nm... /mingw/bin/nm
checking for a sed that does not truncate output... /bin/sed
checking whether ln -s works... yes
checking how to recognise dependent libraries... file_magic ^x86 archive 
import|^x86 DLL
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... no
checking dlfcn.h presence... no
checking for dlfcn.h... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for gfortran... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 8192
checking command to parse /mingw/bin/nm output from gcc object... ok
checking for objdir... .libs
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag  works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT
checking if gcc PIC flag -DDLL_EXPORT works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (d:/eyerq/MSYS/1.0/mingw/mingw32/bin/ld.exe) 
supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... Win32 ld.exe
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking whether the g++ linker (d:/eyerq/MSYS/1.0/mingw/mingw32/bin/ld.exe) 
supports shared libraries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT
checking if g++ PIC flag -DDLL_EXPORT works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (d:/eyerq/MSYS/1.0/mingw/mingw32/bin/ld.exe) 
supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... Win32 ld.exe
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for  option to produce PIC... -DDLL_EXPORT
checking if  PIC flag -DDLL_EXPORT works... no
checking if  supports -c -o file.o... no
checking whether the  linker (d:/eyerq/MSYS/1.0/mingw/mingw32/bin/ld.exe) 
supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... ./configure: -print-search-dirs: 
command not found
./configure: -print-search-dirs: command not found
Win32 ld.exe
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
prefix: /home/eyerq/local !!!
checking for fgrep... grep -F
checking Major version... 1
checking Minor version... 0
checking Point version... 0
checking whether time.h and sys/time.h may both be included... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking for strdup... yes
configure: creating ./config.status
config.status: creating src/rgutilversion.h
config.status: creating Makefile
config.status: creating m4/Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

> (which I've Cc:ed).  Also post config.log (packed).

Appended.

> 
> Maybe also helpful if you post relevant parts of configure.ac.

This is quite tricky; we have a lot of packages as we want our students to be 
able to produce autotools-enabled packages in our tree as easy as possible, so 
some parts have been moved to macros which are then included. But I very much 
doubt that's in any way the cause for the issue. I'll post all used macros 
nonetheless.

configure.in:
------8<------
# Initialize autoconf
AC_PREREQ(2.59)
AC_INIT(rgutil,1.0.0)
AC_CONFIG_SRCDIR(src/rgutil.h)
AC_CONFIG_AUX_DIR(config)
AC_SUBST(VERSION)

# Automake
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(config.h)
AM_PROG_LIBTOOL
AC_PROG_CXX

# Initialize Re-Group environment
RG_LIB
RG_TESTS

# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_TIME
AC_CHECK_HEADERS(sys/time.h)
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T

# Checks for library functions.
AC_CHECK_FUNCS([strdup])

# Output
AC_CONFIG_FILES(Makefile m4/Makefile src/Makefile)
AC_OUTPUT
------8<------

rg_lib.m4:
------8<------
AC_DEFUN([RG_LIB],[
  AC_REQUIRE([RG_INIT])
  AC_CONFIG_FILES([src/${PACKAGE_NAME}version.h:m4/version.h.in])

  RG_BUILD_LIB=yes

  RG_LA_LDFLAGS="-version-info 
$AX_MAJOR_VERSION:$AX_MINOR_VERSION:$AX_POINT_VERSION"
  case "$host" in
    *-*-linux* | *-*-darwin*)
      AC_ENABLE_SHARED
      ;;
    *-*-mingw32*)
      RG_LA_LDFLAGS="$RG_LA_LDFLAGS -no-undefined --enable-runtime-pseudo-reloc"
      dnl AC_DISABLE_SHARED
      AC_ENABLE_SHARED
      ;;
    *)
      AC_ENABLE_SHARED
      ;;
  esac
  AC_SUBST(RG_LA_LDFLAGS)

  RG_LA_LIBADD=
  AC_SUBST(RG_LA_LIBADD)
])
------8<------

rg_init.m4:
------8<------
AC_DEFUN([RG_INIT],[
  AC_REQUIRE([AC_CANONICAL_HOST])
  
  # check if prefix given; defaults to /usr/local
  AC_PREFIX_DEFAULT(/usr/local)
  if test "x${prefix}" = "xNONE"; then
    prefix=/usr/local
    AC_SUBST(prefix)
  fi
  AC_MSG_RESULT([prefix: $prefix !!!])
  
  # Check if a "release build" is performed
  # This results in "non-debuggable" code!!
  AC_ARG_ENABLE(
    [release],
    AS_HELP_STRING(
      [--enable-release],
      [enable "release" build (default is NO)]),
    [enable_release="yes"])

  # filter CPPFLAGS and CXXFLAGS
  if test "x$enable_release" == "xyes"; then
    AC_MSG_NOTICE([enabling RGRELEASE!])
    CPPFLAGS_temp=""
    CXXFLAGS_temp=""
    if test -n "$CPPFLAGS"; then
      for d in $CPPFLAGS ; do
        if test "X$d" != "X-g"; then
          CPPFLAGS_temp="$CPPFLAGS_temp $d"
        fi
      done
      CPPFLAGS="$CPPFLAGS_temp -fomit-frame-pointer -DRGRELEASE"
    fi
    if test -n "$CXXFLAGS"; then
      for d in $CXXFLAGS ; do
        if test "X$d" != "X-g"; then
          CXXFLAGS_temp="$CXXFLAGS_temp $d"
        fi
      done
      CXXFLAGS="$CXXFLAGS_temp -fomit-frame-pointer -DRGRELEASE"
    fi
  fi

  # add re-group prefix to include/library search path (-I/-L)
  CPPFLAGS="$CPPFLAGS -I$prefix/include/re-group"
  LDFLAGS="$LDFLAGS -L$prefix/lib/re-group"

  AC_PROG_FGREP

  AX_SPLIT_VERSION
  AC_SUBST(AX_MAJOR_VERSION)
  AC_SUBST(AX_MINOR_VERSION)
  AC_SUBST(AX_POINT_VERSION)

])
------8<------

> 
> > [...]
> > checking dynamic linker characteristics... Win32 ld.exe
> > [...]
> > checking dynamic linker characteristics... ./configure: -print-search-dirs: 
> > command not found
> > ./configure: -print-search-dirs: command not found
> > Win32 ld.exe
> 
> Weird.  Something unsets $CC.
> 
> > checking whether we are using the GNU C++ compiler... (cached) yes
> > checking whether g++ accepts -g... (cached) yes
> > checking dependency style of g++... (cached) gcc3
> > ./configure: yes=yes: command not found
> 
> Some other command is missing here, but I can't easily tell which.

I got this fixed. My bad. But all the above still remains.


regards,
Florian Schricker

Attachment: config.log.tar.gz
Description: GNU Zip compressed data


reply via email to

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