gnustep-dev
[Top][All Lists]
Advanced

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

RE: Problem building gnustep-base tools with MinGW


From: xavier . glattard
Subject: RE: Problem building gnustep-base tools with MinGW
Date: Fri, 16 Mar 2007 19:37:49 +0100
User-agent: Internet Messaging Program (IMP) 3.2.5

Selon Nicola Pero <address@hidden>:

>
> >> ./configure --with-layout=fhs
> >> make
> >> make install
> >
> >Done.
> >Does not work : same errors.
> >
>
> That's surprising. :-(
>
> It seems to suggest that probably the problem is something else. :-/
> Maybe it's a bug in gnustep-base then ?
>
> It looks like I'll have to reboot under Microsoft Windows and try it all
> again. :-/
>
>
>
> >> PS: stuff like
> >>
> >> ./configure --prefix=C:/GNUstep
> >>
> >> is no longer recommended and might not work.  To make things simpler, we
> >> prefer people to develop in the clean MSYS/MinGW Unix-like environment
> >> where it's guaranteed that there are *no* problems, but making sure the
> >> resulting binaries can be then shipped/distributed/organized
> >> in some other, more Windows-friendly, way. ;-)
> >
> > So GNUstep becomes an Unix-like environment. That's bad.
> >
>
> Well ... GNUstep command-line development is Unix-like, but it has
> always been like that.  Things are compiled using sh/make/gcc ...
> that's why you need MSYS. ;-)

MSYS is only a developper tool, a command prompt with bash, and
is not mandatory : you can use any mingw tools from a Windows
prompt. A command you type in a MSYS box only use mingw; if you pass a
'path' as an argument to a command, MSYS bash translates it to a Window path.

Just try this at MSYS prompt : (dont type the '$' ;o)

  $cat > test.c
  #include <stdio.h>
  main( int argc, char**argv) { puts(argv[1]); }
  ^D
  $gcc test.c
  $a /usr/local

I get :

  c:/Dev/MinGW/local

> If you mix Unix paths with non-Unix paths sh/make/gcc/etc get easily
> confused.

A MinGW command never use MSYS tree.
MinGw doesnt know /usr/local/GNUstep, it knows c:/MSYS/1.0/local/GNUstep
So unix paths and non-unix paths are never mixed.
Should i say 'always' ? hum... ;o)

Problems happen with space char in file name, or with backslash

> Then things maybe work, maybe not, and it's difficult to get things working
> consistently, predictably and reliably.  Which is why we really recommend
> working inside MSYS when building, other types of building are not really
> supported.

That what i do :-)

> But once you have built your stuff, you are free to use your environment
> in a more Windows-like setup! :-)
>
> > Even my MSYS/mingw installation is not 'standard' as i use some
> > msys-links :
> >  / is C:\Dev\msys\1.0
> >  /mingw is C:\Dev\MinGW\mingw
> >  /usr/local is C:\Dev\MinGW\local
> > Should that work with GNUstep or do I have to reinstall the
> > whole thing ?
>
> I'm not sure, I'd need to boot Windows to help you here. :-/
>
> But if you can figure out how to use these 'links' then I imagine that
> you can put GNUstep wherever you want on disk ;-)
>
> Just create a "link"
>
>  /usr/GNUstep --> C:\GNUstep

MSYS links may be defined in /etc/fstab
But that not mandatory : for MSYS, C:\GNUstep is always /c/GNUstep
If i type :
  $make --prefix=/c/GNUstep
make gets : --prefix=c:/GNUstep
(try with the little program above)

When you build anything you can see the paths that are used by gcc.
All of them start with 'c:/'

regards

Xavier






reply via email to

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