I meet the following error when I try to compile Ocaml on my server running AIX 6.1 :

"../Makefile.shared", line 39: make: 1254-055 Dependency line needs colon or double colon operator.
"../Makefile.shared", line 40: make: 1254-055 Dependency line needs colon or double colon operator.
"../Makefile.shared", line 41: make: 1254-055 Dependency line needs colon or double colon operator.
make: 1254-058 Fatal errors encountered -- cannot continue.
make: 1254-004 The error code from the last command is 2.

This appears when I execute make world. This is the final output from ./configure:

Directories where Objective Caml will be installed:
        binaries.................. /usr/local/bin
        standard library.......... /usr/local/lib/ocaml
        manual pages.............. /usr/local/man (with extension .1)
Configuration for the bytecode compiler:
        C compiler used........... gcc
        options for compiling..... -fno-defer-pop -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT
        options for linking.......   -lm  -lcurses -lpthread
        shared libraries not supported
Configuration for the native-code compiler:
        (not supported on this platform)
Source-level replay debugger: supported
Additional libraries supported:
        unix str num dynlink bigarray systhreads threads graph dbm
Configuration for the "num" library:
        target architecture ...... generic (asm level 0)
Configuration for the "graph" library:
        options for compiling .... -I/usr/X11R7/include
        options for linking ...... -L/usr/X11R7/lib -lX11
The "labltk" library: not supported
** Objective Caml configuration completed successfully **
  • I just saw your other question. Since you just want to compile a program that's written in Ocaml, I recommend trying Christoph Bauer's port of Ocaml. Furthermore, since you aren't doing Ocaml programming, Stack Overflow is the wrong place for your question; it should be migrated to another site (do not repost!). Jul 28 '11 at 11:32

AIX is no longer an officially-supported platform. There is an unofficial port of OCaml 3.11.2.

You can fix your immediate build error by using GNU make. Alternatively, you can try tweaking the makefile. otherlibs/Makefile.shared is using a non-standard construct ?=; change the three lines to use =, i.e. CMIFILES = $(CAMLOBJS:.cmo=.cmi) and so on. You'll also need to change otherlibs/num/Makefile to move the line with the definition of CMIFILES below include ../Makefile, and similarly in otherlibs/dbm/Makefile and otherlibs/str/Makefile move the definition of CLIBNAME below include ../Makefile.

I recommend searching or posting on the caml-list. This is the best place to get in touch with other people who may still be using Ocaml on AIX.


You should put full logs (on pastebin or whatever) and not cut arbitrary parts out! Also show the output of make --version (GNU make should work).

  • yes i install gmake and after i install it ./configure and gmake world it is appear execute successfully but i still have an error when i execute gmake opt and the error is Makefile:23: *** missing separator. Stop. .... so what is the error now ???
    – Eng Al-Rawabdeh
    Jul 28 '11 at 12:50
  • Probably make is called recursively in ocaml's Makefile without $(MAKE), but since you still don't include any logs I can't help you.
    – ygrek
    Jul 28 '11 at 15:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy