Bochs: CygWin's `make install` says “no rule to make target”

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
hustensaftos
Posts: 9
Joined: Fri Jun 01, 2012 7:51 am

Bochs: CygWin's `make install` says “no rule to make target”

Post by hustensaftos »

hi,
I'm building Bochs from source using CygWin.

What I've already done:

1. Changing the value of my {$PATH} variable in order to use CygWin's {find} instead of Windows' {find}: {PATH='/cygdrive/c/Programme/cygwin/bin':${PATH}}
1. Configuring: Exceution of my configure script (see below): {./.conf.my-win32-vcpp}
1. Building via {make win32_snap}
1. Installing via {make install} (not successfully)


My question:

How can I build and install Bochs from source (without having these problems)? Any idea?

Thanks.

My configure script:

Code: Select all

    #!/bin/sh
    
    set echo
    
    ./configure --target=pentium-windows \
                --enable-sb16 \
                --enable-ne2000 \
    			--enable-all-optimizations \
                --enable-cpu-level=6 \
                --enable-x86-64 \
                --enable-pci \
                --enable-clgd54xx \
                --enable-usb \
                --enable-usb-ohci \
                --enable-show-ips \
    			--enable-disasm \
    			--enable-iodebug \
    			--enable-logging \
    			--enable-debugger-gui \
                --disable-readline \
                --without-x \
                --with-win32 \
    			--with-rfb \
    			--with-nogui \
    			--with-wx
    
    unset echo
    
    # Fix up all makefiles so that nmake can handle them.
    for i in `find . -name Makefile`; do
      echo Removing curly brackets in $i for NMAKE.
      mv $i $i.tmp
      sed -e 's/{/(/g' -e 's/}/)/g' < $i.tmp > $i
      rm -f $i.tmp
    done
The error messages:

While I run my configure script ({./.conf.my-win32-vcpp}), I got some warnings, but it executed successfully:

Code: Select all

    [...]
    configure: WARNING: pthread.h: present but cannot be compiled
    configure: WARNING: pthread.h:     check for missing prerequisite headers?
    configure: WARNING: pthread.h: see the Autoconf documentation
    configure: WARNING: pthread.h:     section "Present But Cannot Be Compiled"
    configure: WARNING: pthread.h: proceeding with the compiler's result
    [...]
And there wasn't any problem while evaluating {make win32_snap}. But when I try to {make install}, {Error 2} occurs:

Code: Select all

    cd iodev
    C:/gnuwin/make  libiodev.a
    make[1]: Entering directory `C:/Users/JK/Downloads/bochs-2.5.1'
    make[1]: *** No rule to make target `libiodev.a'.  Stop.
    make[1]: Leaving directory `C:/Users/JK/Downloads/bochs-2.5.1'
    make: *** [iodev/libiodev.a] Error 2
My environment:

I use CygWin's {sh} shell on Win64.
My {$PATH}:
/cygdrive/c/cygwin/:/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live: (...) :/cygdrive/c/prog-x86/MinGW/bin (...) :/cygdrive/c/Program Files/Java/jdk1.6.0_24/bin:/cygdrive/c/Program Files/Java/jdk1.6.0_24/jre/bin:/cygdrive/c/Windows/system32 (...) :/cygdrive/c/gnuwin:/usr/bin (...)
I'm using GnuWin's {make}:

Code: Select all

    sh-4.1$ type make
    make is hashed (/cygdrive/c/gnuwin/make)
Directory Tree:

Code: Select all

    sh-4.1$ tree -d
    .
    |-- bios
    |-- build
    |   |-- linux
    |   |-- macos
    |   |-- macosx
    |   |-- redhat
    |   `-- win32
    |       `-- nsis
    |-- bx_debug
    |-- cpu
    |   `-- cpudb
    |-- disasm
    |-- doc
    |   |-- docbook
    |   |   |-- development
    |   |   |-- documentation
    |   |   |-- images
    |   |   |-- include
    |   |   `-- user
    |   `-- man
    |-- docs-html
    |-- fpu
    |-- gui
    |   |-- bitmaps
    |   |-- font
    |   `-- keymaps
    |-- host
    |   `-- linux
    |       `-- pcidev
    |-- instrument
    |   |-- example0
    |   |-- example1
    |   |-- example2
    |   `-- stubs
    |-- iodev
    |-- memory
    |-- misc
    |   `-- sb16
    |-- patches
    `-- vs2008
    
    40 directories
Last edited by hustensaftos on Sat Jun 02, 2012 2:10 am, edited 1 time in total.
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by stlw »

