Recently I use Libtool CVS to compile M4 CVS in mingw/msys.I have configureed M4 like this:
        ../m4/configure -C --prefix=/usr --disable-nls --disable-shared

When I make it and get these message:

/bin/sh ./libtool --tag=CC --mode=link gcc -O2 -no-undefined -export-dynamic -dlpreopen force -dlpreopen modules/m4.la -dlpreopen modules/traditional.la -dlpreopen modules/gnu.la -o src/m4.exe src/src_m4-getopt.o src/src_m4-getopt1.o src/src_m4-version-etc-fsf.o src/src_m4-version-etc.o src/src_m4-main.o src/src_m4-freeze.o src/src_m4-stackovf.o m4/libm4.la libtool: link: not configured to extract global symbols from dlpreopened files libtool: link: gcc -O2 -o src/m4.exe src/src_m4-getopt.o src/src_m4-getopt1.o src/src_m4-version-etc-fsf.o src/src_m4-version-etc.o src/src_m4-main.o src/src_m4-freeze.o src/src_m4-stackovf.o -Wl,--export-dynamic modules/.libs/m4.a modules/.libs/traditional.a modules/.libs/gnu.a /home/zxp/savannah/dist-m4-mingw/m4/.libs/libm4.a m4/.libs/libm4.a /usr/lib/libltdl.dll.a src/src_m4-main.o:main.c:(.text+0x1bb): undefined reference to `lt__PROGRAM__LTX_preloaded_symbols'


I trace into libtool, and found it is because of $global_symbol_pipe which is always empty. I don't konw where I am wrong. In file libtool (exactly speaking, it should be ltmain.sh or ltmain.m4sh) I change those:

    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
      if test -n "$NM" && test -n "$global_symbol_pipe"; then
        my_dlsyms="${my_outputname}S.c"
      else
func_error "not configured to extract global symbols from dlpreopened files"
      fi
    fi

into these:

        if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
      if test -n "$NM" ; then
                my_dlsyms="${my_outputname}S.c"
                if test -n "$global_symbol_pipe" ; then
func_warning "not configured to extract global symbols from dlpreopened files"
                fi
      fi
    fi

Now I can make M4 sucessfully. Maybe I should to do more tests.



Reply via email to