Page 1 of 1

reactos build environment not working in windows (xp)

Posted: Sat May 24, 2014 6:45 pm
by steveh
On a regular base, i compile the reactos trunk under linux with no problem (RosBE 2.1.1)
In the past, before reactos was using ninja for build environment, i also compiled sometimes on xp with no problem.

today i gave the windows RosBE 2.1.1 with ninja a try:

cd reactos
configure.cmd
(configure writes a lot of output, and gives also some errors but finishes)

pipeline 1:
Detected RosBE for i386
Creating directories in output-MinGW-i386
Preparing host tools...
-- The C compiler identification is GNU 4.7.2
-- The CXX compiler identification is GNU 4.7.2
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring incomplete, errors occurred!
See also "F:/trunk/reactos/output-MinGW-i386/host-tools/CMakeFiles/CMakeOutput.log".
Preparing reactos...
-- The C compiler identification is GNU 4.7.2
-- The CXX compiler identification is GNU 4.7.2
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- The ASM compiler identification is GNU
-- Found assembler: C:/RosBE/i386/bin/gcc.exe
-- fusion has no base address
-- unicows has no base address
-- winscard has no base address
-- Configuring incomplete, errors occurred!
See also "F:/trunk/reactos/output-MinGW-i386/reactos/CMakeFiles/CMakeOutput.log".
Configure script complete! Enter directories and execute appropriate build commands (ex: ninja, make, nmake, etc...).

pipeline 2:
CMake Error at include/reactos/version.cmake:4 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
include/reactos/version.cmake:32 (today)
CMakeLists.txt:12 (include)


CMake Error at include/reactos/version.cmake:5 (LIST):
list GET given empty list
Call Stack (most recent call first):
include/reactos/version.cmake:32 (today)
CMakeLists.txt:12 (include)


CMake Error at include/reactos/version.cmake:6 (string):
string sub-command SUBSTRING requires four arguments.
Call Stack (most recent call first):
include/reactos/version.cmake:32 (today)
CMakeLists.txt:12 (include)


CMake Error at include/reactos/version.cmake:4 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
include/reactos/version.cmake:32 (today)
CMakeLists.txt:12 (include)


CMake Error at include/reactos/version.cmake:5 (LIST):
list GET given empty list
Call Stack (most recent call first):
include/reactos/version.cmake:32 (today)
CMakeLists.txt:12 (include)


CMake Error at include/reactos/version.cmake:6 (string):
string sub-command SUBSTRING requires four arguments.
Call Stack (most recent call first):
include/reactos/version.cmake:32 (today)
CMakeLists.txt:12 (include)


-- Selected localization: all


cd output....\host-tools
ninja

ninja: error: loading 'build.ninja': No such file or directory

What's wrong?

The wiki does not give specific hints for building reactos in windows.

Re: reactos build environment not working in windows (xp)

Posted: Sat May 24, 2014 7:41 pm
by hbelusca

Re: reactos build environment not working in windows (xp)

Posted: Sun May 25, 2014 12:10 am
by middings
Yes, this sounds like the same problem I had had with my Windows XP Home Edition machine. If so, I am pleased to report that Forever Winter's idea of using the ReactOS wmic.exe worked. I copied the wmic.exe in the ReactOS release 0.3.16 boot CD into my computer's {RosBE install directory}\Bin\ directory. Then I could build ReactOS successfully on my Windows XP Home Edition machine.

This is how I did it:

How to get a compiled copy of WMIC.EXE without having to first successfully compile it yourself.

"It rather involved being on the other side of this airtight hatch-way."

PREREQUISITES

