probs compiling from source in linux

226 views
Skip to first unread message

Ross M

unread,
Oct 4, 2010, 11:54:14 AM10/4/10
to poy4
Dear all,

I had no problems compiling from source on my Ubuntu machine, but I
can't seem to get it past 'make' on my old Peppermint One (OS)
desktop. Perhaps I'm missing something...?

Here's the error msg (after ./configure, which executes just fine I
think):

ross@ross-lab:~/poy4$ make
cd src; \
make poy.native
make[1]: Entering directory `/home/ross/poy4/src'
ocamlbuild.native poy.native
Finished, 1 target (0 cached) in 00:00:01.
+ /usr/bin/ocamldep -pp 'camlp4orf pa_extend.cmo' -modules
poyExtension.ml > poyExtension.ml.depends
sh: camlp4orf: not found
Preprocessing error on file poyExtension.ml
Command exited with code 2.
Compilation unsuccessful after building 1 target (0 cached) in
00:00:00.
make[1]: *** [poy.native] Error 10
make[1]: Leaving directory `/home/ross/poy4/src'
make: *** [poy.native] Error 2


I think I have all the prerequisite packages installed:
1.) ocaml -version
The Objective Caml toplevel, version 3.11.2
2.) make -v
GNU Make 3.81 [INSTALL file states version 3.80 but I'm
assuming using >=3.80 is okay?]
3.) zlib? I've got a set of packages e.g. zlib1g [version
1:1.2.3.3.dfsg-15ubuntu1 (lucid)]
4.) ISO 99 C compiler? I've got gcc version 4.4.3, though I've read
it doesn't fully support everything ISO 99 C specifies. Perhaps this
is my problem?


Any suggestions? I'll happily post more info should you need it for
diagnosis.






Nicholas Lucaroni

unread,
Oct 4, 2010, 12:02:45 PM10/4/10
to poy4
I had someone ask me about this a few days ago actually. If it is the
same problem, you must have installed ocaml from the ubuntu's package
management system? In that case, you are just missing camlp4-extra
package. Install that, and you should be fine.

Ross M

unread,
Oct 4, 2010, 12:11:46 PM10/4/10
to poy4
Great. Problem solved. :)

Would never have figured that out by myself...


Thanks,

Ross



On Oct 4, 5:02 pm, Nicholas Lucaroni <nicholas.r.lucar...@gmail.com>
wrote:

Buz Wilson

unread,
Nov 17, 2010, 12:03:43 AM11/17/10
to poy4
Hi All

I'm just getting around to doing new some analyses and have updated my
machine to Ubuntu 10.04 amd64. I had the same problems above and found
that solution, but I'm still having problems. Instead of installing
OCAML from the repositories, I compiled it using the posted method but
using the latest OCAML source 3.12. The poy build failed with an error
message about it not being the latest OCAML, so the error handler
needs some work I suspect. I got the OCAML 3.11 source, compiled that,
and then compiled the latest POY from svn. It then reminded me that I
needed zlib, so I installed that from the repositories. After another
make clean, configure make make install, it compiled with no errors
but many many warnings. Is this normal?

The upshot is that mpich doesn't like the result and I can't get it to
run poy. It keeps exiting with
"Bad argument: /usr/local/bin/poy: unknown option `-p4pg'."
poy by itself runs OK, however. Am I using the wrong mpich2?
Currently I have used mpich2, and several related libraries from the
repositories. Previously I have used mpich2-shmem

Any advice welcome.

Cheers

Buz Wilson
Australian Museum


Nicholas Lucaroni

unread,
Nov 17, 2010, 10:47:24 AM11/17/10
to poy4
Hi Buz,

You are correct that the makefile has an error in checking for the
proper version of OCAML. Although, since POY haven't been tested
against OCAML 3.12, it might be better to stick to 3.11 as you have
done --I can confirm that POY will compile with OCAML 3.12, but
testing has been pretty shallow. As for the warning messages, check if
they are the same as the ones that had been reported awhile ago [1].

As for mpich. I'm not entirely sure what the problem could be but to
start, how did you configure POY? The configure line should have
included (at least), --enable-mpi and CC=<mpicc compiler>.

Regards,
Nick


[1] : http://groups.google.com/group/poy4/browse_thread/thread/391cd8b73c4c303c

Buz Wilson

unread,
Nov 22, 2010, 4:44:24 PM11/22/10
to poy4
Thanks Nick
Faulty memory - had left this alone for the last 8 months...
Yes the compile options are the standard ones (so I thought).
"
/configure --enable-interface=flat --enable-mpi CC=mpicc CFLAGS="-03 -
msse"
"
A difference is that I am using mpich not mpich-shmem, as I want to
try setting up a small group of networked pcs.

Buz Wilson
Australian Museum

Nicholas Lucaroni

unread,
Nov 23, 2010, 4:19:01 PM11/23/10
to poy4
Looking back at that error message, you may be executing MPI
incorrectly. How are you going about that? poy should be passed as an
argument to mpi, and -p4pg and the processor nodes file should be
before that. So,

mpirun -p4pg nodes.pg ./poy test.script

Getting the order wrong would pass -p4pg to poy, which would be in
line with the error message you reported. I didn't test the p4pg
option with mpirun, but I did test the compilation options and running
it on 5 local processes by,

mpiexec -n 5 ./poy test.script

with the expected results.

nick

Buz Wilson

unread,
Nov 24, 2010, 10:48:11 PM11/24/10
to poy4
Thanks Nick. I finally solved all this by installing openmpi. The
command is now:
mpirun.openmpi -np 8 /usr/local/bin/poy -e
4.1_Combining_Search_Strategies.txt
(just testing with the supplied example scripts in POY). It requires
the openmpi specifier in the mpirun command - apparently because this
is a single node system.
To get there, I used the following command (Debian; Ubuntu)
sudo apt-get install openmpi-common openmpi-dev openmpi-doc
libmpich2-1.2 libmpich2-dev
The libmpich libararies are needed at runtime, as I got a mpiexec
error without them.
Cheers

Buz


On Nov 24, 8:19 am, Nicholas Lucaroni <nicholas.r.lucar...@gmail.com>
wrote:
Reply all
Reply to author
Forward
0 new messages