I thought the the name of configure script you using .conf.my-win32-vcpp is self explaining.
Doesn't VCPP tell you something ?
You configuring Bochs for Visual Studio and Visual Studio's nmake. It is very strange to me why you didn't like the .conf.win32-cygwin instead.

Stanislav

P.S.> Befor eyou run to these problems as well. I had a problem to compile Bochs with gcc4 supplied in cygwin package.
Older gcc version or mingw gcc (I used gcc4.6.1. from http://tdm-gcc.tdragon.net/download) are fine.
I never tried gcc-mingw64 from cygwin package.
Also it is recommended to skip --eable-plugins option when compiling with cygwin.
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by stlw »

BTW, I see you have pthreads problems. I have no idea how to make pthreads happy with cygwin so probably it is easier to avoid it.
You don't need with-wx (it require pthreads).
hustensaftos
Posts: 9
Joined: Fri Jun 01, 2012 7:51 am

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by hustensaftos »

stlw wrote:(...) You configuring Bochs for Visual Studio (...)
As far as I know, the configure scripts for Visual C++ and for CygWin are near the same. And I changed some options in my {.conf.win32-vcpp} file and saved it as {.conf.my-win32-vcpp}. Or is there something what's not good for CygWin to your mind.
stlw wrote:(...) skip --eable-plugins option when compiling with cygwin.
Is there a special reason why?

Thanks, hustensaftos.
hustensaftos
Posts: 9
Joined: Fri Jun 01, 2012 7:51 am

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by hustensaftos »

stlw wrote:BTW, I see you have pthreads problems. I have no idea how to make pthreads happy with cygwin so probably it is easier to avoid it.
You don't need with-wx (it require pthreads).
Thanks. I removed target and wx. That's the current version:

Code: Select all

#!/bin/sh

set echo

./configure --enable-sb16 \
            --enable-ne2000 \
			--enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-pci \
            --enable-clgd54xx \
            --enable-usb \
            --enable-usb-ohci \
            --enable-show-ips \
			--enable-disasm \
			--enable-iodebug \
			--enable-logging \
			--enable-debugger-gui \
			--enable-show-ips \
			--enable-readline \
            --disable-readline \
            --without-x \
            --with-win32 \
			--with-rfb \
			--with-nogui

unset echo

# Fix up all makefiles so that nmake can handle them.
for i in `find . -name Makefile`; do
  echo Removing curly brackets in $i for NMAKE.
  mv $i $i.tmp
  sed -e 's/{/(/g' -e 's/}/)/g' < $i.tmp > $i
  rm -f $i.tmp
done


But it's not working either. The current error message(s):

Code: Select all

sh-4.1$ make install
cd iodev && \
        C:/gnuwin/make  libiodev.a
make[1]: Entering directory `C:/Users/JK/Downloads/bochs-2.5.1/iodev'
g++ -c  -I.. -I./.. -I../instrument/stubs -I./../instrument/stubs  -DWIN32 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES    devices.cc -o devices.o
process_begin: CreateProcess(C:\Program Files\cygwin\bin\g++.exe, g++ -c -I.. -I./.. -I../instrument/stubs -I./../instrument/stubs -DWIN32 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES devices.cc -o devices.o, ...) failed.
make (e=5): Zugriff verweigert
make[1]: *** [devices.o] Error 5
make[1]: Leaving directory `C:/Users/JK/Downloads/bochs-2.5.1/iodev'
make: *** [iodev/libiodev.a] Error 2
lg hustensaftos.
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by stlw »

process_begin: CreateProcess(C:\Program Files\cygwin\bin\g++.exe, g++ -c -I.. -I./.. -I../instrument/stubs -I./../instrument/stubs -DWIN32 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES devices.cc -o devices.o, ...) failed.
make (e=5): Zugriff verweigert
Sounds like smth wrong with your gcc. If you do simple 'make' instead of 'make install' does it work ?
hustensaftos
Posts: 9
Joined: Fri Jun 01, 2012 7:51 am

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by hustensaftos »

stlw wrote:If you do (...) 'make' (...) does it work ?
No, not really.

Code: Select all

cd iodev && \
        C:/gnuwin/make  libiodev.a
make[1]: Entering directory `C:/Users/JK/Downloads/bochs-2.5.1/iodev'
g++ -c  -I.. -I./.. -I../instrument/stubs -I./../instrument/stubs  -DWIN32 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES    devices.cc -o devices.o
process_begin: CreateProcess(C:\Program Files\cygwin\bin\g++.exe, g++ -c -I.. -I./.. -I../instrument/stubs -I./../instrument/stubs -DWIN32 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES devices.cc -o devices.o, ...) failed.
make (e=5): Zugriff verweigert
make[1]: *** [devices.o] Error 5
make[1]: Leaving directory `C:/Users/JK/Downloads/bochs-2.5.1/iodev'
make: *** [iodev/libiodev.a] Error 2
Thanks, hustensaftos.
hustensaftos
Posts: 9
Joined: Fri Jun 01, 2012 7:51 am

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by hustensaftos »

stlw wrote:(...)smth wrong with your gcc.
I never abused my compiler. Anyway, is there any test method to easily find out whats wrong with my old friend called gcc?

lg hustensaftos.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by Combuster »

It's telling you what's wrong with it: "access denied". You are apparently not allowed to use the compiler. (that is one feature though I'd like to see in some other threads :mrgreen:)
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
hustensaftos
Posts: 9
Joined: Fri Jun 01, 2012 7:51 am

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by hustensaftos »

Combuster wrote:(...) You are (...) not allowed to use the compiler.
Any idea why? Or: How can I allow somebody to use my g++.

lg hustensaftos.
hustensaftos
Posts: 9
Joined: Fri Jun 01, 2012 7:51 am

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by hustensaftos »

By the way, I'm using CygWin's compiler:

Code: Select all

sh-4.1$ type gcc
gcc is /cygdrive/c/cygwin/gcc
sh-4.1$ type g++
g++ is /cygdrive/c/cygwin/g++
sh-4.1$
sh-4.1$ gcc -dumpversion
3.4.4
sh-4.1$ g++ -dumpversion
3.4.4
I'll try to use MinGW.

lg hustensaftos.
hustensaftos
Posts: 9
Joined: Fri Jun 01, 2012 7:51 am

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by hustensaftos »

hi,

What I Did:
I changed my env in order to bring Bochs to use MinGW:

Code: Select all

sh-4.1$ export CC=/cygdrive/c/mingw/gcc.exe
sh-4.1$ export CXX=/cygdrive/c/mingw/gcc.exe
My Compiler:

Code: Select all

sh-4.1$ /cygdrive/c/mingw/gcc.exe -dumpversion
4.5.2
sh-4.1$ /cygdrive/c/mingw/g++.exe -dumpversion
4.5.2
Error Messages:

Code: Select all

sh-4.1$ ./.conf.my-win32-vcpp
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... i686-pc-cygwin
checking if you are configuring for another platform... no
checking for standard CFLAGS on this platform... -DWIN32
checking for gcc... /cygdrive/c/mingw/gcc.exe
checking whether the C compiler works... no
configure: error: in `/cygdrive/c/Users/JK/Downloads/bochs-2.5.1':
configure: error: C compiler cannot create executables
See `config.log' for more details.
(...)

lg hustensaftos.
User avatar
Griwes
Member
Member
Posts: 374
Joined: Sat Jul 30, 2011 10:07 am
Libera.chat IRC: Griwes
Location: Wrocław/Racibórz, Poland
Contact:

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by Griwes »

Code: Select all

configure: error: C compiler cannot create executables
See `config.log' for more details.
I guess you should be sent to primary school to learn to read; the first line of the two I quoted says that something is definitely wrong with your compiler. Also, IIRC, Google skill is required on this forum...

Just install some sane Linux distribution alongside of your Windows installation and don't bother with trying to make Cygwin work like real Linux installation...
Reaver Project :: Repository :: Ohloh project page
<klange> This is a horror story about what happens when you need a hammer and all you have is the skulls of the damned.
<drake1> as long as the lock is read and modified by atomic operations
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by Combuster »

It's a bit of a shame that the latest Bochs release is broken on a non-screwed-over-cygwin installation as well - mostly because it used to work out of the box. And unfortunately there's more than one issue involved in that...

Things I found so far:
- Mixing windows sockets with (emulated) bsd sockets gives compilation errors
- c++98 doesn't support (v)snprintf
- _beginthread/_endthread are part of the Visual C Runtime, and do not show up in cygwin or mingw headers.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
hustensaftos
Posts: 9
Joined: Fri Jun 01, 2012 7:51 am

Re: Bochs: CygWin's `make install` says “no rule to make tar

Post by hustensaftos »

Maybe I'll should try it on mSys...

lg hustensaftos.

PS: I'll add some information out of the config.log to my last post. But it shouldn't be possible that there's something completly wrong with my compiler. It's MinGW's original and I never abused it. Is it possible that there's another reason why it's not able to create executables?
Post Reply