farmdev

Thoughts on Linux

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:

libsvn_ra_dav-1.so: 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*

read article