guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guile-2.0 on mingw: the sequel


From: Eli Zaretskii
Subject: Re: guile-2.0 on mingw: the sequel
Date: Fri, 23 Aug 2013 13:16:43 +0300

> Date: Fri, 23 Aug 2013 11:29:27 +0200
> From: Panicz Maciej Godek <address@hidden>
> Cc: "address@hidden" <address@hidden>
> 
> When I enter the build directory and type
> $ find ./ -name '*.go'
> it seems that every .scm file from `modules' directory has its .go
> counterpart,

Are they also present in the tree where you installed Guile after
building it?

> I ./configured with --prefix=/usr (which is at the same mount point
> as / on my mingw configuration). When it comes to make install,
> I don't know what TRT would be

Configuring with --prefix=/usr is a mistake: there's no /usr on your
system, as far as MinGW programs are concerned.

You need to understand the difference between MinGW and MSYS programs
and their respective setups.  MSYS, like Cygwin, emulates a Posix
system, so it supports /usr etc.  It does so by mounting some Windows
directory (in your case, it seems to be C:/MinGW) as /.  But the Guile
you compiled is _not_ an MSYS program, it is a native Windows program,
so it doesn't know about this mount.  Since the build process records
the /usr prefix in the binary, the resulting Guile executables will
look for their files starting from the /usr directory on the current
drive, and that directory doesn't exist.

You need to reconfigure Guile with --prefix=c:/MinGW (assuming that is
where you want your installation tree to be rooted), and then rebuild
everything.  I would suggest "make distclean" followed by a new
configure command with the right prefix and then "make" and "make
install".

> gc-7.2d compiled from the source from Hans Boehm's web site
> (I don't remember whether I finally configured it with pthreads
> or with windows threads, but I tried both for sure),
> gmp-5.2.1 from the source (I think it is shared version),
> libffi-3.0.13 from the source
> libunistring-0.9.3 from the source
> libiconv-1.14 and a few others bundled with mingw
> Everything built from the source was configured with --prefix=/usr

See above: you will therefore need to reconfigure and rebuild those as
well, using the correct Windows absolute directory name as prefix.

> Both / and /usr point to C:\MinGW\

Right, and this is the source of your problems.

> And would it be possible to distribute the binary release somehow?
> (in particular, the libguile.dll + scm/go modules that would be loaded
> from current directory)

Yes, it should be possible.  What I usually do for that install to a
separate empty directory, like this:

  make install prefix=d:/test

(you can use any other empty directory as value of "prefix"), then
create a tarball or a zip file from everything under d:/test.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]