libtool
[Top][All Lists]
Advanced

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

revisiting condor and libtool


From: Adam Mercer
Subject: revisiting condor and libtool
Date: Mon, 30 Nov 2009 21:48:57 -0600

Hi

A while ago I posted a question regarding problems I was having with
updating a project, that is built for the condor workflow management
system (http://www.cs.wisc.edu/condor/), to the latest version of
libtool:

<http://lists.gnu.org/archive/html/libtool/2009-05/msg00023.html>

unfortunately I got swamped with other tasks and wasn't able to spend
any more time of this at the time, this now has changed so I have
started looking again. To make this easier I've written a very simple
example in order to debug the problem. This example has a configure.ac
as follows:

AC_INIT([condor_libtool],[0.1],address@hidden)
AC_CONFIG_AUX_DIR([gnuscripts])
AC_CONFIG_MACRO_DIR([gnuscripts])
AC_CONFIG_FILES([ \
  Makefile \
  gnuscripts/Makefile
  src/Makefile
])
AM_INIT_AUTOMAKE([foreign])
AC_CANONICAL_HOST
AC_ARG_ENABLE(
  [condor],
  AC_HELP_STRING([--enable-condor],[compile for use with condor, default=no]),
  [ case "${enableval}" in
      yes) condor=true;;
      no) condor=false;;
      *) AC_MSG_ERROR([bad value ${enableval} for --enable-condor]);;
    esac
  ],[condor=false]
)
AC_PROG_CC_STDC
if test "x$condor" = "xtrue"; then
  AC_CHECK_PROGS([CONDOR_COMPILE],[condor_compile])
  CC="$CONDOR_COMPILE $CC"
  AC_DISABLE_SHARED
fi
LT_INIT
AC_OUTPUT

with src/Makefile.am

bin_PROGRAMS = foo
foo_SOURCES = foo.c

and src/foo.c

#include <stdio.h>
int main(void)
{
  fprintf(stdout, "Hello world!\n");
  return 0;
}

which I then configure using the --enable-condor option to build using
the condor_compile wrapper script. This results the the following
being displayed during configure:

$ ./configure --enable-condor
<snip>checking whether the condor_compile gcc -std=gnu99 linker
(/opt/condor/lib/ld
ERROR: Internal ld was not invoked!
ERROR: Executable may not be linked properly for Condor!
ERROR: For users of Condor on Linux, we highly recommend
ERROR: using the default compiler that came with the
ERROR: distribution. Usually placing /usr/bin first in
ERROR: your path will remedy this error.
ERROR: To learn more about this error, visit this web page:
ERROR: http://www.cs.wisc.edu/condor/manual/faq.html
ERROR: and read the FAQ entry about this problem for your
ERROR: revision of Condor. -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
configure: WARNING: cache variable lt_cv_path_LD contains a newline
configure: creating ./config.status
config.status: creating Makefile
config.status: creating gnuscripts/Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: cache variable lt_cv_path_LD contains a newline
$ make
Makefile:143: *** multiple target patterns.  Stop.
$

with line 143 of Makefile being one of the lines starting with ERROR below:

<snip>
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /opt/condor/lib/ld
ERROR: Internal ld was not invoked!
ERROR: Executable may not be linked properly for Condor!
ERROR: For users of Condor on Linux, we highly recommend
ERROR: using the default compiler that came with the
ERROR: distribution. Usually placing /usr/bin first in
ERROR: your path will remedy this error.
ERROR: To learn more about this error, visit this web page:
ERROR: http://www.cs.wisc.edu/condor/manual/faq.html
ERROR: and read the FAQ entry about this problem for your
ERROR: revision of Condor. -m elf_x86_64
LDFLAGS =
<snip>

following the advice of Ralf, in the last thread, I configured using

$ ./configure --enable-condor LD=/opt/condor/lib/ld

which resulted in no warnings displayed during configure, but the
following during make:

Making all in src
make[1]: Entering directory `/home/ram/condor_libtool-0.1/src'
condor_compile gcc -std=gnu99 -DPACKAGE_NAME=\"condor_libtool\"
-DPACKAGE_TARNAME=\"condor_libtool\" -DPACKAGE_VERSION=\"0.1\"
-DPACKAGE_STRING=\"condor_libtool\ 0.1\"
-DPACKAGE_BUGREPORT=\"address@hidden" -DPACKAGE_URL=\"\"
-DPACKAGE=\"condor_libtool\" -DVERSION=\"0.1\" -DSTDC_HEADERS=1
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
-DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.     -g -O2 -MT foo.o -MD
-MP -MF .deps/foo.Tpo -c -o foo.o foo.c
/opt/condor/bin/condor_compile: line 331: [: too many arguments
gcc: 0.1": No such file or directory
make[1]: *** [foo.o] Error 1
make[1]: Leaving directory `/home/ram/condor_libtool-0.1/src'
make: *** [all-recursive] Error 1

which to me looks like condor_compile is choking on the quoting in one
of the defines?

Does the configure.ac example I have above look OK, or could this
behaviour be explained by an error I've made?

Cheers

Adam




reply via email to

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