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?



Reply via email to