[plt-scheme] How to move serialized data from one machine to another?

From: Jens Axel Søgaard (jensaxel at soegaard.net)
Date: Sat Sep 23 16:17:00 EDT 2006

Is it possible to move serializeable data from one machine to another?

I am trying to move a 10Mb file from a Windows box to a Linux box, and
the paths to the source files are of course different.

The serialization happens here:

   ; An INDEX is a
   (define-serializable-struct index (path documents lexicon positions)
                                     (make-inspector))

   (define (save-index path i . options)
     (apply with-output-to-file path
            (λ () (write (serialize i)))
            options))

   (define (load-index path)
     (with-input-from-file path
       (λ () (deserialize (read)))))

At the Unix machine I get this error:

default-load-handler: cannot open input file: 
"/home/soegaard/domains/scheme.dk/web-root/servlets/C:\Programmer\PLT\collects\web-server\default-web-root\servlets\search\indexer.scm" 
(No such file or directory; errno=2)

Opening the serialized file I can see that the following path occurs 
multiple times:

(file
C:\\Programmer\\plt\\collects\\web-server\\default-web-root\\servlets\\search\\indexer.scm")

On the Linux machine the proper path is

     home/soegaard/domains/scheme.dk/web-root/servlets/search/indexer.scm

I tried hand editing the file, but it didn't work (but maybe I made a 
mistake during editing).

Note: This is on version 301. (For some reason my indexer crashes on
v352, but I can't figure out exactly what causes the crash).

-- 
Jens Axel Søgaard




Posted on the users mailing list.