From: thomaslloyd on
Hi All,

Been having a bit of a night miare with getting Rivet to compile and
install on my new Ubuntu Server at work.

Here is what I have done:

Running 10.04 in a VM:
These commands give you a full apache mysql setup.
----------------------------------------------------------------------------------------------------------------------------------
sudo apt-get install apache2 mysql-server php5-mysql phpmyadmin
libtool build-essential automake apache2-threaded-dev subversion
tcl8.4 tcl8.4-dev mysqltcl
----------------------------------------------------------------------------------------------------------------------------------
svn co http://svn.apache.org/repos/asf/tcl/rivet/trunk rivet

cd rivet

aclocal
autoreconf -i -f
m4/*.m4 >> aclocal.m4
../configure --with-tcl=/usr/lib/tcl8.4 --with-apxs=/usr/bin/apxs2
make
sudo make install
-------------------------------------------------------------------------------------------------------------------
This runs all the way through and then when i try
tclsh
%package require Session

I get package not found.

The output from make install is:

sudo make install
Making install in src
make[1]: Entering directory `/home/tom/rivet/src'
Making install in apache-2
make[2]: Entering directory `/home/tom/rivet/src/apache-2'
make[3]: Entering directory `/home/tom/rivet/src/apache-2'
test -z "/usr/lib/apache2/modules" || /bin/mkdir -p "/usr/lib/apache2/
modules"
/bin/bash ../../libtool --mode=install /usr/bin/install -c
mod_rivet.la '/usr/lib/apache2/modules'
libtool: install: /usr/bin/install -c .libs/mod_rivet.so /usr/lib/
apache2/modules/mod_rivet.so
libtool: install: /usr/bin/install -c .libs/mod_rivet.lai /usr/lib/
apache2/modules/mod_rivet.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/
bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /usr/lib/apache2/
modules
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib/apache2/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/tom/rivet/src/apache-2'
make[2]: Leaving directory `/home/tom/rivet/src/apache-2'
make[2]: Entering directory `/home/tom/rivet/src'
make[3]: Entering directory `/home/tom/rivet/src'
test -z "/usr/local/apache/lib/rivet0.8.0" || /bin/mkdir -p "/usr/
local/apache/lib/rivet0.8.0"
/bin/bash ../libtool --mode=install /usr/bin/install -c
librivet.la librivetparser.la '/usr/local/apache/lib/rivet0.8.0'
libtool: install: /usr/bin/install -c .libs/librivet.so /usr/local/
apache/lib/rivet0.8.0/librivet.so
libtool: install: /usr/bin/install -c .libs/librivet.lai /usr/local/
apache/lib/rivet0.8.0/librivet.la
libtool: install: /usr/bin/install -c .libs/librivetparser.so /usr/
local/apache/lib/rivet0.8.0/librivetparser.so
libtool: install: /usr/bin/install -c .libs/librivetparser.lai /usr/
local/apache/lib/rivet0.8.0/librivetparser.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/
bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /usr/local/apache/lib/
rivet0.8.0
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/apache/lib/rivet0.8.0

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/tom/rivet/src'
make[2]: Leaving directory `/home/tom/rivet/src'
make[1]: Leaving directory `/home/tom/rivet/src'
Making install in doc
make[1]: Entering directory `/home/tom/rivet/doc'
make[2]: Entering directory `/home/tom/rivet/doc'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/tom/rivet/doc'
make[1]: Leaving directory `/home/tom/rivet/doc'
make[1]: Entering directory `/home/tom/rivet'
make[2]: Entering directory `/home/tom/rivet'
make[2]: Nothing to be done for `install-exec-am'.
/bin/bash /home/tom/rivet/tclconfig/install-sh -d /usr/local/apache/
lib/rivet0.8.0
cp -r rivet/* /usr/local/apache/lib/rivet0.8.0
( cd /usr/local/apache/lib/rivet0.8.0 ; echo 'eval pkg_mkIndex -
verbose [pwd] init.tcl [glob [file join packages * *.tcl] [file join
*[info sharedlibextension]]]' | /usr/bin/tclsh8.4 ; )
successful sourcing of init.tcl
packages provided were {RivetTcl 1.1}
processed init.tcl
warning: error while sourcing packages/dio/pkgIndex.tcl: can't read
"dir": no such variable
successful sourcing of packages/dio/dio_Postgresql.tcl
packages provided were {dio_Postgresql 0.1}
processed packages/dio/dio_Postgresql.tcl
successful sourcing of packages/dio/dio_Sqlite.tcl
packages provided were {dio_Sqlite 0.1}
processed packages/dio/dio_Sqlite.tcl
successful sourcing of packages/dio/dio.tcl
packages provided were {DIO 1.0}
processed packages/dio/dio.tcl
successful sourcing of packages/dio/dio_Oracle.tcl
packages provided were {dio_Oracle 0.1}
processed packages/dio/dio_Oracle.tcl
successful sourcing of packages/dio/diodisplay.tcl
packages provided were {DIODisplay 1.0}
processed packages/dio/diodisplay.tcl
successful sourcing of packages/dio/dio_Mysql.tcl
packages provided were {dio_Mysql 0.2}
processed packages/dio/dio_Mysql.tcl
successful sourcing of packages/rivet_ncgi/rivet_ncgi.tcl
packages provided were {ncgi 1.0}
processed packages/rivet_ncgi/rivet_ncgi.tcl
warning: error while sourcing packages/form/pkgIndex.tcl: can't read
"dir": no such variable
successful sourcing of packages/form/form.tcl
packages provided were {form 1.0}
processed packages/form/form.tcl
warning: error while sourcing packages/tclrivet/pkgIndex.tcl: can't
read "dir": no such variable
successful sourcing of packages/tclrivet/tclrivetparser.tcl
packages provided were {tclrivetparser 0.1}
processed packages/tclrivet/tclrivetparser.tcl
warning: error while sourcing packages/tclrivet/tclrivet.tcl: couldn't
load file "packages/tclrivet/../../../src/librivetparser.so": packages/
tclrivet/../../../src/librivetparser.so: cannot open shared object
file: No such file or directory
warning: error while sourcing packages/tclrivet/parse.tcl: can't read
"argv": no such variable
warning: error while sourcing packages/commserver/server.tcl: can't
read "argv": no such variable
successful sourcing of packages/commserver/commserver.tcl
packages provided were {commserver 0.1}
processed packages/commserver/commserver.tcl
warning: error while sourcing packages/dtcl/pkgIndex.tcl: can't read
"dir": no such variable
successful sourcing of packages/dtcl/dtcl.tcl
packages provided were {Dtcl 1.0}
processed packages/dtcl/dtcl.tcl
warning: error while sourcing packages/session/pkgIndex.tcl: can't
read "dir": no such variable
successful sourcing of packages/session/session-class.tcl
packages provided were {Session 1.0}
processed packages/session/session-class.tcl
warning: error while sourcing packages/simpledb/pkgIndex.tcl: can't
read "dir": no such variable
successful sourcing of packages/simpledb/simpledb.tcl
packages provided were {simpledb 0.1}
processed packages/simpledb/simpledb.tcl
successful loading of librivetparser.so
packages provided were {rivetparser 0.2}
processed librivetparser.so
successful loading of librivet.so
packages provided were {Rivet 1.1}
processed librivet.so
make[2]: Leaving directory `/home/tom/rivet'
make[1]: Leaving directory `/home/tom/rivet'

There are a number of issues there that have worked previously on
8.04 LTS

The rivet mailing list pointed me this way for the experience from the
wider community.

Thanks in advance,

Tom
From: thomaslloyd on
I have found that adding the directory under apache of the rivet
packages in the autopath variable. I am not savy enough to sort out
the problem in the actual install script / make files. Just like the
aclocal.m4 issure. Sure these are easy for people who know what they
are doing with makefiles.

Thanks,

Tom