You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Stefan Sperling <st...@elego.de> on 2007/07/25 19:13:31 UTC

trying to build perl bindings on FreeBSD is an adventure

Hello,

I am trying to build current trunk on FreeBSD with perl
bindings enabled. Has been quite an adventure so far.

First, a minor issue:

If swig is not installed, the configure script prints:

	checking for swig... none

Not noticing this the first time, I ran make swig-pl anyway,
which led to:

	/usr/local/bin/python build/generator/swig/external_runtime.py \
		build.conf none perl
	none: not found

Quite a confusing error message if you've never seen it before.

After figuring out that 'none' should rather be a path
to a swig executable, I installed swig 1.3.31 from FreeBSD ports.
Then I noticed there is both a lower and an upper limit for
acceptable swig versions defined in build/ac-macros/swig.m4.
It will only accept swig-1.3.24 to swig-1.3.29.

Defining an upper limit is a bit weird, but there is probably
a good reason for this, is there?
So I installed swig-1.3.29 into /tmp/swig/.

I've tried following subversion/bindings/swig/INSTALL to
the letter. This is how I am trying to get this to work
from a fresh source tree:

	./autogen.sh
	./gen-make.py
	./configure --prefix=/tmp/svn --enable-maintaner-mode \
	    --disable-neon-version-check --with-swig=/tmp/swig/bin/swig
	make
	make install
	make swig-pl-lib
	make install-swig-pl-lib
	cd subversion/bindings/swig/perl/native
	perl Makefile.PL PREFIX=/tmp/svn
	make install

I do have a shared library built for perl bindings:
[stsp@ted ~/elego/svn]$ find . -name \*swig\*.so
./subversion/bindings/swig/perl/libsvn_swig_perl/.libs/libsvn_swig_perl-1.so

Upon the last 'make install' I get:

cc: core.o: No such file or directory
*** Error code 1

Stop in /home/stsp/elego/svn/subversion/bindings/swig/perl/native

When just running 'make swig-pl' instead of all the
	make swig-pl-lib
	make install-swig-pl-lib
	cd subversion/bindings/swig/perl/native
	perl Makefile.PL PREFIX=/tmp/svn
	make install

I get:

make: don't know how to make subversion/bindings/swig/perl/native/core.c. Stop

Something tells me that either swig is not doing its job,
or some Makefile rule isn't being run or doesn't exist (but which?),
or the docs are out of date, or... ?

I will now start digging deeper through the binding build system which
seems quite hairy, but I hope someone here will have an idea as to
what could be going on and help me with this quicker than
I can help myself.

Thanks,
-- 
Stefan Sperling <st...@elego.de>                 Software Developer
elego Software Solutions GmbH                            HRB 77719
Gustav-Meyer-Allee 25, Gebaeude 12        Tel:  +49 30 23 45 86 96 
13355 Berlin                              Fax:  +49 30 23 45 86 95
http://www.elego.de                 Geschaeftsfuehrer: Olaf Wagner