linux – 在被监禁的环境中运行Haskell程序需要什么

linux – 在被监禁的环境中运行Haskell程序需要什么,第1张

概述我想从我自己构建的监禁环境运行一个简单的 Haskell程序.我想运行以下Haskell程序: import System.IOmain = do hPutStrLn stderr "test standard error!" hPutStrLn stdout "test standard out!" 它只是输出一个字符串到stderr和stdout,在监狱外工作得很好.代码 我想从我自己构建的监禁环境中运行一个简单的 Haskell程序.我想运行以下Haskell程序:

import System.IOmain = do    hPutStrLn stderr "test standard error!"    hPutStrLn stdout "test standard out!"

它只是输出一个字符串到stderr和stdout,在监狱外工作得很好.代码编译如下:

ghc -O2 --make -static -optc-static -optl-static $MAINHS -optl-pthread -o bin/run_ai

我得到一个运行该程序的run_ai可执行文件,正如我所说,这在jail之外工作正常.下面是放在被监禁的环境中的东西,我认为这里缺少一些东西,因为当我在监狱中运行程序时它什么也没做,它甚至都没有退出,也没有给出任何错误/输出转储.

mkdir -p lib64 lib bincp /bin/sh bin/# BinarIEscp /lib64/ld-linux-x86-64.so.2 lib64/cp /lib/x86_64-linux-gnu/libpthread.so.0 lib/cp /lib/x86_64-linux-gnu/libc.so.6 lib/cp /lib/x86_64-linux-gnu/libdl.so.2 lib/cp /lib/x86_64-linux-gnu/librt.so.1 lib/cp /lib/x86_64-linux-gnu/libm.so.6 lib/cp /lib/x86_64-linux-gnu/libtinfo.so.5 lib/cp /lib/x86_64-linux-gnu/libutil.so.1 lib/cp /usr/lib/x86_64-linux-gnu/libffi.so.6 lib/cp /usr/lib/x86_64-linux-gnu/libgmp.so.10 lib/cp /usr/lib/libgmp.so.3 lib/

我知道监狱本身很有用,因为我已经成功地将它用于其他十几种编程语言,但是Haskell让我很头疼,因为我对可能出现的问题一无所知.可悲的是,我不是Haskell的专家,但我只需要编译,然后在jail中运行.我错过了运行可执行Haskell文件实际需要的东西吗?

所以我的问题是:我错过了什么/做错了什么?

解决方法 在监狱外面跑

strace -e打开你的程序

这将打印程序打开的所有文件的名称.

总结

以上是内存溢出为你收集整理的linux – 在被监禁的环境中运行Haskell程序需要什么全部内容,希望文章能够帮你解决linux – 在被监禁的环境中运行Haskell程序需要什么所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1017947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存