
I wanted to try out data parallel haskell. I followed the instructions on http://haskell.org/haskellwiki/Data_Parallel_Haskell/PackageNDP but I get the following error:
dom@lagrange:~/ghc/libraries> make make.library.ndp make: *** No rule to make target `build.library.ndp', needed by `make.library.ndp'. Stop.
BTW when I built ghc, I had the following problem with happy (and alex). It kept telling me I needed dvips but dvips is already installed. In the end I used --nodeps.
dom@lagrange:~/happy> rpmbuild -ta happy-1.17.tar.gz error: Failed build dependencies: dvips is needed by happy-1.17-1.i586
dom@lagrange:~/happy> rpmlocate dvips
/usr/bin/dvips
dom@lagrange:~/happy> rpm --query -f /usr/bin/dvips texlive-2007-69
dom@lagrange:~/happy> dvips --version dvips(k) 5.96 kpathsea version 3.5.6 Copyright (C) 2005 Radical Eye Software. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License and the Dvips copyright. For more information about these matters, see the files named COPYING and dvips.h. Primary author of Dvips: T. Rokicki; -k maintainer: T. Kacvinsky/ S. Rahtz.
rpmbuild -ta --nodeps happy-1.17.tar.gz

Dominic Steinitz wrote:
I wanted to try out data parallel haskell. I followed the instructions on http://haskell.org/haskellwiki/Data_Parallel_Haskell/PackageNDP but I get the following error:
dom@lagrange:~/ghc/libraries> make make.library.ndp make: *** No rule to make target `build.library.ndp', needed by `make.library.ndp'. Stop.
I'm sure I shouldn't have done this but I did get ndp to build. 1. In libraries/Makefile, I replaced
SUBDIRS += process pretty hpc template-haskell editline Cabal random haskell98
with
SUBDIRS += process pretty hpc template-haskell editline Cabal random haskell98 ndp
^^^ I suspect I didn't supply the correct build.mk but there weren't any clues on http://haskell.org/haskellwiki/Data_Parallel_Haskell/PackageNDP so I therefore used the one suggested on http://hackage.haskell.org/trac/ghc/wiki/Building/Hacking entitled "How to make GHC build quickly" 2. There was already a hack for ndp so I added my own
# Hack for ndp, as described above make.library.ndp: build.library.ndp
MYSUBDIRS = ndp
# Build the library using 'setup build' (not the default) $(foreach SUBDIR,$(MYSUBDIRS),build.library.$(SUBDIR)):\ build.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \ %/setup/Setup ifBuildable/ifBuildable if ifBuildable/ifBuildable $*; then \ cd $* && \ setup/Setup build $(addprefix --ghc-option=,$(GhcLibHcOpts)); \ setup/Setup register --inplace; \ fi
I'm guessing if I'd got the right build.mk I wouldn't have needed to do this. Dominic.

Dominic Steinitz:
I wanted to try out data parallel haskell. I followed the instructions on http://haskell.org/haskellwiki/Data_Parallel_Haskell/PackageNDP but I get the following error:
dom@lagrange:~/ghc/libraries> make make.library.ndp make: *** No rule to make target `build.library.ndp', needed by `make.library.ndp'. Stop.
The ndp libraries are currently undergoing a fundamental restructure. We'll update the instructions once matters settle down. Sorry for the inconvenience. Manuel

