caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Opam on Blue-Gene
@ 2016-01-11 14:10 Anthony Scemama
       [not found] ` <4673524.9ZabesDjnc@maitake>
  0 siblings, 1 reply; 6+ messages in thread
From: Anthony Scemama @ 2016-01-11 14:10 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 959 bytes --]

Hi,
has anyone managed to install OCaml+OPAM on a IBM BlueGenemachine?



- When I try to compile the OCaml compiler with gcc, I get a Makefile
error related to a missing none.o file.

- To install OPAM, I do the following:

|wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin/

but OPAM tells me it does not have a binary distribution for my architecture (ppc64)

- I tried to compile the code into bytecode on an Intel machine and copy it to the BlueGene, but the ocamlrun ppc won't
execute the bytecode generated for Intel. Is there an endianness incompatibility in the bytecodes?



I don't know what else I can do to make my code run on a BlueGene machine (Mira at Argonne), and I am trying to convince people
that HPC is not only limited to Fortran or C/C++ using MPI and OpenMP :-(

Help !!!


Anthony

-- 
Anthony Scemama
IRSAMC / Laboratoire de Chimie et Physique Quantiques
UMR5626 CNRS/UPS
Toulouse|


[-- Attachment #2: Type: text/html, Size: 1436 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Opam on Blue-Gene
       [not found] ` <4673524.9ZabesDjnc@maitake>
@ 2016-01-19 14:25   ` Anthony Scemama
  2016-01-19 21:10     ` Mehdi Dogguy
  0 siblings, 1 reply; 6+ messages in thread
From: Anthony Scemama @ 2016-01-19 14:25 UTC (permalink / raw)
  To: Louis Gesbert, caml-list

Hi Louis,
Thank you very much for your help!
Using the current development version of OCaml, everything compiles
perfectly under ppc64.
I could also install opam with no problem.


