6

I'm trying to build Bochs from source. Therefore, I wrote an configure script. I didn't write my script from scratch - it's based on the .conf.win32-vcpp sh script out of the Bochs tarball. And the part of the script, which causes the problem, is out of the original Nochs tarball without any change - I didn't write that part.

My Problem:

Everytime I execute my sh script, the following error occurs:

[...] config.status: creating host/linux/pcidev/Makefile config.status: creating config.h config.status: creating ltdlconf.h config.status: ltdlconf.h is unchanged FIND: Parameterformat falsch 

* (Parameterformat falsch means Parameter format not correct)

But I don't need to execute the hall script. That rub fragment is enough:

sh-4.1$ find -name Makefile FIND: Parameterformat falsch 

* (Parameterformat falsch means Parameter format not correct)

My Questions:

  • What's wrong with that script fragment: find . -name Makefile? Any idea?
  • How can I rewrite that part of the code in order to make it work correctly?

My Script:

#!/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. 

--> Where the dog's buried:

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 

My Environment:

I don't know if it matters, but I'm not using a normal bash. I use the shell provided by cygwin's sh command (Win64).

Thanks.

6
  • In your test you are executing find -name ... without the . between find and -name. Commented May 31, 2012 at 19:02
  • 2
    What exactly is the command that fails (with or without .)? What does type find tell you? What about echo $PATH? Commented May 31, 2012 at 19:06
  • Both the command with . and without . fails. But for i in `find . -name Makefile` (with .) is the original from the Bochs tarball. Commented May 31, 2012 at 19:20
  • echo $PATH says /cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live [and so on ...] Commented May 31, 2012 at 19:23
  • 1
    @fridojet there's your problem -- it's running the Windows find, not the cygwin find. Commented May 31, 2012 at 19:30

1 Answer 1

12

Be sure your Cygwin installation includes the findutils package, and that Cygwin's find is first in your PATH (before the native Windows one).

If find --help returns FIND: Paramater format not correct (or your localized equivalent), this is a sure sign that it's the Windows one, rather than the Cygwin one, currently in use.

Sign up to request clarification or add additional context in comments.

1 Comment

Thanks. That's exactly my problem.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.