bug-automake
[Top][All Lists]
Advanced

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

make dist fails


From: Kai Sterker
Subject: make dist fails
Date: Wed, 6 May 2009 00:02:07 +0200

Hello,

I have a strange problem with the 'make dist' target. I've been using
automake 1.10.1 and autoconf 2.62. Updating to 1.10.2 and 2.63 showed
exactly the same behavior.

I am using an out-of-source build in which I run 'make dist'. It
aborts with the following error:

Tenebrae:~/adonthell/adonthell-build kai$ make dist
{ test ! -d adonthell-0.4.0-alpha-3 || { find adonthell-0.4.0-alpha-3
-type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr
adonthell-0.4.0-alpha-3; }; }
test -d adonthell-0.4.0-alpha-3 || mkdir adonthell-0.4.0-alpha-3
cp: adonthell-0.4.0-alpha-3/scripts/make-bundle.sh: No such file or directory
make: *** [distdir] Error 1

However:

Tenebrae:~/adonthell/adonthell-build kai$ ls -la ../adonthell/scripts/
total 8
drwxr-xr-x    4 kai  staff   136 May  5 21:22 .
drwxr-xr-x   47 kai  staff  1598 May  5 23:19 ..
drwxr-xr-x    6 kai  staff   204 Mar 15  2008 CVS
-rw-r--r--    1 kai  staff  3454 Mar 15  2008 make-bundle.sh

So the file is definitely there. Here comes the funny bit. To trace
this error down, I've added some echos into the distdir target of the
Makefile:

[...]
        for file in $$dist_files; do \
          if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          if test -d $$d/$$file; then \
            dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
            if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
              cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
            fi; \
            cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || echo "cp $$d/$$file" \  <-------- echo added here
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
[...]

And now it works!

[...]
cp ../adonthell/config/UsePkgConfig.cmake
cp ../adonthell/config/PythonExtraLibs.cmake
cp ../adonthell/config.h.cmake
cp ../adonthell/scripts/make-bundle.sh
cp ../adonthell/README.MacOSX
[...]

The same thing happens in a few other directories and I could "solve"
it in the same fashion.



Soon after, there is another failure though:

list='libltdl src doc test'; for subdir in $list; do \
  if test "$subdir" = .; then :; else \
    test -d "adonthell-0.4.0-alpha-3/$subdir" \
    || ../adonthell/./install-sh -c -d "adonthell-0.4.0-alpha-3/$subdir" \
    || exit 1; \
    distdir=`CDPATH="${ZSH_VERSION+.}:" && cd adonthell-0.4.0-alpha-3 && pwd`; \
    top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd
adonthell-0.4.0-alpha-3 && pwd`; \
    (cd $subdir && \
      make  \
        top_distdir="$top_distdir" \
        distdir="$distdir/$subdir" \
        am__remove_distdir=: \
        am__skip_length_check=: \
        distdir) \
      || exit 1; \
  fi; \
done
:
mkdir /Users/kai/adonthell/adonthell-build/adonthell-0.4.0-alpha-3/libltdl
mkdir: /Users/kai/adonthell/adonthell-build/adonthell-0.4.0-alpha-3/libltdl:
File exists
make[1]: *** [distdir] Error 1
make: *** [distdir] Error 1

I guess the problem here is that distdir target in libltdl/Makefile
looks like follows:

distdir: $(DISTFILES)
        $(am__remove_distdir)
        mkdir $(distdir)

But the top level makefile already creates a libltdl directory. Funny
thing again, the distdir target of the toplevel makefile starts with

distdir: $(DISTFILES)
        $(am__remove_distdir)
        test -d $(distdir) || mkdir $(distdir)

so it wouldn't fall into that trap. But search me if I knew why those
two Makefiles differ. Both should be generated at configure time (but
of course libltdl comes with its own configure script). Maybe that's
the reason.


Manually editing libltdl/Makefile got me over this and I now have the
dist, but it's not a very elegant solution. Maybe somebody here can
suggest something better?


As an additional info: the project in question is
http://savannah.nongnu.org/projects/adonthell, module adonthell in
CVS, in case somebody wants to try and reproduce the problems. I'm
running on OSX 10.4.11, using GNU make 3.80. Please let me know if I
could provide more details.


Regards,

Kai




reply via email to

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