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