Building Hugs on PPC Mac OS X 10.4 message: No rule to make target `../hsc2hs/Main.hs', needed by `../hugsdir/programs/hsc2hs/Main.hs'.

Thorkil Naur naur at post11.tele.dk
Mon Jan 8 13:07:30 EST 2007


Hello all Hugs'ers,

As a well-behaved boy, I try to prepare for the Hac07 event by, among other 
things, installing Hugs. I follow the directions on 
http://hackage.haskell.org/trac/hugs for getting and building a development 
version, cvs for hugs98, darcs for the libraries etc. All this happens on a 
PPC Mac OS X 10.4 with a ghc-6.4.1 installed from binary.

Unfortunately, I am now stuck in the "make". Initially, I got the
messages

...
configure: creating ./config.status
config.status: creating include/HsBaseConfig.h
find: -wholename: unknown expression primary
find: -wholename: unknown expression primary
find: -wholename: unknown expression primary
ERROR: unable to locate Prelude along new path: "libraries/bootlib" - ignoring 
it.
ERROR: unable to locate Prelude along new path: "libraries/bootlib" - ignoring 
it.
ERROR: unable to locate Prelude along new path: "libraries/bootlib" - ignoring 
it.
ERROR: unable to locate Prelude along new path: "libraries/bootlib" - ignoring 
it.
ERROR: unable to locate Prelude along new path: "libraries/bootlib" - ignoring 
it.
ERROR: unable to locate Prelude along new path: "libraries/bootlib" - ignoring 
it.
ERROR: unable to locate Prelude along new path: "libraries/bootlib" - ignoring 
it.
echo timestamp for bootlib >bootlib/.stamp
cd ../cpphs; HUGSFLAGS=-P../libraries/bootlib 
HUGSDIR=../hugsdir ../src/runhugs -98 Setup.hs configure --verbose --hugs 
--prefix='/usr/local' --scratchdir='../hugsdir/packages/cpphs' 
--with-compiler=../src/ffihugs
ERROR: unable to locate Prelude along new path: "../libraries/bootlib" - 
ignoring it.
make[1]: *** [../hugsdir/programs/cpphs/Main.hs] Error 1
make: *** [all] Error 2

and those "find: -wholename: unknown expression primary" messages made me a 
bit concerned: I investigated "man find" and found that the OS X 10.4 find 
does not have a -wholename option. Has this been tried before, i.e. 
boot-strapping hugs98 on a Mac OS X 10.4?

In any case, on a Linux machine, "man find" says that -path is the same as 
-wholename, so I replaced -wholename by -path in 
"hugs98/libraries/tools/make_bootlib" (which is the only place I found 
-wholename) and tried again. And this time, I am stuck with the messages

...
echo timestamp for bootlib >bootlib/.stamp
cd ../cpphs; HUGSFLAGS=-P../libraries/bootlib 
HUGSDIR=../hugsdir ../src/runhugs -98 Setup.hs configure --verbose --hugs 
--prefix='/usr/local' --scratchdir='../hugsdir/packages/cpphs' 
--with-compiler=../src/ffihugs
Configuring cpphs-1.3...
configure: looking for package tool: hugs near compiler in ../src
configure: found package tool in ../src/hugs
configure: Using install prefix: /usr/local
configure: Binaries installed in: /usr/local/bin
configure: Libraries installed in: /usr/local/lib/hugs/packages/cpphs
configure: Private binaries installed in: /usr/local/libexec
configure: Data files installed in: /usr/local/share/cpphs-1.3
configure: Using compiler: ../src/ffihugs
configure: Compiler flavor: Hugs
configure: Compiler version:
configure: Using package tool: ../src/hugs
configure: Using ar found on system at: /usr/bin/ar
configure: No haddock found
configure: Using ld found on system at: /usr/bin/ld
configure: No pfesetup found
configure: Using ranlib found on system at: /usr/bin/ranlib
configure: Using runghc found on system at: /usr/local/bin/runghc
configure: No runhugs found
configure: Using tar found on system at: /usr/bin/tar
configure: Using happy: /usr/local/bin/happy
configure: Using alex: /usr/local/bin/alex
configure: Using hsc2hs: /usr/local/bin/hsc2hs
configure: No c2hs found
configure: No cpphs found
configure: No greencard found
cd ../cpphs; HUGSFLAGS=-P../libraries/bootlib 
HUGSDIR=../hugsdir ../src/runhugs -98 Setup.hs build --verbose
Preprocessing library cpphs-1.3...
Preprocessing executables for cpphs-1.3...
Building cpphs-1.3...
/bin/rm -f -r ../hugsdir/packages/cpphs/autogen
mkdir -p ../hugsdir/programs
/bin/rm -f -r ../hugsdir/programs/cpphs
mv ../hugsdir/packages/cpphs/programs/cpphs ../hugsdir/programs
rmdir ../hugsdir/packages/cpphs/programs
(echo '#! /bin/sh'; \
 echo "rootdir='`cd ..; pwd`'"; \
 echo '$rootdir/src/runhugs -P$rootdir/libraries/bootlib 
$rootdir/hugsdir/programs/cpphs/Main.hs "$@"') >tools/cpphs
chmod 755 tools/cpphs
make[1]: *** No rule to make target `../hsc2hs/Main.hs', needed by 
`../hugsdir/programs/hsc2hs/Main.hs'.  Stop.
make: *** [all] Error 2

With my limited capacity, I have not managed to find a way around this 
obstacle. Your help to overcome this would be most welcome.

I hope that I am not wasting your time. I will gladly supply additional 
information.

And one last piece of information: I never tried to install Hugs from some 
binary distribution, that could very well work.

Best regards
Thorkil


More information about the Hugs-Bugs mailing list