Farm Development

Thoughts on Linux

back to all thoughts

undefined reference to `__stack_chk_fail' (compiling subversion 1.4.3 on Ubuntu)

Trying to compile subversion 1.4.3 on Ubuntu since there's no package? Here goes some more google-mentation on the subject... ;)

I followed these helpful notes on getting the initial set of dev packages installed using apt-get (the deb didn't work). However, I don't know if I'm on a fresher install (Ubuntu Dapper 6.06) or if the notes are outdated but while running make I needed a few more packages and thus had to grab these missing libs:

apt-get install expat libexpat1-dev libexpat1
apt-get install ldap-utils libldap-2.2-7 libldap2 libldap2-dev

While configuring, I ran into some issues with berkeley db. First it warns me I'm not compiling with bdb and frankly I'm not sure if that would cause problems or not so just to be safe I upgraded the ubuntu package to libdb4.4 and added --with-berkeley-db to configure. Even after fiddling with its path, configure still couldn't find it. Hmm. Trial and error later I downgraded to 4.2 and that worked. What else uses bdb anyway? ;) Specifically, I grabbed:

apt-get install libdb4.2++-dev libdb4.2-dev libdb4.2

Also while configuring, I noticed the apr package names (from the link above) weren't right, instead I needed:

aptitude install libapr1.0 libapr1.0-dev libaprutil1.0 libaprutil1.0-dev

...and now the working configure string I used looked like:

auto-apt run ./configure --with-ssl --with-apr=/usr/bin/apr-1-config \
--with-apr-util=/usr/bin/apu-1-config --with-berkeley-db

After all that, during make I got this very confusing error in neon land: undefined reference to `__stack_chk_fail'

I guess the ubuntu package of neon 2.5 is not what subversion expects. After much head scratching I decided to cd into the subversion-deps/neon dir and build that version of neon 2.5. It worked! *shrug*

Recent Projects

  • JSTestNet

    Like botnet but for JS tests in CI.

  • Nose Nicedots

    Nose plugin that prints nicer dots.

  • Fudge

    Mock objects for testing.

  • Fixture

    Loading and referencing test data.

  • NoseJS

    Nose plugin that runs JavaScript tests for a Python project.

  • Wikir

    converts reST to various Wiki formats.