Manuel M T Chakravarty wrote:
Dominic Steinitz:
I wanted to try out data parallel haskell. I followed the instructions on http://haskell.org/haskellwiki/Data_Parallel_Haskell/PackageNDP but I get the following error:
dom@lagrange:~/ghc/libraries> make make.library.ndp make: *** No rule to make target `build.library.ndp', needed by `make.library.ndp'. Stop.
The ndp libraries are currently undergoing a fundamental restructure. We'll update the instructions once matters settle down. Sorry for the inconvenience.
Manuel
Manuel, I think I have things working now but the "make" system seems to have problems. I followed the instructions here: http://www.haskell.org/haskellwiki/Data_Parallel_Haskell/PackageNDP but got the messages below. On the other hand this worked: ghc --make -o dotp dotp.hs -package ndp -i../lib -threaded and then running dom@lagrange:~/ghc/libraries/ndp/examples/dotp> ./dotp 100000 --threads=1 --runs=10 +RTS -N1 N = 100000: 125/124 126/126 129/132 dom@lagrange:~/ghc/libraries/ndp/examples/dotp> ./dotp 100000 --threads=2 --runs=10 +RTS -N2 N = 100000: 80/116 86/142 96/156 which seemed to indicate I was getting a performance improvement on my dual core machine. Would you like me to raise a ticket? Dominic. dom@lagrange:~/ghc/libraries/ndp/examples> make Makefile:14: warning: overriding commands for target `bench' mk/test.mk:28: warning: ignoring old commands for target `bench' Makefile:17: warning: overriding commands for target `clean' mk/test.mk:10: warning: ignoring old commands for target `clean' make -C lib make[1]: Entering directory `/home/dom/ghc/libraries/ndp/examples/lib' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/lib' for i in concomp dotp primes smvm qsort barneshut primespj ; do \ make -C $i ; \ done make[1]: Entering directory `/home/dom/ghc/libraries/ndp/examples/concomp' cd ../lib && make make[2]: Entering directory `/home/dom/ghc/libraries/ndp/examples/lib' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/lib' make[1]: *** No rule to make target `Graph.hi', needed by `mkg.o'. Stop. make[1]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/concomp' make[1]: Entering directory `/home/dom/ghc/libraries/ndp/examples/dotp' cd ../lib && make make[2]: Entering directory `/home/dom/ghc/libraries/ndp/examples/lib' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/lib' make[1]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/dotp' make[1]: Entering directory `/home/dom/ghc/libraries/ndp/examples/primes' cd ../lib && make make[2]: Entering directory `/home/dom/ghc/libraries/ndp/examples/lib' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/lib' make[1]: *** No rule to make target `H98.hi', needed by `primes.o'. Stop. make[1]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/primes' make[1]: Entering directory `/home/dom/ghc/libraries/ndp/examples/smvm' cd ../lib && make make[2]: Entering directory `/home/dom/ghc/libraries/ndp/examples/lib' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/lib' make[1]: *** No rule to make target `SMVMPar.hi', needed by `smvm.o'. Stop. make[1]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/smvm' make[1]: Entering directory `/home/dom/ghc/libraries/ndp/examples/qsort' cd ../lib && make make[2]: Entering directory `/home/dom/ghc/libraries/ndp/examples/lib' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/lib' make[1]: *** No rule to make target `QSortPar.hi', needed by `QSort.o'. Stop. make[1]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/qsort' make: *** barneshut: No such file or directory. Stop. make[1]: Entering directory `/home/dom/ghc/libraries/ndp/examples/primespj' cd ../lib && make make[2]: Entering directory `/home/dom/ghc/libraries/ndp/examples/lib' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/lib' make[1]: *** No rule to make target `PrimesVect.hi', needed by `PrimesPJ.o'. Stop. make[1]: Leaving directory `/home/dom/ghc/libraries/ndp/examples/primespj' make: *** [all] Error 2

Dominic Steinitz wrote:
I think I have things working now but the "make" system seems to have problems. I followed the instructions here:
http://www.haskell.org/haskellwiki/Data_Parallel_Haskell/PackageNDP
but got the messages below.
Sorry, I haven't checked whether doing "make" works in the examples subdirectory for a while. However, "make <example>" ought to work, where <example> is dotp, smvm and so on. In any case, the code and the build system are undergoing extensive refactoring at the moment. I hope this will work better once that's done.
On the other hand this worked:
ghc --make -o dotp dotp.hs -package ndp -i../lib -threaded
I would recommend using -Odph with the HEAD or the flags from ndp.mk if you want to actually run the programs; it's going to be really slow otherwise.
Would you like me to raise a ticket?
For the moment, please just email or cc me about any NDP problems. Roman
participants (3)
-
Dominic Steinitz
-
Manuel M T Chakravarty
-
Roman Leshchinskiy