On 01/15/2016 02:48 PM, Louis Gesbert wrote:
> Hi Anthony
>
>> I don't know what else I can do to make my code run on a BlueGene machine
>> (Mira at Argonne), and I am trying to convince people that HPC is not only
>> limited to Fortran or C/C++ using MPI and OpenMP :-(
> This indeed sounds like a noble cause! We've had successful builds on ppc64 
> already (power8), so the architecture should'nt be a problem -- you will need 
> to get on the OCaml 4.03 dev branch though, as we had to write a few fixes 
> over 4.02.3 for this.
>
> I have otherwise little idea on your build issues. Did you use GNU make ?
>
> The opam_installer.sh script only works for targets for which we provide 
> precompiled binaries, and these don't include ppc64, so you will have to build 
> from source -- getting the inclusive archives linked at 
> http://opam.ocaml.org/doc/Install.html#FromSources and following the build 
> instructions at https://github.com/ocaml/opam/blob/master/README.md#compiling-this-repo should be easiest.
>
> Best,
> Louis Gesbert - OCamlPro

-- 
Anthony Scemama
Laboratoire de Chimie et Physique Quantiques
IRSAMC - CNRS - Universite de Toulouse


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Opam on Blue-Gene
  2016-01-19 14:25   ` Anthony Scemama
@ 2016-01-19 21:10     ` Mehdi Dogguy
  2016-01-20 18:19       ` Mehdi Dogguy
  0 siblings, 1 reply; 6+ messages in thread
From: Mehdi Dogguy @ 2016-01-19 21:10 UTC (permalink / raw)
  To: Anthony Scemama, Louis Gesbert, caml-list

Hi,

On 19/01/2016 15:25, Anthony Scemama wrote:
> On 01/15/2016 02:48 PM, Louis Gesbert wrote:
>> Hi Anthony
>> 
>>> I don't know what else I can do to make my code run on a
>>> BlueGene machine (Mira at Argonne), and I am trying to convince
>>> people that HPC is not only limited to Fortran or C/C++ using MPI
>>> and OpenMP :-(
>> This indeed sounds like a noble cause! We've had successful builds 
>> on ppc64 already (power8), so the architecture should'nt be a 
>> problem -- you will need to get on the OCaml 4.03 dev branch 
>> though, as we had to write a few fixes over 4.02.3 for this.
>> 

Can you please tell us about the patches applied on top of 4.02.3 to get it
compiling? I've already compiled opam using ocaml 4.01 or 4.02 on ppc64el
without any issues. So, I am a bit surprised. Maybe I've missed something
though.

Regards,

-- 
Mehdi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Opam on Blue-Gene
  2016-01-19 21:10     ` Mehdi Dogguy
@ 2016-01-20 18:19       ` Mehdi Dogguy
  2016-01-27 15:04         ` Anthony Scemama
  0 siblings, 1 reply; 6+ messages in thread
From: Mehdi Dogguy @ 2016-01-20 18:19 UTC (permalink / raw)
  To: Anthony Scemama, Louis Gesbert, caml-list

On 19/01/2016 22:10, Mehdi Dogguy wrote:
> 
> Can you please tell us about the patches applied on top of 4.02.3 to get it
> compiling? I've already compiled opam using ocaml 4.01 or 4.02 on ppc64el
> without any issues. So, I am a bit surprised. Maybe I've missed something
> though.
> 

FWIW, the same question applies even one consider ppc64 (big endian), s390
or s390x. In my experience, all four architectures didn't cause issues wrt.
ocaml projects (or ocaml itself). So, I'm genuinely interested in hearing
what could go (or went) wrong there and how observed issues were fixed.

ocamlopt is certainly not available everywhere and sometimes, one has to
put a little patch relevant on bytecode architectures. but i didn't see more
complex or deep issues there.

-- 
Mehdi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Opam on Blue-Gene
  2016-01-20 18:19       ` Mehdi Dogguy
@ 2016-01-27 15:04         ` Anthony Scemama
  2016-01-27 15:42           ` Stéphane Glondu
  0 siblings, 1 reply; 6+ messages in thread
From: Anthony Scemama @ 2016-01-27 15:04 UTC (permalink / raw)
  To: Mehdi Dogguy, Louis Gesbert, caml-list

[-- Attachment #1: Type: text/plain, Size: 3978 bytes --]

Hi Mehdi,

I was able to reproduce the problem. Here is the output :

|-bash-4.1$ opam switch 4.02.3

=-=- Installing compiler 4.02.3 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[default.comp] http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02.3.tar.gz downloaded
Now compiling OCaml. This may take a while, please bear with us...
[ERROR] Compiler build failed at "make world.opt":
        # opam-version 1.2.2
        # os           linux
        # command      make world.opt
        # path         /home/abenali/.opam/4.02.3/build/ocaml
        # exit-code    2
        # env-file     /home/abenali/.opam/log/log-30082-6d07ae.env
        # stdout-file  /home/abenali/.opam/log/log-30082-6d07ae.out
        # stderr-file  /home/abenali/.opam/log/log-30082-6d07ae.err
        ### stdout ###
        # [...]
        # ln -s ../byterun/debugger.c debugger.c
        # gcc -I../byterun -DCAML_NAME_SPACE -DNATIVE_CODE -DTARGET_none -DSYS_unknown  -O -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT   -c -o debugger.o debugger.c
        # ln -s ../byterun/meta.c meta.c
        # gcc -I../byterun -DCAML_NAME_SPACE -DNATIVE_CODE -DTARGET_none -DSYS_unknown  -O -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT   -c -o meta.o meta.c
        # ln -s ../byterun/dynlink.c dynlink.c
        # gcc -I../byterun -DCAML_NAME_SPACE -DNATIVE_CODE -DTARGET_none -DSYS_unknown  -O -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT   -c -o dynlink.o dynlink.c
        # make[4]: Leaving directory `/gpfs/vesta-home/abenali/.opam/4.02.3/build/ocaml/asmrun'
        # make[3]: Leaving directory `/gpfs/vesta-home/abenali/.opam/4.02.3/build/ocaml'
        # make[2]: Leaving directory `/gpfs/vesta-home/abenali/.opam/4.02.3/build/ocaml'
        # make[1]: Leaving directory `/gpfs/vesta-home/abenali/.opam/4.02.3/build/ocaml'
        ### stderr ###
        # backtrace.c:103:14: warning: implicit declaration of function 'Callback_link' [-Wimplicit-function-declaration]
        # [...]
        #               ^
        # backtrace.c:103:44: warning: initialization makes pointer from integer without a cast [enabled by default]
        #        struct caml_context * next_context = Callback_link(*sp);
        #                                             ^
        # make[4]: *** No rule to make target `none.o', needed by `libasmrun.a'.  Stop.
        # make[3]: *** [makeruntimeopt] Error 2
        # make[2]: *** [opt-core] Error 2
        # make[1]: *** [opt.opt] Error 2
        # make: *** [world.opt] Error 2

-bash-4.1$  uname -a
Linux vestalac1 2.6.32-431.20.5.el6.ppc64 #1 SMP Wed Jul 16 05:27:12 EDT 2014 ppc64 ppc64 ppc64 GNU/Linux
|

and here is a bit of the /proc/cpuinfo:

|...
processor       : 47
cpu             : POWER7 (architected), altivec supported
clock           : 3720.000000MHz
revision        : 2.1 (pvr 003f 0201)

timebase        : 512000000
platform        : pSeries
model           : IBM,8205-E6B
machine         : CHRP IBM,8205-E6B
|

Using ocaml 4.03.0+dev12-2015-11-20 solved the problem, but I don’t more.

Cheers,
Anthony




On 01/20/2016 07:19 PM, Mehdi Dogguy wrote:

> On 19/01/2016 22:10, Mehdi Dogguy wrote:
>> Can you please tell us about the patches applied on top of 4.02.3 to get it
>> compiling? I've already compiled opam using ocaml 4.01 or 4.02 on ppc64el
>> without any issues. So, I am a bit surprised. Maybe I've missed something
>> though.
>>
> FWIW, the same question applies even one consider ppc64 (big endian), s390
> or s390x. In my experience, all four architectures didn't cause issues wrt.
> ocaml projects (or ocaml itself). So, I'm genuinely interested in hearing
> what could go (or went) wrong there and how observed issues were fixed.
>
> ocamlopt is certainly not available everywhere and sometimes, one has to
> put a little patch relevant on bytecode architectures. but i didn't see more
> complex or deep issues there.
>
​

-- 
Anthony Scemama
Laboratoire de Chimie et Physique Quantiques
IRSAMC - CNRS - Universite de Toulouse


[-- Attachment #2: Type: text/html, Size: 12923 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] Opam on Blue-Gene
  2016-01-27 15:04         ` Anthony Scemama
@ 2016-01-27 15:42           ` Stéphane Glondu
  0 siblings, 0 replies; 6+ messages in thread
From: Stéphane Glondu @ 2016-01-27 15:42 UTC (permalink / raw)
  To: Anthony Scemama, caml-list; +Cc: Mehdi Dogguy, Louis Gesbert

Le 27/01/2016 16:04, Anthony Scemama a écrit :
> I was able to reproduce the problem. Here is the output :
> 
> -bash-4.1$ opam switch 4.02.3
> [...]
> [ERROR] Compiler build failed at "make world.opt":

I've faced this issue when using OPAM on bytecode architectures (i.e. no
ocamlopt available) : "opam switch" seems to unconditionally call *opt
targets when it compiles ocaml. If this is correct, "opam switch" should
be fixed but I suspect many OPAM packages don't work on bytecode
architectures (is there any QA done on such architectures?). In Debian,
we often have to fix packages...


Cheers,

-- 
Stéphane


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-01-27 15:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-11 14:10 [Caml-list] Opam on Blue-Gene Anthony Scemama
     [not found] ` <4673524.9ZabesDjnc@maitake>
2016-01-19 14:25   ` Anthony Scemama
2016-01-19 21:10     ` Mehdi Dogguy
2016-01-20 18:19       ` Mehdi Dogguy
2016-01-27 15:04         ` Anthony Scemama
2016-01-27 15:42           ` Stéphane Glondu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).