I've noticed that as well, I even looked into it but haven't patched it.
The issue is the compiler would like to announce what it's version it so
it needs that version in a header file. Currently the system relies
on make to build that header (see compiler/ccp/Makefile.am).
Instead you want to have the version set in one place configure.ac and
have everything else trigger of that at configure time. This would
probably mean deprecating print_version.sh as it is only used to
create that one file (which would also mean deprecating the addition
of svn/git revision number in that file as well, but that really shouldn't
be a problem, now that you are onto real releases).
I'd be willing to fix this stuff up for the project, if there's a chance
the patch might make it through (none of my other 4 patches for the
build system THRIFT-646, THRIFT-647, THRIFT-649, THRIFT-650 every made
it through).
Other oddness which could probably be done away with is the cleanup.sh
script, which 'make maintainer-clean' should basically be doing for you.
Anyway, let me know if there's interest in a patch to allow './bootstrap.sh &&
./configure && make dist' to work.
Cheers,
-Anthony
On Sat, May 01, 2010 at 08:57:01PM -0700, Bryan Duxbury wrote:
> If I do "./bootstrap.sh && ./configure && make dist", I get errors:
>
> [bryanduxbury thrift-0.3]$make dist
> { test ! -d thrift-0.3.0 || { find thrift-0.3.0 -type d ! -perm -200 -exec
> chmod u+w {} ';' && rm -fr thrift-0.3.0; }; }
> test -d thrift-0.3.0 || mkdir thrift-0.3.0
> list='compiler/cpp lib test'; for subdir in $list; do \
> if test "$subdir" = .; then :; else \
> test -d "thrift-0.3.0/$subdir" \
> || ./install-sh -c -d "thrift-0.3.0/$subdir" \
> || exit 1; \
> distdir=`CDPATH="${ZSH_VERSION+.}:" && cd thrift-0.3.0 && pwd`; \
> top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd thrift-0.3.0 && pwd`; \
> (cd $subdir && \
> make \
> top_distdir="$top_distdir" \
> distdir="$distdir/$subdir" \
> am__remove_distdir=: \
> am__skip_length_check=: \
> distdir) \
> || exit 1; \
> fi; \
> done
> \
> /bin/sh ../../ylwrap `test -f 'src/thriftl.ll' || echo './'`src/thriftl.ll
> lex.yy.c thriftl.cc -- flex
> \
> /bin/sh ../../ylwrap `test -f 'src/thrifty.yy' || echo './'`src/thrifty.yy
> y.tab.c thrifty.cc y.tab.h thrifty.h y.output thrifty.output -- bison -y -d
> updating thrifty.h
> make[1]: *** No rule to make target `version.h', needed by `src/main.cc'.
> Stop.
> make: *** [distdir] Error 1
>
> On Sat, May 1, 2010 at 8:12 PM, Todd Lipcon <[email protected]> wrote:
>
> > The tarball seems to include compiled .o files.
> >
> > I think the build process is just make dist, without the preceding make.
> >
> > -Todd
> >
> > On Sat, May 1, 2010 at 10:45 AM, Bryan Duxbury <[email protected]> wrote:
> >
> > > I bootstrapped on my Mac.
> > >
> > > On Sat, May 1, 2010 at 9:09 AM, David Reiss <[email protected]> wrote:
> > >
> > > > What system did you run bootstrap on?
> > > >
> > > >
> > > > --David (mobile)
> > > >
> > > > On May 1, 2010, at 6:53 AM, "Bryan Duxbury" <[email protected]> wrote:
> > > >
> > > > > Hi all,
> > > > >
> > > > > I'd like to propose the following tarball be accepted as the
> > > > > official Thrift
> > > > > 0.3.0 release:
> > > > >
> > > > > http://people.apache.org/~bryanduxbury/thrift-0.3.0-rc1.tar.gz<http://people.apache.org/%7Ebryanduxbury/thrift-0.3.0-rc1.tar.gz>
> > <
> > > http://people.apache.org/%7Ebryanduxbury/thrift-0.3.0-rc1.tar.gz>
> > > > <http://people.apache.org/%7Ebryanduxbury/thrift-0.3.0-rc1.tar.gz
> > > > > >
> > > > >
> > > > > with GPG signature:
> > > > > http://people.apache.org/~bryanduxbury/thrift-0.3.0-rc1.tar.gz.asc<http://people.apache.org/%7Ebryanduxbury/thrift-0.3.0-rc1.tar.gz.asc>
> > <
> > > http://people.apache.org/%7Ebryanduxbury/thrift-0.3.0-rc1.tar.gz.asc>
> > > > <http://people.apache.org/%7Ebryanduxbury/thrift-0.3.0-rc1.tar.gz.asc
> > > > > >
> > > > > and MD5 sum: 677607c0b5acb89fb35386169c7ffa8d
> > > > >
> > > > > This tarball was built by checking out
> > > > > http://svn.apache.org/repos/asf/incubator/thrift/tags/0.3.0 and
> > > > > running
> > > > > "./boostrap.sh && ./configure && make && make dist".
> > > > >
> > > > > Please download, untar, configure, and build to verify that
> > > > > everything works
> > > > > as expected. Sorry about the false start.
> > > > >
> > > > > -Bryan
> > > >
> > >
> >
> >
> >
> > --
> > Todd Lipcon
> > Software Engineer, Cloudera
> >
--
------------------------------------------------------------------------
Anthony Molinaro <[email protected]>