public inbox for kawa@sourceware.org
 help / color / mirror / Atom feed
* Path character in lists.scm
@ 2015-01-16 19:21 Jeff Gonis
  2015-01-16 20:47 ` Per Bothner
  2015-01-20  8:26 ` Building on Windows (was: Path character in lists.scm) Per Bothner
  0 siblings, 2 replies; 4+ messages in thread
From: Jeff Gonis @ 2015-01-16 19:21 UTC (permalink / raw)
  To: kawa; +Cc: Per Bothner

[-- Attachment #1: Type: text/plain, Size: 927 bytes --]

Hi Per,

So while I was working to build kawa on windows I kept running into an
error while building talking about an illegal character when trying to
compile lists.scm in the rnrs directory.  After spending some time
looking at it, I realized that the path separator in the require
statement was using a forward slash which blows up in windows. I
replaced it with a backslash and was able to build on both my windows
machine and linux machine, and the tests passed on linux (no ant
command to run the tests on windows that I could see).  I hope that I
have generated this patch file correctly, but if not it should be easy
to track down using my description above.

A more robust solution might be using some sort of path separator
normalization provided by Java, but I haven't had time to dig into
that. I'll let you know if I have any success there.

Please let me know if you need anything else.
Thanks for your time,
Jeff

[-- Attachment #2: lists.patch --]
[-- Type: text/x-patch, Size: 408 bytes --]

--- lists.scm	2013-12-09 00:05:17.000000000 -0700
+++ listsEdited.scm	2015-01-16 12:16:00.872352122 -0700
@@ -8,7 +8,7 @@
 (module-export find for-all exists filter partition fold-left
                fold-right remp remove remv remq memp member memv memq
                assp assoc assv assq cons*)
-(require kawa.lib.lists "../lists.scm")
+(require kawa.lib.lists "..\lists.scm")
 
 ;;; Helper Functions
 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Path character in lists.scm
  2015-01-16 19:21 Path character in lists.scm Jeff Gonis
@ 2015-01-16 20:47 ` Per Bothner
  2015-01-20  8:26 ` Building on Windows (was: Path character in lists.scm) Per Bothner
  1 sibling, 0 replies; 4+ messages in thread
From: Per Bothner @ 2015-01-16 20:47 UTC (permalink / raw)
  To: kawa



On 01/16/2015 11:21 AM, Jeff Gonis wrote:
> Hi Per,
>
> So while I was working to build kawa on windows I kept running into an
> error while building talking about an illegal character when trying to
> compile lists.scm in the rnrs directory.  After spending some time
> looking at it, I realized that the path separator in the require
> statement was using a forward slash which blows up in windows. I
> replaced it with a backslash and was able to build on both my windows
> machine and linux machine, and the tests passed on linux (no ant
> command to run the tests on windows that I could see).  I hope that I
> have generated this patch file correctly, but if not it should be easy
> to track down using my description above.

Well, I'd have to re-boot into Windows to test it.  I would also need to set up
a Kawa build environment on my new laptop.  I'll try to get to this soon
- but probably not today.

(Last year I spent some time installing MinGW and getting Kawa so it would build.
I even got a good chunk of the test-cases running using 'make check'.  The
changes have been checked in - however, the documentation needs work.)

In any case, using "..\lists.scm" in the require form is not an acceptable fix.
I'm surprised it works on Linux.  I also thought '/' should work on Windows
(though of course not in command scripts).  Note that it is common for C/C+
programs to #include <foo/bar.h>, so forward slashes are the "standard" portable form.

> A more robust solution might be using some sort of path separator
> normalization provided by Java, but I haven't had time to dig into
> that. I'll let you know if I have any success there.

My guess is that something in the handleImports method in HandleFromLibrary.java,
or something in the gnu/kawa/io/*Path.java isn't handling Windows file names
as well as it should.
-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Building on Windows (was: Path character in lists.scm)
  2015-01-16 19:21 Path character in lists.scm Jeff Gonis
  2015-01-16 20:47 ` Per Bothner
@ 2015-01-20  8:26 ` Per Bothner
  2015-01-21  8:03   ` Building on Windows Per Bothner
  1 sibling, 1 reply; 4+ messages in thread
From: Per Bothner @ 2015-01-20  8:26 UTC (permalink / raw)
  To: Jeff Gonis, kawa



On 01/16/2015 11:21 AM, Jeff Gonis wrote:
> Hi Per,
>
> So while I was working to build kawa on windows I kept running into an
> error while building talking about an illegal character when trying to
> compile lists.scm in the rnrs directory.  After spending some time
> looking at it, I realized that the path separator in the require
> statement was using a forward slash which blows up in windows.

I just spent much of the day updating my Windows partition, installing Java,
and building Kawa.  I didn't run into the problem you reported.

Note this is on Windows 8.1, and using JDK 1.8.0_25.

(1) I built Kawa using Ant - no problems.

(2) I downloaded MinGW, and install mingw-developer-toolkit.
In the msys console I did:
    ./configure --prefix=`pwd`/dist
(Worked, with some warnings from chmod.)
   make
Failed because of an outdated makeinfo failed to build doc/kawa.info.
The work-around is to just re-run make, or do: make -k

BTW. Most of the testsuite runs fine under MinGW.  I suggest trying:
   make -k
There is a gratifyingly small number of failures.  They seem to be
mostly (or perhaps all) related to line endings (CRLF vs LF).
Some are I haven't figured out.

Some failures are I'm not sure what is correct.  For example,
the ~% format specifier - should that emit "\r\n" or just "\n"?
The CommonLisp hyperSpec suggests the latter.  Does it depend on whether the
target is  string or a file?  What do other Scheme and Lisp implementations do?
What is most useful and least surprising?

(3) I'm trying to build Kawa using Cygwin as well, but so far without
success.  I get:
   configure: error: cannot run /bin/sh ./config.sub
And indeed when I manually run:
   /bin/sh ./config.sub
I get some strange errors I haven't figured out yet.
-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Building on Windows
  2015-01-20  8:26 ` Building on Windows (was: Path character in lists.scm) Per Bothner
@ 2015-01-21  8:03   ` Per Bothner
  0 siblings, 0 replies; 4+ messages in thread
From: Per Bothner @ 2015-01-21  8:03 UTC (permalink / raw)
  To: Jeff Gonis, kawa



On 01/20/2015 12:25 AM, Per Bothner wrote:
> (3) I'm trying to build Kawa using Cygwin as well, but so far without
> success.  I get:
>    configure: error: cannot run /bin/sh ./config.sub
> And indeed when I manually run:
>    /bin/sh ./config.sub
> I get some strange errors I haven't figured out yet.

I checked in various fixes so building using configure+make
on Cygwin now works.  The biggest set of changes was getting rid of all the
symlinks in the gnu/xquery/testsuite directory, and instead using the
source versions directly.  (This is a factor when the build directory
is different from the source directory.)

'make check -k' now runs tolerably well on both MinGW and Cygwin.
(Still some failures, of course, including CRLF vs LF problems/)
-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-01-21  8:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-16 19:21 Path character in lists.scm Jeff Gonis
2015-01-16 20:47 ` Per Bothner
2015-01-20  8:26 ` Building on Windows (was: Path character in lists.scm) Per Bothner
2015-01-21  8:03   ` Building on Windows Per Bothner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).