运行偏航时无法加载setuid_drv:“使用错误版本的erl_driver.h编译的驱动程序”

时间:2012-06-17 22:51:02

标签: macos erlang yaws

我从主分支安装了最新版本的Erlang和lastet Yaws。但是当我试图运行雅司病时,我得到一个错误:“驱动程序使用错误版本的erl_driver.h进行编译”。如何解决这个问题?雅虎是否在最新的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,[]]}}})

2 个答案:

答案 0 :(得分:0)

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


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

答案 1 :(得分:0)

我在Erlang R15B01下的OS X 10.7.4上成功运行了最新版本的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之间发生了变化,这可能解释了这个错误。