jkbest00 2009-06-16 00:31
浏览 265
已采纳

ruby 1.9.1 openssl编译问题

编译环境 mingw + gcc 4.3

1、下载openssl-0.9.8k.tar.gz,编译安装:perl Configure -DMK1MF_BUILD mingw; make; make install,一切正常
2、下载ruby-1.9.1-p129.tar.gz,编译安装:./configure --prefix=C:/Ruby; make; make install, 一切正常(正确编译出openssl.so文件)
3、irb下,require 'openssl.so',出错:

[img]/upload/attachment/114542/98259934-31ba-38c7-a7eb-ca11ad8aa7de.gif[/img]

请问是什么问题,谢谢
[b]问题补充:[/b]
require 'openssl'是正常的,night_stalker给出的代码也执行正常,但rails却无法正常使用,请问有什么办法可以解决

运行环境 Ruby 1.9.1 + Rails 2.3.2

[img]/upload/attachment/116189/f9745f25-d2fd-3b98-9fdd-d6fd955c51de.gif[/img]

[b]问题补充:[/b]
多谢night_stalker,问题算是解决了吧

解决办法:

http://rubyinstaller.org/downloads/中的ruby 1.9.1p129里面的openssl.so替换自己编译的openssl.so,rails启动正常

openssl 0.9.7、0.9.8版本编译时,需要使用参数[color=red]MK1MF_BUILD[/color],编译命令行为[color=red]perl Configure -DMK1MF_BUILD mingw[/color],1.0.0版本,编译时不需要使用参数

经测试,使用0.9.7、0.9.8、1.0.0版本编译后,运行rails都会产生内存分配访问无效的问题

  • 写回答

5条回答 默认 最新

  • xenocide 2009-06-17 22:35
    关注

    -_- 无法再现……

    内存分配访问无效的原因很多很复杂 ……
    可能是加载错了某个 dll,也有可能是因为 vcrt 的版本不匹配,也有可能是因为在 64 位系统下跑 32 位程序 ……

    最省事是下载 Luis Lavena 编好的二进制版本:[url]http://rubyinstaller.org/downloads/[/url]
    另外还附送一个 mingw 的 devkit,不过这个 mingw 版本没 gcc 4.3.2 这么潮。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流