On 14.11.2010 21:52, Bo Berglund wrote:

I have inspected the environment variable path as follows (for
readability I have replaced ; with CRLF so each path item will be on a
separate line):

[snip]

Strange... can you please test the following:

* add a path to the user path and check whether a freshly started command window contains that path * add a path to the system path and check whether a freshly started command window contains that path * add one path to the user path and one to the system path and check whether a freshly started command window contains one or both of the paths (this is obviously only needed if one of the two preceding tests is successful ^^)



As a side note: it seems that either make or Windows look for
executables in the directory where make is located. Thus when you use
the make in your 2.2.4 dir it uses the 2.2.4 compiler and if you use the
make in your 2.4.2 dir it will use the 2.4.2 compiler. This changes of
course if you explicitly specify a compiler using the FPC or PP variable
when calling make...

Yes, I guess that would be the case if make.exe changes the current
dir when it starts.

But the strange thing in that case is that the lazaus makefile resides
in the directory where I invoked the command so how does make find it
if it changes the current dir?


I'm not talking about the Makefile... I'm talking about the make.exe. If you look into the bin\i386-win32 directories, you'll see that it contains other executables besides make and fpc. Those are found by the make utility as well, so it might be that make compiled for Windows adds its own directory to its own copy of PATH as well (it does not cd into that directory!). And all tools (e.g. mkdir, cp, etc) that a makefile uses by relative paths are found in that directory... and a "relative" fpc is found there as well.

I had a look at the makefile and searched for FPC and located a
section where it goes to extensive lengths to find the FPC compiler!

Anyways I repeated my compilation now with the extra FPC argument
added (all on one line of course):

C:\Programs\lazarus\fpc\2.4.2\bin\i386-win32\make.exe clean all
FPC=C:\Programs\lazarus\fpc\2.4.2\bin\i386-win32\fpc.exe

At the end there was this error:

Compiling lazconfigstorage.pas
lresources.pp(5320,13) Error: Incompatible types: got "AnsiString"
expected "Char"
lresources.pp(5514) Fatal: There were 1 errors compiling module,
stopping
Fatal: Compilation aborted

I guess I have to get the dev snapshot of lazarus sources to get
around this?

Yes, seems so...

Regards,
Sven

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to