Resolved: multi-language-branch: --tag=CXX not specified
Actually I was calling AC_LIBTOOL_CXX from configure.in, the documentation seems to suggest that I should: ... To enable C++ support in libtool, use the `AC_LIBTOOL_CXX' macro in your `configure.in' file. I commented out that call, but it didn't help. What did fix the problem was to put AC_PROG_CXX *before* the call to AC_PROG_LIBTOOL. According to this comment in libtool.m4 it should not matter: dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. But it will only work if PROG_CXX is called first. From reading the config.log before and after, it is apparent that the C++ configuration is not done unless AC_PROG_LIBTOOL is called after. Alexandre: you wondered what version I'm using, it is up to date with the repository (and was never more than a day from an update). boreas::/boreas/libtool (128)% cvs status libtool.m4 === File: libtool.m4Status: Up-to-date Working revision:1.71.2.33 Repository revision: 1.71.2.33 /home/cvs/libtool/libtool.m4,v Sticky Tag: multi-language-branch (branch: 1.71.2) Sticky Date: (none) Sticky Options: (none) I'm using GNU m4 version 1.4, and CVS versions of automake and autoconf. Could it be that GNU m4 isn't hooking the macro in properly here?: AC_DEFUN(AC_PROG_LIBTOOL,[AC_REQUIRE([_AC_PROG_LIBTOOL]) dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. AC_PROVIDE_IFELSE([AC_PROG_CXX], [AC_LIBTOOL_CXX], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX ])]) I'm no M4 guru, but it looks right to me. Any ideas? PS: I'd like to thank Alexandre and Ossama for helping me out with this one, it certainly would have taken me much longer to find this myself! Robert Boehne Software Engineer Ricardo Software Chicago Technical Center TEL: (630)789-0003 x. 238 FAX: (630)789-0127 email: [EMAIL PROTECTED]
Re: Resolved: multi-language-branch: --tag=CXX not specified
On Sep 16, 2000, Robert Boehne [EMAIL PROTECTED] wrote: I'm no M4 guru, but it looks right to me. Any ideas? It might be related with the behavioral differences of AC_REQUIRE between autoconf 2.13 and CVS autoconf. It works for me, with autoconf 2.13, but AC_REQUIRE is known to be broken in certain corner cases in it. -- Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/ Red Hat GCC Developer aoliva@{cygnus.com, redhat.com} CS PhD student at IC-Unicampoliva@{lsd.ic.unicamp.br, gnu.org} Free Software Evangelist*Please* write to mailing lists, not to me
Re: multi-language-branch: --tag=CXX not specified
On Sep 14, 2000, Robert Boehne [EMAIL PROTECTED] wrote: /bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. [snip] libtool: compile: unable to infer tagged configuration libtool: compile: specify a tag with `--tag' libtool.m4, that should be part of aclocal.m4, hooks into AC_PROG_CXX some code to automatically add a CXX tag to libtool. If you don't use AC_PROG_CXX or you're using an incompatible libtool.m4, you will get an error like this. Also, I read the documentation on how to port libtool, however it doesn't cover (as far as I could find) porting of C++ support. It's highly outdated, at this point. Basically, you have to modify ltcf-cxx.sh. Take a look at it and see if it makes any sense for you :-) -- Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/ Red Hat GCC Developer aoliva@{cygnus.com, redhat.com} CS PhD student at IC-Unicampoliva@{lsd.ic.unicamp.br, gnu.org} Free Software Evangelist*Please* write to mailing lists, not to me
Re: multi-language-branch: --tag=CXX not specified
Hi Robert, On Fri, Sep 15, 2000 at 03:37:37PM -0500, Robert Boehne wrote: I can now run "make" from the top level and the library will be built. Perhaps there is some confustion using libtool with CXX and CC for files in the same Makefile? This should be transparent. A couple of months ago I added a feature to libtool that automatically selects which tagged configuration to use, even without the "--tag" argument, to specifically handle the situation you describe above. I'll try to reproduce the problem you're getting but I'm fairly certain that this feature was working a few months ago. -Ossama -- Ossama Othman [EMAIL PROTECTED] Distributed Object Computing Laboratory, Univ. of California at Irvine 1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068 70E6 5EB7 5E71 F7A3 94A8
Re: multi-language-branch: --tag=CXX not specified
Hi Robert, I only noticed the following after I posted my last message: On Fri, Sep 15, 2000 at 03:37:37PM -0500, Robert Boehne wrote: libtool: compile: unable to infer tagged configuration libtool: compile: specify a tag with `--tag' Are you using a C++ compiler different (even if only by name) from the one libtool was configured with? Specifically, is the "CXX" tagged configuration set up to use "c++" or "g++?" The above message implies that the libtool configured compiler and the compiler passed by automake are different. Is this the case? BTW, the above message is coming from the automatic tagged configuration selection code I mentioned in my last message. Thanks, -Ossama -- Ossama Othman [EMAIL PROTECTED] Distributed Object Computing Laboratory, Univ. of California at Irvine 1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068 70E6 5EB7 5E71 F7A3 94A8
Re: multi-language-branch: --tag=CXX not specified
Hi Alexandre, On Fri, Sep 15, 2000 at 06:58:02PM -0300, Alexandre Oliva wrote: On Sep 15, 2000, Robert Boehne [EMAIL PROTECTED] wrote: % ../../libtool --tag=CXX --config | grep '^CC=' | tail -1 CC="cc" That's the problem. It should be 'g++', in the CXX configuration. Remove the `tail -1' and make sure you get two lines, one for the default configuration and one overrider for CXX. Then go figure why ltconfig got the wrong value when creating the CXX configuration. Search for `TAG CONFIG: CXX' to see the configuration variables passed to ltconfig. Also check what version of libtool you're using. Robert sent me his generated libtool script. Part of the CXX configuration is listed below. It appears that ltconfig wasn't invoked properly. The C++ compiler was not set when configuring the C++ tagged configuration. ### BEGIN LIBTOOL TAG CONFIG: CXX # Libtool was configured as follows, on host boreas: # # AR="" AR_FLAGS="" LTCC="gcc" CC="" \ # CFLAGS="" CPPFLAGS="" \ # MAGIC="" LD="" LDFLAGS="" LIBS="" \ # LN_S="ln -s" NM="/bin/nm -B" RANLIB="ranlib" STRIP="strip" \ # AS="" DLLTOOL="" OBJDUMP="" \ # objext="" exeext="" reload_flag=" -r" \ # deplibs_check_method="pass_all" \ # file_magic_cmd="\${MAGIC}" \ # make/ltconfig -o libtool --cache-file=/dev/null --with-gcc --build=powerpc-ibm-aix4.3.3.0 --add-tag=CXX make/ltcf-cxx.sh powerpc-ibm-aix4.3.3.0 # BTW, Robert thanks so much for working on the AIX port! I've been aching to get that port completed but since I don't have access to an AIX box I've been waiting for someone to come along to help out. :-) -Ossama -- Ossama Othman [EMAIL PROTECTED] Distributed Object Computing Laboratory, Univ. of California at Irvine 1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068 70E6 5EB7 5E71 F7A3 94A8
Re: multi-language-branch: --tag=CXX not specified
On Sep 15, 2000, Ossama Othman [EMAIL PROTECTED] wrote: Robert sent me his generated libtool script. Part of the CXX configuration is listed below. It appears that ltconfig wasn't invoked properly. Then I'll re-iterate the question of what version of the libtool scripts and libtool.m4 he's using. Also, what are the libtool-related macros called in configure.in? Is AC_LIBTOOL_CXX being called explicitly (it shouldn't), or is it called implicitly by the AC_PROG_CXX hook? -- Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/ Red Hat GCC Developer aoliva@{cygnus.com, redhat.com} CS PhD student at IC-Unicampoliva@{lsd.ic.unicamp.br, gnu.org} Free Software Evangelist*Please* write to mailing lists, not to me
multi-language-branch: --tag=CXX not specified
I'm using the latest multi-language-branch of libtool, with a deeply nested directory structure, top/ top/src/ top/src/TKernel I have Makefile.am's in each, (oh yeah, and the latest automake) When I had only one Makefile.am in the top level that made this library, it worked. I then moved it down to the TKernel directory (because I have 40+ libraries to build). When I did that it stopped working. Making all in TKernel make[3]: Entering directory `/boreas/rbo/new/OCC/OCC/src/TKernel' /bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../inc -I../../drv/FSD -I../../drv/GraphDS -I../../drv/GraphTools -I../../drv/MMgt -I../../drv/OSD -I../../drv/Plugin -I../../drv/Quantity -I../../drv/Resource -I../../drv/SortTools -I../../drv/Standard -I../../drv/StdFail -I../../drv/Storage -I../../drv/TColQuantity -I../../drv/TColStd -I../../drv/TCollection -I../../drv/TShort -I../../drv/Units -I../../drv/UnitsAPI -I../../drv/Dynamic -I../../drv/Materials -I../../drv/Dico-g -O2 -c -o FSD_Archive.lo `test -f ../../src/FSD/FSD_Archive.cxx || echo './'`../../src/FSD/FSD_Archive.cxx libtool: compile: unable to infer tagged configuration libtool: compile: specify a tag with `--tag' make[3]: *** [FSD_Archive.lo] Error 1 This project is on Source Forge, so if anyone would like to see the code go to http://sourceforge.net/cvs/?group_id=10503 Also, I read the documentation on how to port libtool, however it doesn't cover (as far as I could find) porting of C++ support. Did I miss it, or is it not written yet? I'd love to contribute, have access to various machines and C++ compilers, and can write shell scripts. Would someone like to help get me started? Thanks! -- Robert Boehne Software Engineer Ricardo Software Chicago Technical Center TEL: (630)789-0003 x. 238 FAX: (630)789-0127 email: [EMAIL PROTECTED]