I propose we add the FAQ entry similar to the following:
<p>One typical error message class involve the following pattern:</p>
<pre>
../../subversion/../*.so: undefined reference to `function_not_worked_on'
collect2: ld returned 1 exit status
make: *** [subversion/something/something] Error 1
</pre>
<p>There are a couple of common causes of this kind of problem:</p>
<p>1. You could be linking to your own installed libraries.</p>
<p>Workaround 1: Remove any installed subversion libraries from
subdirectories of your PREFIX directory. A discussion of this sort of
cleanup is available at <link to Karl Fogel's post in the hacking
guide.</p>
<p>Workaround 2: Specify a different prefix. For example:
<br /><code>"./configure --prefix=/dev/null ## Doesn't exist"</code></p>
<p>2. You may have run <code>"svn up"</code> so that your build system
files are now stale:</p>
<p>Rerun <code>"./autogen.sh; make"</code> or
<code>"./autogen.sh; ./config.nice; make"</code>
to run configure with the same arguments as the last invocation
</p>
Potential addition:
If you have altered a build system file,
<a href="link_to_permutation_table">
see here for information</a> how to refresh your build.
(link to build system doc entry that holds the decision matrix that
explains this bit, see below)
---------------------
Daniel Shahaf wrote:
> How does this compare to the HACKING (docs/community-guide/) section
> containing Karl's "voice of experience" email? Should they
> crossreference each other?
Karls' advice would not have helped me in this situation, the
--prefix=/dev/null was the best soln. for my problem. He addresses
build system changes for the most part.
> It would be useful to explain why this happens or what needs to be run
> when. IIRC the permutations are: if Makefile.in changed, re-run
> configure to regenerate Makefile; if configure.ac or build/ac-macros/
> changed, rerun autogen.sh to regenerate configure (then run configure);
> if build.conf or build/gen-make/ changed, run ./gen-make.py (which is
> normally invoked by autogen.sh) to regenerate build-outputs.mk.
I could add the following table:
Changed File Re-run script Output Next action
==============================================================
Makefile.in configure Makefile make
build.conf gen-make.py build-outputs.mk configure
build/gen-make/ " " "
configure.ac autogen.sh configure "
build/ac-macros/ " " "
---------------------------------------------------------------
However, I think something like that belongs in the section about the
build system, and if the above table(or a variant thereof) is liked,
we could put a link in the faq entry that points to it.
========================================================================
Ben Reser wrote:
> been using <tt> for that, but I believe <tt> is going away and I'd bet
> we've been inconsistent about that.
"<tt> is not supported in HTML5. Defines teletype text."
(http://www.w3schools.com/tags/default.asp)
I could attempt to find-replace. There are 2559 instances, including
page translations -- would any commiter like to make that change?