|
From: Duft M. <Mar...@sa...> - 2006-09-23 09:09:17
|
Hey!
=20
Your .wgccrc is corrupt i think. Could you send me the configure output =
from wgcc (config.log), the .wgccrc file thats generated, and the output =
from "env"? That'd tell me more about the problem.
=20
I believe you have to set INTERIX_COMPILERDIR, or set some other =
variables before configuring. Fro details on the check performed to find =
visual studio (at configure time) look at Makefile.py in the package =
toplevel.
=20
Basically thecheck looks for cl.exe, and the sets some paths looking =
from that location onwards. It may be, that your setup is very =
different, than the one that Visual studio uses (the location of the =
runtime headers and libs, and the location of the platformsdk headers =
and libs).
=20
Wgcc fails because of not finding msvcrt.lib, which means that the =
"paths.c =3D ..." section in your .wgccrc is not correct. configure =
simply didn't discover all paths needed.
=20
For sure .wgccrc will contain "paths.c* =3D ..." where ... is at least =
the location where wgcc is installed. (By the way, it's not the best =
idea to install it in /usr/local ;o) since it installs headers in =
prefix/include which are allready there, but completely different.... =
;o//
=20
At the moment i'm fighting to get XP and Server 2003 R2 support up and =
running, Vista will come soon. I allready played around a little there, =
but perl wouldn't work, and i really need it f my builds. (this was Beta =
2)
=20
Cheers, Markus
________________________________
Von: Jerker B=E4ck [mailto:jer...@te...]
Gesendet: Fr 22.09.2006 20:18
An: Duft Markus
Betreff: RE: Hey ho....
OK, managed a gcc build.
Changed the source code like this
#if defined _MSC_VER && defined __INTERIX
AssemblerTask assembler_task =3D static_cast<AssemblerTask&>(*task);
#else
AssemblerTask assembler_task =3D =
dynamic_cast<AssemblerTask&>(*task);
#endif
./configure make make install
$ wgcc
$ wgcc -v
warning: unable to match: -v <blue>warning:</blue>
$
$ cd "F:\dev\Public\Interix\wgcc\wgcc-2.0-rc.2\pxwc-0.6.9"
$ pwd
/dev/fs/F/dev/Public/Interix/wgcc/wgcc-2.0-rc.2/pxwc-0.6.9
$ export CC=3Dwgcc
$ export CXX=3Dwgcc
$ export LD=3Dwgcc
$ ./configure
checking for a BSD-compatible install... /bin/install -c
checking build system type... i586-pc-interix5
checking host system type... i586-pc-interix5
checking target system type... i586-pc-interix5
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... wgcc
checking for C compiler default output file name... configure: error: C
compiler cannot create executables
See `config.log' for more details.
Arrrgh!
Cause: Either cl.exe couldn't be found or linking with wrong libs?
Well, cl.exe is in my path, so is wgcc (/usr/local/bin)
config.log says:
=1B[01;36mwarning: =1B[00mwrapper header set but not available!
=1B[01;35merror : =1B[00mdebug dumper task failed, using non debug =
link!
=1B[01;36mwarning: =1B[00mwrapper library set but not available!
=1B[01;31mfatal : =1B[00mlinker task failed!
=1B[01;33mLINK =1B[00m:=1B[01;31m fatal error LNK1181=1B[00m: cannot =
open input file
'msvcrt.lib'
Any comments?
Just a cosmetic note:
Your config.sub and config.guess are outdated
cvs -z3 -d:pserver:ano...@cv...:/sources/config co config
A blunt suggestion:
Why not set up a Vista test machine - RC1 is out and will soon be =
available
to anyone. Rumours says it will have a new more stable posix subsystem =
and
SDK. Anyway, current Vista SUA is almost identical to R2 SUA. The Vista =
WDK
have support for posix apps via build.exe and can be installed on any
workstation. If you just want to try: http://connect.microsoft.com and =
join
the Windows Driver Kit program.
What I mean is that among other things, you can test wgcc against the =
coming
Interix 6 and watch for changes in the cc script.
Some reactions on your reactions on my reactions:
> with cc it would be a windows build
> ... ring in lots of hacks to make things work
Frankly, as far as I can see - no
Your current code compiles elegantly with cc =3D> posix app
The problem is the libtool - I think.
Anyway, Interix is built with build.exe =3D> nmake.exe =3D> cl.exe and =
some
utils with cc =3D> cl.exe. I couldn't find any official interix =
executable
built with gcc (except itself). It's easy to find that out with =
depends.exe.
Regards Jerker
________________________________
From: Duft Markus [mailto:Mar...@sa...]
Sent: Friday, September 22, 2006 5:42 PM
To: Jerker B=E4ck; int...@li...
Subject: AW: Hey ho....
Hey again!
The thing is, that wgcc should be the _lowest_ tool used in an interix
environment. means there should be no other requirements, except a =
bootstrap
compiler. using gcc is just as fina as using anything else, so i'm using =
gcc
to build wgcc. anything else would require mie to hack something for the
windows build to include interix stuff which i don't want it to be. the
windows build should be plain windows, and should _never_ know anything
about interix.
For that reason there is an interix build (using gcc). with cc it would =
be a
windows build. Since wgcc was written to _replace_ cc (for me) i think =
it's
senseless to build wgcc with cc. this would just bring in lots of hacks =
to
make things work that would work anyway, and break things which _must_ =
work
(like RTTI ;o))
wgcc supports using third party C++ runtimes (stdcxx was used here, but
anything else may be subtituted in instead, see .wgccrc (stdcxx.* =
options)).
I repeat wgcc is the build tool, not a package built using some build =
tool,
except the "native" compiler (where the interix native compiler is =
gcc/g++,
and on win32 cl.exe is the native compiler). Anything else would be a
cross-compilate, and producing those is definitly the task of wgcc.
I'll look into adding a INSTALL file, or adding instructions to the =
docs.
if you still wan't to look into this: to disable libtool you need to
bootstrap the package. This is done using confix =
(confix.sourceforge.net)
which needs python 2.4. you can use a windows python. when confix is
installed use:
confix.py --boo
inside the wgcc source tree. if you want to enable libtool use:
confix.py --boo --use-libtool
wish you a nice weekend too ;o)
Cheers, Markus
________________________________
Von: Jerker B=E4ck [mailto:jer...@te...]
Gesendet: Fr 22.09.2006 17:03
An: Duft Markus
Betreff: RE: Hey ho....
> Sorry, i forgot to tell you to build wgcc with gcc/g++
OK, I go for a temporarily gcc build
Please write a detailed INSTALL file with instructions how to build in =
the
package.
I suspected that this is necessary in SFU since a MS C++ library is =
missing.
In SUA on the other hand we have a variant of the Dinkum library shipped
with VS 2005. In R2 SUA this is more or less a kind of quick and dirty =
port
but it will hopefully be improved in Vista SUA.
Of course I would not satisfy until I have a working build with the MS
tools. Can you examine my config.log to see where it goes wrong? Is =
there
any way to disable the libtool to let cc find it own libraries?
Note: A posix build in Visual Studio should work as good as any other
builds. Is there any special gcc tweaks (or GNU C++ library tweaks) =
used?
> Using the cc script to build is absolutely _not_ supported,
> since it uses different libraries, and different options...
Maybe a little early to argue about this until I have a working test
application, but here I absolutely disagree. Support for cc is really a =
MUST
HAVE. I also suspect a lot of people have tweaked their own C++ =
libraries
for SFU (based on MS Dinkum, stdcxx or STLport). So in my opinion, in =
any
case the C++ library used should be a matter of choice of the user.
Have a nice weekend
Jerker
|