0

我从主分支安装了最新版本的 Erlang 和最新版本的 Yaws。但是,当我尝试运行 yaws 时,我收到“使用错误版本的 erl_driver.h 编译的驱动程序”的错误。我该如何解决这个问题?Yaws 不是在最新的 Erlang 版本上运行吗?我在 Mac OS X 10.6 上运行它。

jonas$ yaws
Erlang R15B01 (erts-5.9.1) [source] [smp:2:2] [async-threads:0] [hipe] [kernel-poll:true]

Eshell V5.9.1  (abort with ^G)
1> 
=ERROR REPORT==== 18-Jun-2012::00:43:08 ===
Failed to load setuid_drv (from "/usr/local/lib/yaws/priv/lib") : "Driver compiled with incorrect version of erl_driver.h"
=ERROR REPORT==== 18-Jun-2012::00:43:08 ===
FATAL {'EXIT',normal}

=INFO REPORT==== 18-Jun-2012::00:43:08 ===
    application: yaws
    exited: {shutdown,{yaws_app,start,[normal,[]]}}
    type: permanent
{"Kernel pid terminated",application_controller,"{application_start_failure,yaws,{shutdown,{yaws_app,start,[normal,[]]}}}"}

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,yaws,{shutdown,{yaws_app,start,[normal,[]]}}})
4

2 回答 2

0

更新:这个答案不再是一个答案。它在这里只是为了证明自己的无效性。


Yaws的最新版本(发行版)应该可以在 OSX 上与最新的 Erlang 发行版一起愉快地运行。请尝试从http://yaws.hyber.org/download/下载 Yaws 的源代码,而不是从 GitHub 的 master 分支下载。Yaws 的主分支可能有点实验性。

于 2012-06-18T05:14:16.363 回答
0

我在 Erlang R15B01 下的 OS X 10.7.4 上成功地从 github master 运行了最新版本的 Yaws——它确实有效:

$ uname -a
Darwin bcc 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr  9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64
$ yaws -i
Erlang R15B01 (erts-5.9.1) [source] [smp:8:8] [async-threads:0] [hipe] [kernel-poll:true]

Eshell V5.9.1  (abort with ^G)
1> 
=INFO REPORT==== 18-Jun-2012::10:01:33 ===
Yaws: Using config file /usr/local/etc/yaws/yaws.conf

您是否有机会在过去使用 Erlang 的早期版本(R14Bxx 或更早版本)编译您的 Yaws 源代码,然后尝试在 R15B01 下再次构建而不先执行“make clean”?Erlang 驱动程序接口在版本 14 和 15 之间发生了变化,这可能解释了这个错误。

于 2012-06-18T14:05:51.020 回答