Subject: Re: viewCVS and Subversion.... and mod_python and Apache2 and libtool !
To: None <tech-pkg@netbsd.org>
From: Eric Gillespie <epg@pretzelnet.org>
List: tech-pkg
Date: 06/16/2003 14:28:39
"Jean-Luc Wasmer" <jl.netbsd@wasmer.ca> writes:

> I'm trying to install viewCVS to browse a Subversion
> repository.

I have this installed on my Subversion server.

> ViewCVS is not in the pkg collection.

I have been meaning to package it, when i find the time.

> To run viewCVS on Apache2 (SVN needs Apache2), I need to install mod_python
> 3 or higher. The only mod_python package available is mod_python 2.7.6 (for
> Apache 1.x).

Whoa there, not true by any stretch of the imagination.  I didn't
even know it worked with mod_python.  Standard viewcvs
installations use CGI.  All you need is something like this
(directly from my httpd.conf):

    ScriptAlias /viewsvn "/usr/local/viewcvs-1.0-dev/cgi/viewcvs.cgi"
    <Directory "/usr/local/viewcvs-1.0-dev/cgi">
        Order allow,deny
        Allow from all
    </Directory>

> I tried to install mod_python 3.0.3 but I get these errors:

Hmm, sucks that it's not in pkgsrc.  Want to provide a package?

> *** Warning: This library needs some functionality provided by -lpython2.2.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> 
> *** Warning: libtool could not satisfy all declared inter-library
> *** dependencies of module mod_python.  Therefore, libtool will create
> *** a static module, that should work as long as the dlopening
> *** application is linked with the -dlopen flag.

This problem will prevent it from working.  I'll try to take a
look at this tonight, but i may not have time.  I should be able
to do it by the end of the week, though.

> This is a problem with libtool. Apache comes with its own copy of libtool,
> and the version which comes with Apache 2.0.43 is old for some reason. To

This is not the problem.  Apache's libtool actually comes from
apr, and i have made the apr package replace its libtool's with
pkgsrc's:

0 ~% ll $(pkg_info -L apr-0.9.4.2.0.46 apache-2.0.46 | grep libtool)
-r-xr-xr-x  1 root  wheel  175974 Jun  1 02:55 /usr/pkg/libexec/apr/libtool
lrwxr-xr-x  1 root  wheel      28 Jun  1 03:07 /usr/pkg/share/httpd/build/libtool -> ../../../libexec/apr/libtool
0 ~% diff /usr/pkg/libexec/apr/libtool /usr/pkg/bin/libtool

[no output]

> Before I upgrade libtool, reinstall everything and eventually screw up my
> system, can someone confirm that this might work?

libtool isn't the problem.  Unless mod_python's documentation is
incorrect and mod_python doesn't use Apache's libtool.

This appears to be the problem:

0 ap2-python% pkg_info -L python22-2.2.2 | grep libpython
/usr/pkg/lib/python2.2/config/libpython2.2.a

Why don't we have a shared libpython?  What do other systems
have?  libtool is right to refuse to link this static archive
into the shared object it is building.  You cannot portably put
non-PIC code into a shared object.  Or does libpython2.2.a
contain PIC code?

--  
Eric Gillespie <*> epg@pretzelnet.org

Build a fire for a man, and he'll be warm for a day.  Set a man on
fire, and he'll be warm for the rest of his life. -Terry Pratchett