[In the message "[sqlite] --prefix" on May 29, 13:11, "Smith1, Robert E" 
writes:]
> Hi,
> 
>  I am trying to install sqlite3 on Sun Solaris 2.8. I am not root so I
> cannot install to /usr/local.  I start configure with
> --prefix=/ptmp/usr/local    to try to get it to install to a different
> directory.

This is the correct syntax for what you are trying to do.

> But I get the same
> 
> error:
> 
> /ptmp/bld/> make install
> 
> tclsh ../sqlite-3.3.17/tclinstaller.tcl 3.3
> 
> can't create directory "/usr/local/lib/tcl8.4/sqlite3": read-only file
> system
> 
>     while executing
> 
> "file mkdir $LIBDIR/sqlite3"
> 
>     (file "../sqlite-3.3.17/tclinstaller.tcl" line 15)
> 
> *** Error code 1
> 
> make: Fatal error: Command failed for target `tcl_install'

I have not done this myself but I think I know what the problem is.

Your sqlite installation is correctly figuring out the prefix
and is being installed in the right place.

There is an additional piece of software that is being installed, though.

It is tclsqlite extension to tcl.
This is probably a shared library and a tcl loader, which reacts to
the "package require tclsqlite" command in tcl.
The question is, where are those being installed.
Since they are being used by tcl and not by sqlite, they get installed
where tcl can see them.
Since you are probably using system wide tclsh and not the one 
(not) installed in /ptmp/usr/local, the system wide one is trying to
install the extension where it will find it.
That is most likely its own library area.
The hint is:
> can't create directory "/usr/local/lib/tcl8.4/sqlite3": read-only file
Try running:  which tclsh
and you will probably find that it is
/usr/local/bin/tclsh8.4
or something like that.

> Is my syntax for --prefix correct and is that supposed to correct the
> above error?

So what is the solution here?

You can run:  make -k install
and it will install everyting that it can, excluding tcl extension.
If you want to run tclsqlite from tcl, you can by hand copy the
shared library which would be placed in: $LIBDIR/sqlite3
somewhere you can write, /ptmp/usr/local/lib perhaps.
Before you run "make -k install", run  "make -n install"  and save
the output, since it will tell you what it was planning to
do with tclsqlite files.

When in the future you want to use tclsqlite from tclsh,
instead of: package require tclsqlite 
you would have to try something like
load /ptmp/usr/local/lib/libtclsqlite3.so

I am sure there are other solutions, but this might get you moving.

> Robert

Nikola


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to