Interesting use case for Coda and trying to build for Ubuntu lpia

View: New views
3 Messages — Rating Filter:   Alert me  

Interesting use case for Coda and trying to build for Ubuntu lpia

by Mark Komarinski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

With the rise of netbooks, low on-board storage, and the ubiquity of
wifi and 3G, I've been thinking that having a filesystem like coda makes
a lot of sense.  Here's my use case that I didn't get time to try, but
will at some point:

I've got a Dell Mini with Ubuntu loaded on it.  When on vacation, I'm
sure to fill the memory on my camera and want to store it elsewhere to
make space.  The Mini has a small SSD, so I'd really rather have my
server at home mounted and store the files there.  But when you're on
the beach, Internet access can be kinda spotty.  So why not have a
filesystem that you can load data on to, and then have it sync with the
server as a network connection is available?

This led me here to Coda.  I have a test server and client (both i386)
up and running without issue, but I wanted to compile the debian package
for my Ubuntu 8.10 laptop which uses the lpia port.  I ran into some
issues getting it to build and I hope one of you knowledgeable folk can
assist.  I've attached the relevant part of the build, but can include
the entire output if you need.

-Mark

... (things appear good until here)

Making all in venus
make[4]: Entering directory `/home/mkomarinski/coda-6.9.4/coda-src/venus'
i686-linux-gnulp-g++ -Wall -fno-exceptions -fcheck-new -DHAVE_CONFIG_H -I. -I../..   -DVENUS -DTIMING -DVENUSDEBUG -I../../lib-src/base -I../../coda-src/kerndep -I../../coda-src/util -I../../coda-src/vicedep -I../../coda-src/vicedep -I../../coda-src/dir -I../../coda-src/al -I../../coda-src/auth2 -I../../coda-src/auth2 -I../../coda-src/vv -I../../coda-src/lka -I../../coda-src/vol -I../../coda-src/librepair   -g -O2 -MT fso_cfscalls2.o -MD -MP -MF .deps/fso_cfscalls2.Tpo -c -o fso_cfscalls2.o fso_cfscalls2.cc
mv -f .deps/fso_cfscalls2.Tpo .deps/fso_cfscalls2.Po
i686-linux-gnulp-g++ -Wall -fno-exceptions -fcheck-new -DHAVE_CONFIG_H -I. -I../..   -DVENUS -DTIMING -DVENUSDEBUG -I../../lib-src/base -I../../coda-src/kerndep -I../../coda-src/util -I../../coda-src/vicedep -I../../coda-src/vicedep -I../../coda-src/dir -I../../coda-src/al -I../../coda-src/auth2 -I../../coda-src/auth2 -I../../coda-src/vv -I../../coda-src/lka -I../../coda-src/vol -I../../coda-src/librepair   -g -O2 -MT vproc.o -MD -MP -MF .deps/vproc.Tpo -c -o vproc.o vproc.cc
vproc.cc: In function ‘void VprocWait(const void*)’:
vproc.cc:179: error: invalid conversion from ‘const void*’ to ‘void*’
vproc.cc:179: error:   initializing argument 1 of ‘int LWP_WaitProcess(void*)’
vproc.cc: In function ‘void VprocMwait(int, const void**)’:
vproc.cc:196: error: invalid conversion from ‘const void**’ to ‘char**’
vproc.cc:196: error:   initializing argument 2 of ‘int LWP_MwaitProcess(int, char**)’
vproc.cc: In function ‘void VprocSignal(const void*, int)’:
vproc.cc:213: error: invalid conversion from ‘const void*’ to ‘void*’
vproc.cc:213: error:   initializing argument 1 of ‘int LWP_INTERNALSIGNAL(void*, int)’
vproc.cc:213: error: invalid conversion from ‘const void*’ to ‘void*’
vproc.cc:213: error:   initializing argument 1 of ‘int LWP_INTERNALSIGNAL(void*, int)’
make[4]: *** [vproc.o] Error 1
make[4]: Leaving directory `/home/mkomarinski/coda-6.9.4/coda-src/venus'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/mkomarinski/coda-6.9.4/coda-src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/mkomarinski/coda-6.9.4'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/mkomarinski/coda-6.9.4'
make: *** [build-stamp] Error 2

Re: Interesting use case for Coda and trying to build for Ubuntu lpia

by Jan Harkes :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Mar 03, 2009 at 12:20:02PM -0500, Mark Komarinski wrote:
> vproc.cc: In function ???void VprocWait(const void*)???:
> vproc.cc:179: error: invalid conversion from ???const void*??? to ???void*???
> vproc.cc:179: error:   initializing argument 1 of ???int LWP_WaitProcess(void*)???

The version of LWP installed on your system is too old, you probably
need to build/install version 2.5. (and update to rpc2-2.8 and rvm-1.16)

The source archives for these should be here,
    http://www.coda.cs.cmu.edu/pub/coda/src/

Jan

As an aside, as of the -6.9.4 release, the easiest way to get a
consistent build is to actually move the lwp, rpc2 and rvm sources into
the Coda source tree under lib-src and build everything as one, i.e.

    tar -xzf coda-6.9.4.tar.gz
    tar -xzf lwp-2.5.tar.gz  ; mv lwp-2.5 coda-6.9.4/lib-src/lwp
    tar -xzf rpc2-2.8.tar.gz ; mv rpc2-2.8 coda-6.9.4/lib-src/rpc2
    tar -xzf rvm-1.16.tar.gz ; mv rvm-1.16 coda-6.9.4/lib-src/rvm

or if you are using git,

    git clone git://coda.cs.cmu.edu/project/coda/dev/coda.git
    cd coda
    git submodule init
    git submodule update
    autoreconf -f -i

Then configure will find the lib-src/ versions of the libraries and we
will build and link against them,

    ./configure --prefix=/usr
    make


Re: Interesting use case for Coda and trying to build for Ubuntu lpia

by Mark Komarinski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 03/03/2009 02:19 PM, Jan Harkes wrote:

> The version of LWP installed on your system is too old, you probably
> need to build/install version 2.5. (and update to rpc2-2.8 and rvm-1.16)
>
> The source archives for these should be here,
>     http://www.coda.cs.cmu.edu/pub/coda/src/
>
> Jan
>
> As an aside, as of the -6.9.4 release, the easiest way to get a
> consistent build is to actually move the lwp, rpc2 and rvm sources into
> the Coda source tree under lib-src and build everything as one, i.e.
> [...]
>  
I'm using Ubuntu and *strongly* prefer to use packages where possible.  
In this case, I was able to get the coda-provided source packages for
lwp (and rpc2 and rvm) and get those compiled.  Everything worked with a
few slight changes and I have it running in lpia now.

To start going off-thread (already?) I noticed that metadata is really
really slow, like two minutes to do an ls -la of a directory with 64
files in it but instantly once it's done the first time.  Is there any
way to get that to have it load and remain cached on the local side?  
This makes it really difficult do to things like rsync since so much
time is spent looking up files.

-Mark