* Windows XP Home Edition
(Other versions of Windows XP include Microsoft's WMIC utility.)

* 7-Zip File Manager must be installed.
(Obtain 7-Zip version 9.20 from http://downloads.sourceforge.net/sevenzip/7z920.exe.
Install 7-Zip by launching 7z920.exe after downloading it.)


1. From the ReactOS project home page, click on
Downloads. On the Download page, choose Installation CD. Currently, this downloads ReactOS release 0.3.16 to your computer.

2. Use 7-Zip File Manager to navigate to the folder:

{download location}\ReactOS-0.3.16-REL-iso.zip\ReactOS-0.3.16-REL-iso\reactos\reactos.cab\

To navigate with 7-Zip File Manager, right-click the downloaded
.zip file then choose Open With.... Select 7-Zip File Manager (use Choose Program and Browse if necessary) to open the .zip file. 7-Zip can also unpack .iso and .cab files and treats them like Windows directories.

3. Copy (or drag) the file
wmic.exe to {RosBE install directory}\Bin\ (usually C:\RosBE\Bin\).

RosBE will now be able to find
wmic.exe when building ReactOS because RosBE automatically adds {RosBE install directory}\Bin\ to its private session path. By keeping ReactOS's wmic.exe out of the usual place where Windows XP Professional, Windows Server 2003, or their utilities would expect to find it (%SystemRoot%\wbem\) and keeping it out of the path stored in the environment variables that the system or users can freely access, the possibility of unwanted interactions with ReactOS's wmic.exe is minimized.

(I have not noticed problems on my machine after placing ReactOS's
wmic.exe in %SystemRoot%\wbem\ but I repeat the usual disclaimer: wmic.exe, like all of ReactOS at present, is is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.)

4. Close
7-Zip File Manager.

5. Complete!


Next obstacle, dealing with hard links (symbolic links, junction points) on Windows XP Home Edition. So far, I've been using junction.exe by Mark Russinovich to make the hard links as illustrated by hbelusca. When Subversion complains "svn: E200007: Symbolic links are not supported" I ignore it and proceed. (Subversion does not support symbolic links in Windows. This is a deficiency of Subversion, not Windows or RosBE.) I'm not sure yet if ignoring the message is a useable workaround. So far it seems to work ok. I am still experimenting.

Edit 1: Correct typos and rework portions of procedure to obtain wmic.exe. Add to discussion of Subversion and symbolic links.
Edit 2: Another typo.
Edit 3: Recommend installing ReactOS wmic.exe in {RosBE install directory}\Bin\ instead of %SystemRoot%\wbem\ and correct typos.

Re: reactos build environment not working in windows (xp)

Posted: Sun May 25, 2014 1:49 am
by steveh
Thanks @hbelusca and @middings for your answers about wmic.exe

Reading in your posts that the root problem is the missing "wmic.exe" in XP home,
i now tried compiling reactos with RosBE 2.1.1 on win8.1 evaluation.
It works.

Possibly i will later also try the solution of copying the reactos version of "wmic.exe" into XP home and then try rosbe again.

Re: reactos build environment not working in windows (xp)

Posted: Sun May 25, 2014 6:20 am
by justincase
I have a feeling that putting ReactOS' wmic.exe in the place where software expects to find Windows' one may not be a good idea (assuming that as middings says it's "like all of ReactOS at present, is is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes"), thus I would recommend seeing what happens if you put it in your RosBE directory (which IIRC is "C:\RosBE\" by default) because 1) it'll be automatically found by RosBE cause adding that folder to the PATH is part of what RosBE does & 2) it won't be accidentally used by other things that it may otherwise mess up due to being possibly feature-incomplete.
Note I don't know that this will work at all, it's just an idea of something to try.

Re: reactos build environment not working in windows (xp)

Posted: Sun Jun 15, 2014 2:35 am
by middings
justincase wrote:...putting ReactOS' wmic.exe in the place where software expects to find Windows' one may not be a good idea... what happens if you put it in your RosBE directory (which IIRC is "C:\RosBE\" by default) because 1) it'll be automatically found by RosBE cause adding that folder to the PATH is part of what RosBE does & 2) it won't be accidentally used by other things that it may otherwise mess up due to being possibly feature-incomplete.
I considered your suggestion to be cautious when choosing a location for ReactOS's wmic.exe file. I tried your idea and it worked. I rewrote the instructions in my earlier post and now advise placing ReactOS's wmic.exe in RosBE's Bin directory which is C:\RosBE\Bin\ by default. This has worked well for me on my computer that runs Windows XP Home Edition.