Installing Boost.MPI [bjam]
Hi all, I need some help with building Boost.MPI. My system is a Debian testing (lenny) system and I'm following the instructions at [lenny uses 1.35 and not 1.36]: http://www.boost.org/doc/libs/1_35_0/doc/html/mpi/getting_started.html I'm using Open MPI and I can compile and run the test implementation fine (mpi-test.cpp). So, I moved to the next step on configuring and building. My bjam is 3.1.16. I copied user-config.jam to my home directory, with the line "using mpi ;" added at the end. Then, I ran "bjam --with-mpi" in the "top-level Boost directory" [*] and I get this error: error: no Jamfile in current directory found, and no target references specified. Firstly, I'm not sure if I have everything installed... But I also don't know what the "top-level Boost directory" is. I've tried these locations: /usr/share/boost-build/ /usr/share/boost-build/build/ /usr/share/boost-build/tools/ [it had an mpi.jam file in it] /usr/include/boost/ And also replaced "using mpi ;" with "using mpi : /usr/bin/mpic++ ;". I'm currently trying this as root user, so I don't think root privileges is the problem. (bjam came with a "Hello World" example and that compiled fine; so I don't think it's something wrong with bjam.) Any help would be appreciated... Thanks! Ray
Raymond Wan wrote:
Hi all,
I need some help with building Boost.MPI. My system is a Debian testing (lenny) system and I'm following the instructions at [lenny uses 1.35 and not 1.36]:
... [snip]
Firstly, I'm not sure if I have everything installed... But I also don't know what the "top-level Boost directory" is. I've tried these locations:
/usr/share/boost-build/ /usr/share/boost-build/build/ /usr/share/boost-build/tools/ [it had an mpi.jam file in it] /usr/include/boost/
And also replaced "using mpi ;" with "using mpi : /usr/bin/mpic++ ;". I'm currently trying this as root user, so I don't think root privileges is the problem. (bjam came with a "Hello World" example and that compiled fine; so I don't think it's something wrong with bjam.)
Any help would be appreciated... Thanks!
Ray
Ray, I think your trouble is with the "top level directory." It is the directory that holds the initial boost download. It has things in it like a directory called "boost" (that holds the actual code for the libraries), one called "doc" (that holds a few documents, but not most of them), one called "lib" (that holds most of the documentation and examples for the libraries), and most importantly the top level jamfile for bjam to create boost libraries. That is where you need to be when you run bjam to make the MPI library. The rest sounds like it is probably fine, and we can look at it more closely if this doesn't work. John
Hi John, John Phillips wrote:
Raymond Wan wrote:
Hi all,
I need some help with building Boost.MPI. My system is a Debian testing (lenny) system and I'm following the instructions at [lenny uses 1.35 and not 1.36]:
... [snip]
Firstly, I'm not sure if I have everything installed... But I also don't know what the "top-level Boost directory" is. I've tried these locations:
/usr/share/boost-build/ /usr/share/boost-build/build/ /usr/share/boost-build/tools/ [it had an mpi.jam file in it] /usr/include/boost/
Ray,
I think your trouble is with the "top level directory." It is the directory that holds the initial boost download. It has things in it like a directory called "boost" (that holds the actual code for the libraries), one called "doc" (that holds a few documents, but not most of them), one called "lib" (that holds most of the documentation and examples for the libraries), and most importantly the top level jamfile for bjam to create boost libraries. That is where you need to be when you run bjam to make the MPI library. The rest sounds like it is probably fine, and we can look at it more closely if this doesn't work.
Thanks for the tip! I did more searching and as I installed from the official Debian packages, there doesn't seem to be a directory structure like this. i.e., documentation is in /usr/share/doc, it seems. I guess this is standard for Debian packages. Anyway, I thought I'd Google more as maybe I'm missing a package. As it turns out, as late as July 2008, someone has reported a bug [in the libboost1.35-dev package, for anyone interested] that says the Jamfiles are missing. :-( Maybe something further up (i.e., Debian unstable) might have it, but I don't think I want to be using anything from "unstable" with my limited knowledge. Is it terribly hard to download Boost 1.35 [again, because that is what Debian testing is using], take the Jamfile and edit it for my purposes (but not get it "perfect" enough for distributing to someone else)? I downloaded 1.36 and am looking at the Jamfile [I see what you mean now...if I had downloaded the source, the Jamfile just jumps out at you...can't miss it] -- looks difficult, but not impossible. But I'm sure there's plenty of non-Debian-specific information out there on how to do this. Or maybe I should just go with installing from source into a separate directory. This latter option seems easiest right now, I guess... Thanks a lot for your help, John! Ray PS: Link to the bug report -- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=490380
Hi John, Raymond Wan wrote:
Hi John,
John Phillips wrote:
Raymond Wan wrote:
Hi all,
I need some help with building Boost.MPI. My system is a Debian testing (lenny) system and I'm following the instructions at [lenny uses 1.35 and not 1.36]:
... [snip]
Or maybe I should just go with installing from source into a separate directory. This latter option seems easiest right now, I guess...
Just a quick follow-up to my situation. I went ahead and did this -- downloaded the source and did a local installation. While compiling wasn't perfect -- the error I got was "failed updating 69 targets, skipped 18 targets" -- but 7857 targets worked...so percentage-wise, it's ok. :-) Most importantly, I did this to get Boost.MPI working. So, I tried the test program in the Boost.MPI tutorial and it worked fine. So, it seems [for me, anyway], this was a reasonable option compared to wrestling with the Debian package which I might go back to some day, but right now, I don't know enough to fix that. Big thank you for your help! Your message gave me the motivation to look into this alternative [of downloading from source and installing]... Ray
Raymond Wan wrote:
Hi John,
Raymond Wan wrote:
Hi John,
John Phillips wrote:
Raymond Wan wrote:
Hi all,
I need some help with building Boost.MPI. My system is a Debian testing (lenny) system and I'm following the instructions at [lenny uses 1.35 and not 1.36]:
... [snip]
Or maybe I should just go with installing from source into a separate directory. This latter option seems easiest right now, I guess...
Just a quick follow-up to my situation. I went ahead and did this -- downloaded the source and did a local installation. While compiling wasn't perfect -- the error I got was "failed updating 69 targets, skipped 18 targets" -- but 7857 targets worked...so percentage-wise, it's ok. :-) Most importantly, I did this to get Boost.MPI working. So, I tried the test program in the Boost.MPI tutorial and it worked fine.
So, it seems [for me, anyway], this was a reasonable option compared to wrestling with the Debian package which I might go back to some day, but right now, I don't know enough to fix that.
Big thank you for your help! Your message gave me the motivation to look into this alternative [of downloading from source and installing]...
Ray
Ray, Glad it worked out. It looks like Debian is currently not a good choice. (I've never used it, so I didn't know this.) Happy coding. John
participants (2)
-
John Phillips
-
Raymond Wan