Menu

#1279 Bochs cannot be compiled outside the source tree

fixed_in_SVN
closed
nobody
5
2012-10-15
2011-12-15
No

I configure bochs with:

$ mkdir bochs
$ cd bochs
$ ../bochs-2.5/configure

then I started "make".
After a short while, compilation stopped with this error:

cd cpu/cpudb && \ make libcpudb.a
make[1]: Entering directory `/home/Carlo/bochs/cpu/cpudb'
g++ -c -I.. -I../.. -I../../../bochs-2.5/cpu/cpudb/../.. -I../../instrument/stubs -I../../../bochs-2.5/cpu/cpudb/../../instrument/stubs -DWIN32 ../../../bochs-2.5/cpu/cpudb/pentium_mmx.cc -o pentium_mmx.o
../../../bochs-2.5/cpu/cpudb/pentium_mmx.cc:25:17: cpu.h: No such file or directory
(and many many errors will follow)

It seems to be just a missing search path so I fixed it by adding "-I$(srcdir)/.." to BX_INCDIRS into cpu/cpudb/Makefile.in
After restarting compilation, the process stopped again in this point:

windres -o win32res.o ../bochs-2.5/win32res.rc
../bochs-2.5/win32res.rc:107:24: bxversion.rc: No such file or directory
c:\mingw\bin\windres.exe: preprocessing failed.
make: *** [win32res.o] Error 1

This happens because bxversion.rc is (correctly) generated into the output tree rather than in the source tree.
So, the solution is to add option "-I." to resource compiler options in the Makefile.in located in the root of the sources.

After these two fixes, source code can be fully compiled in the above conditions.

Discussion

  • Stanislav Shwartsman

    Please submit a patch if you have one.
    I don't see this compilation mode as one in my priority so this report might remain unfixed forever otherwise.

    Stanislav

     
  • Carlo Bramini

    Carlo Bramini - 2011-12-15

    Fix for this bug

     
  • Stanislav Shwartsman

    Your patch merged to SVN rev11046. Can you check if it works fine for you now ?

    Stanislav

     
  • Volker Ruppert

    Volker Ruppert - 2012-02-19

    The addition to the resource compiler line breaks the compilation with VS2008 nmake. If the include is necessary there, the syntax is /i. I think the bast way to fix it is to add it to the RC_CMD variable.

     
  • Carlo Bramini

    Carlo Bramini - 2012-02-20

    Update for this bug.

     
  • Carlo Bramini

    Carlo Bramini - 2012-02-20

    I did not know about VS support in files generated by autotools... now that I know it, I think that suggestion made by vruppert is correct: the new patch that I attached has been made from latest trunk sources and (1) it reverts the addition of "-I." option to resource compiler from makefile.in and (2) it adds the "-I." switch to $(RC_CMD) in configure.in

     
  • Volker Ruppert

    Volker Ruppert - 2012-03-12

    I have now fixed the makefiles in the iodev subdirs in SVN. Is this bug fixed now?

     
  • Carlo Bramini

    Carlo Bramini - 2012-03-12

    I just compiled r11089 without problems.
    If it is ok for other users too, this bug seems resolved to me.

     
  • Stanislav Shwartsman

    Fixed in SVN r11089

     

Log in to post a comment.