[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[HELP!] Seeking auto* enligntenment
[HELP!] Seeking auto* enligntenment
Tue, 8 Oct 2002 11:20:20 +0200
I need some help. I don't know whether I'm on the right mailing
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:
[c headers and sources for lib]
[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 ========================================================
pkglib_LTLIBRARIES = libatb.la
then I get (after successful ./bootstrap, ./configure:
Making all in lib
make: Entering directory `/spare/home/spu/MHS/fischer/atbtools/lib'
make: *** No rule to make target `libatb.la.c', needed by
make: Leaving directory `/spare/home/spu/MHS/fischer/atbtools/lib'
make: *** [all-recursive] Error 1
make: 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
=== 2 ========================================================
pkglib_LTLIBRARIES = libatb
then ./bootstrap issues a warning:
+ aclocal -I config
+ automake --foreign --add-missing --copy
automake: lib/Makefile.am: `libatb' is not a standard libtool library name
``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
| 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.
I went to this cycle a couple of times:
think: you should use auto***
choose a smallish project to try things on
wrestle for a couple of days with things I don't quite understand
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.
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-**).
- [HELP!] Seeking auto* enligntenment,