【问题标题】:How to build Apache WebSocket module?如何构建 Apache WebSocket 模块?
【发布时间】:2017-02-02 11:18:35
【问题描述】:

我尝试了好几个小时来解决这个问题。我从Disconnect 中找到了Apache-WebSocket,并决定尝试一下。说明推荐Scons。但是,为了能够使用 Scons,我还需要 Python。我安装了最新的 3.x+ Python,但是当我也安装了 Scons 并尝试构建模块时,它告诉我尚不支持 Python 3.x+。好的,我卸载了 Scons 和 Python,然后安装了 Python 2.7.7。

在我这样做之后,我遇到了更多的困难,因为在注册表中找不到 Python。经过搜索,我找到了this answer。我提取并执行了该文件。之后,Scons 工作了,但仍然无法安装该模块。

在查看 SConstruct 之后,我看到有一个 Apache 的硬编码路径,并且我已经修复了该路径。之后,我在文件夹中运行了以下命令:

scons install

但反应是这样的:

scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
cl /Fomod_websocket.obj /c mod_websocket.c /nologo /O2 /MD /EHsc /W3 /DWIN32 /IC
:\wamp\bin\apache\apache2.4.2\include
'cl' is not recognized as an internal or external command,
operable program or batch file.
scons: *** [mod_websocket.obj] Error 1
scons: building terminated because of errors.

我使用的是 Windows 8 和 Wamp。我应该怎么做才能解决我面临的问题?

编辑:

这个很棒的页面帮助我解决了 cl 的问题。我需要安装 Visual C++ 的常用工具,然后我需要运行

vcvarsall.bat x86

之后我执行了

scons install

它通过了上次失败的点。现在新的错误如下:

mod_websocket.so.manifest : general error c1010070: Failed to load and parse the
 manifest. The system cannot find the file specified.
scons: *** [mod_websocket.so] Error 31
scons: building terminated because of errors.

【问题讨论】:

  • 几个问题:哪个版本的 SCons?哪个版本的视觉工作室?在安装 scons 之前,您不必在系统上运行 vcvarsall.bat x86。 SCons 应该会找到已安装的 Visual Studio。
  • Scons 2.5.0. Visual Studio 2015。执行 vcvarsall.bat 时已经安装了 Scons
  • 安装 Visual Studio 的时间与安装 SCons 的时间无关。 SCons 应该在每次运行时找到 Visual Studio。您可以尝试以下操作:不要运行 vcvarsall.bat,设置 SCONS_MSCOMMON_DEBUG=%TEMPDIR%\scons_mstrace.log ,运行 scons,然后将输出粘贴到某处并将其添加到您的问题中?
  • @bdbaddog,问题中的最后一个错误与清单有关。之前的所有步骤都已成功完成。我的问题是:您的想法是否解决了清单中显示的问题?
  • 正如我在之前的评论中所说的那样。您不需要在运行 SCons 之前运行 vcvarsall.bat。如果您需要,则表明 SCons 没有找到您的 Visual Studio 安装。在这里设置 SCONS_MSCOMMON_DEBUG 将有助于找出失败的原因,并减轻运行 vcvarsall.bat 的需要。 MSVC 初始化不完整,scons 中的 MSVC 可能与您的剩余问题有关。

标签: python apache websocket scons cl


【解决方案1】:

安装 Visual Studio 的时间与安装 SCons 的时间无关。 SCons 应该在每次运行时找到 Visual Studio。您可以尝试以下操作:不要运行 vcvarsall.bat,

设置 SCONS_MSCOMMON_DEBUG=%TEMPDIR%\scons_mstrace.log

运行 scons,然后将输出粘贴到某处并将其添加到您的问题中?

您不需要在运行 SCons 之前运行 vcvarsall.bat。如果您需要,则表明 SCons 没有找到您的 Visual Studio 安装。这是设置 SCONS_MSCOMMON_DEBUG 有助于找出失败的原因,并减轻运行 vcvarsall.bat 的需要。 MSVC 初始化不完整,scons 中的 MSVC 可能与您的剩余问题有关。

你能粘贴bin生成的日志文件吗?

【讨论】:

  • 这是有道理的,而且可能是真的。我已经解决了这个问题,但我相信这个答案值得被接受。当我回到这个问题时,如果遇到问题,我可能会撤销接受。
猜你喜欢
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 2011-05-22
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多