Hi Richard & John, Richard, the command I've meant to send you is 'autoreconf -i', and not 'autoconf -i' (e.g. with a 're' between 'auto' and 'conf') -- I gave you the answer from what I remembered, instead of actually testing it, so that should be a lesson for me. Please forgive my laziness that caused you lost time.
John, the bootstrap script is a fossil of what should have left (and did left after a change I've just committed) the repository sooner but I've missed it -- don't use that as its out of date and incomplete. But you are right, due to a mistake in the build system (and lack of testing from my part, I use only out of place builds as they allow me to keep the sources directory pristine), in-place builds temporary failed. Another commit I've just submitted should address this -- you can now do both in-place and out-of-place builds. So the correct instructions (until I find a way to distribute a tarball) are: git clone git://repo.or.cz/splint-patched.git cd splint-patched autoreconf -i ./configure make && sudo make install If you'd like to also validate your build, do a check before installing: make && make check && sudo make install Configure now has some additional (preprocessor related) flags, that you might want to set. For Debian (and derivatives), the headers are no longer in '/usr/include' (Splint's default list of includes), but are now spread (due to multilib) in '/usr/include' & '/usr/include/x86_64-linux-gnu' (or '/usr/include/i386-linux-gnu' on 32-bit platforms). Thus, in such a case, you'd want to extend Splint's list of default include directories this way: ./configure --with-systemdirs=/usr/include:/usr/include/x86_64-linux-gnu Additionally, if you want Splint's default list of predefined preprocessor symbols, use configure's 'with-predefines' flag. Of course, the usual (autoconf generated) configure options/flags work: --prefix, CC, CFLAGS etc. This time I've tested everything from a fresh directory (not from my development setup), and I'm quite sure that the indications work on a Debian (stable) system, though hopefully they should work on any recent unix-like one. Sorry for the trouble I've given you, I didn't meant to. But let's keep things in perspective: I'm trying to help by providing some patches to a application that has been long stagnant, and it's the first time I'm releasing some code publicly -- so please be patient. Of course, you also want to help by testing my patches and giving me feedback, I'm grateful for that, understand your frustration (and I can find justification for it) and I'm sorry for the trouble (and time lost) I've caused -- I'm still looking for your feedback and any other ways you'd like to contribute. What I want to say is that what we're all trying to do here is just collaborate on a tool that could make ours (and maybe others) work a bit easier/better. It is not my intention to frustrate anyone, or to make others loose time -- it's just my clumsiness (and let's be honest, a bit of laziness) in trying to help others. The lesson has been learned, and I promise better testing from a regular user's perspective. Best, Mihail. On Tue, Mar 21, 2017 at 02:04:17PM +1300, John Carter wrote: > Ok, worked it out... You must not build it in the source tree... > > To build.... > > git clone http://repo.or.cz/splint-patched.git > cd splint-patched > mkdir config > ./bootstrap > cd .. > mkdir bld > cd bld > ../splint-patched/configure > make > sudo make install > > On Tue, Mar 21, 2017 at 2:00 PM, John Carter <john.car...@taitradio.com> > wrote: > > I got a step further than Richard.... > > It seems to need a config dir... > > mkdir ./config > > Run the bootstrap script > ./bootstrap > > Configure it... > ./configure > > Make > make > > Alas, still dies... > Making all in imports > make[2]: Entering directory '/home/johnc/build/splint-patched/imports' > A GENA A A A A assert.lcs > mv: './assert.lcs' and './assert.lcs' are the same file > Makefile:488: recipe for target 'assert.lcs' failed > make[2]: *** [assert.lcs] Error 1 > make[2]: Leaving directory '/home/johnc/build/splint-patched/imports' > Makefile:364: recipe for target 'all-recursive' failed > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory '/home/johnc/build/splint-patched' > Makefile:305: recipe for target 'all' failed > make: *** [all] Error 2 > > On Tue, Mar 21, 2017 at 1:31 PM, Richard A. O'Keefe <o...@cs.otago.ac.nz> > wrote: > > > > > Your are correct, those bits should be changed, but I'd like to > point > > out that my main goal was code, not documentation (if I'd have to > also > > update documentation, there are places that are in need since > earlier > > then the last official version, not to mention the changes that I've > > described). > > Installation instructions basically *are* code, > that just happens to be executed by a human being. > Code I cannot install is code I cannot use. > > > > > As I've mentioned in the description, my approach to code repository > > is that all generated files (including configure, generated from > > configure.ac) don't belong in the repository (changing the > [external] > > generation tool without any changes to the template files causes > > changes in repository -- not my idea of good practice). But, as I've > > also mentioned in the announcement, now 'make dist' works correctly, > > producing valid archives (*.tar.gz) to distribute. > > There are many respected software engineers who say that > EVERYTHING belongs in the repository.A But it's your > repository, so your rules. > > If I could use 'make dist' I wouldn't need to. > >> > > > > automake provides some standard macros that are not installed by > > default (that should be done only once, and its assumed the > developer > > runs that). If I remember correctly, in order to force autotools > > (autoconf/automake/libtool) to install/generate what is standard but > > missing, one should use 'autoconf -i' in the directory containing > > configure.ac. [Keep in mind this is just a temporary solution until > > I find a way to distribute proper source archives, not > repositories]. > > Sadly, this is not a solution. > > % autoconf -i > configure.ac:16: error: possibly undefined macro: AM_INIT_AUTOMAKE > A A A If this token and others are legitimate, please use > m4_pattern_allow. > A A A See the Autoconf documentation. > configure.ac:17: error: possibly undefined macro: AM_SILENT_RULES > configure.ac:31: error: possibly undefined macro: AM_PROG_LEX > > It turns out that the latest version of autoconf available > from the GNU site is 2.69, which is the one already installed > on the system. > > Just to make sure, I downloaded autoconf-latest and built a > local installation of it, and > m% autoconf > configure.ac:16: error: possibly undefined macro: AM_INIT_AUTOMAKE > A A A If this token and others are legitimate, please use > m4_pattern_allow. > A A A See the Autoconf documentation. > configure.ac:17: error: possibly undefined macro: AM_SILENT_RULES > configure.ac:31: error: possibly undefined macro: AM_PROG_LEX > > m% autoconf --version > autoconf (GNU Autoconf) 2.69 > ... > > so it is not a problem with the system's autoconf. > > So I flicked over to a Linux box and found that autoconf > wasn't installed there.A So I installed a local copy of > autoconf 2.69, and no difference.A Still doesn't work. > It's not a Linux -vs- MacOSX difference. > > Your repository, your rules, my two days of frustration. > > _______________________________________________ > splint-discuss mailing list > splint-discuss@mail.cs.virginia.edu > http://www.cs.virginia.edu/mailman/listinfo/splint-discuss > > -- > John Carter > Phone : (64)(3) 358 6639 > Tait ElectronicsA A A A A A A A A A A A A A > PO Box 1645 Christchurch > New Zealand > > -- > John Carter > Phone : (64)(3) 358 6639 > Tait ElectronicsA A A A A A A A A A A A A A > PO Box 1645 Christchurch > New Zealand > > ---------------------------------------------------------------------- > > This Communication is Confidential. We only send and receive email on the > basis of the terms set out at www.taitradio.com/email_disclaimer > > ---------------------------------------------------------------------- > _______________________________________________ > splint-discuss mailing list > splint-discuss@mail.cs.virginia.edu > http://www.cs.virginia.edu/mailman/listinfo/splint-discuss _______________________________________________ splint-discuss mailing list splint-discuss@mail.cs.virginia.edu http://www.cs.virginia.edu/mailman/listinfo/splint-discuss