automake
[Top][All Lists]
Advanced

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

[HELP!] Seeking auto* enligntenment


From: tomas
Subject: [HELP!] Seeking auto* enligntenment
Date: Tue, 8 Oct 2002 11:20:20 +0200
User-agent: Mutt/1.3.24i

Hi,

I need some help. I don't know whether I'm on the right mailing
list.

Trying to set up a small project with autotools (basically a library
with some accessory C functions to test/demonstrate). My directory
setup is basically:

  atbtools
    config
      ...
    lib
      [c headers and sources for lib]
    misc
      [c sources for accessory progs]

and of course the usual configury stuff (I'll be glad to provide more
details if needed).

The top-level Makefile.am has the usual

  SUBDIRS = lib misc

(nothing more for now).

Now to lib/Makefile.am. I've tried many possibilities, but converged on
this ``strange attractor''. If I try

  === 1 ========================================================

  lib/Makefile.am:
    pkglib_LTLIBRARIES = libatb.la

  then I get (after successful ./bootstrap, ./configure:

    Making all in lib
    make[2]: Entering directory `/spare/home/spu/MHS/fischer/atbtools/lib'
    make[2]: *** No rule to make target `libatb.la.c', needed by 
`libatb.la.lo'.  Stop.
    make[2]: Leaving directory `/spare/home/spu/MHS/fischer/atbtools/lib'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/spare/home/spu/MHS/fischer/atbtools'
    make: *** [all-recursive-am] Error 2

  ==============================================================

  ``OK, then, I think. This is too much of an ending. So let's try without
  the .la in Makefile.am'', which leads to
  (of course, make maintainer-clean and removing by hand all things I recognize
  as auto-generated)

  === 2 ========================================================

  lib/Makefile.am:
    pkglib_LTLIBRARIES = libatb

  then ./bootstrap issues a warning:

  address@hidden:~/MHS/fischer/atbtools$ ./bootstrap 
  + aclocal -I config
  + autoheader
  + automake --foreign --add-missing --copy
  automake: lib/Makefile.am: `libatb' is not a standard libtool library name
  + autoconf

  ``Fine, I think. So I need a standard ending after libatb'', which leads
  me to... errr... HELP! I'm in an endless loop.

  ==============================================================

(Oh, yes. This is bootstrap, which I stole from Vaughan/Elliston/Tromey/Taylor
``GNU Autoconf, Automake and Libtool'', New Riders):

  | #! /bin/sh
  | 
  | set -x
  | aclocal -I config
  | autoheader
  | automake --foreign --add-missing --copy

My tool's versions:

  | address@hidden:~/MHS/fischer/atbtools$ automake --version
  | automake (GNU automake) 1.4-p4
  | 
  | Copyright (C) 1999, 2001 Free Software Foundation, Inc.
  | This is free software; see the source for copying conditions.  There is NO
  | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  | 
  | Written by Tom Tromey <address@hidden>
  | address@hidden:~/MHS/fischer/atbtools$ autoconf --version
  | Autoconf version 2.13
  | address@hidden:~/MHS/fischer/atbtools$ libtool --version
  | ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)

My system is a somewhat oldish Debian Gnu/Linux.

<rant>
I went to this cycle a couple of times:

  think: you should use auto***
  choose a smallish project to try things on
  read docs
  try
  wrestle for a couple of days with things I don't quite understand
  give up

Is that really this difficult? To my perception there is a curse on
autotools: there is a big version skew (what I mean is: for minor
version differences there seem to be wild differences on supported
macros and `recommended practices'); error messages are sometimes
incredibly mysterious and way besides the point. If things go
haywire (and they tend to, quite spectacularly), my best bet is
to do trial-and-error without really understanding what I'm doing,
which is quite frustrating.

Somehow I think part of the problem stems from the fact that
automake/autoconf/libtool should be considered as an integrated
system and falls apart at times. It's quite difficult for an outsider
to grasp the limits and interfaces of the subsystems and thus
to get an idea of what to do when things go haywire.
</rant>

Of course I'm interested on help in my special case ;-) but I'd
like to see a discussion about my general points (whether this leads
to my enligntenment or --who knows!-- some improvements on auto-**).

Thanks
-- tomas




reply via email to

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