AIX 6.1 中的 Ocaml 编译错误

AIX 6.1 中的 Ocaml 编译错误

当我尝试在运行 AIX 6.1 的服务器上编译 Ocaml 时,遇到以下错误:

"../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.

当我执行make world.这是最终的输出./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 **

答案1

AIX 不再是官方支持的平台。有一个OCaml 3.11.2 的非官方移植

您可以使用 GNU make 修复立即生成的错误。或者,您可以尝试调整 makefile。otherlibs/Makefile.shared使用非标准构造?=;更改三行以使用=, ieCMIFILES = $(CAMLOBJS:.cmo=.cmi)等。您还需要更改以移动具有以下otherlibs/num/Makefile定义的行,以及类似地移动以下定义。CMIFILESinclude ../Makefileotherlibs/dbm/Makefileotherlibs/str/MakefileCLIBNAMEinclude ../Makefile

我建议搜索或发布在caml列表。这是与可能仍在 AIX 上使用 Ocaml 的其他人取得联系的最佳地点。

答案2

你应该把完整的日志(放在pastebin或其他什么地方)而不是剪掉任意部分!还显示make --version(GNU make 应该可以工作)的输出。

相关内容