碰到江涛这个奇葩,劳资真是服了,管理员删帖吧

已邀请:

songshuda

赞同来自:

劳烦“内行”人士,不懂的话,能不能别在我这里装逼好不好?

songshuda

赞同来自:

劳资真是艹了这个奇葩了,上来就说你不懂这个不懂那个,还TM死挑字眼!
怪不得都在说江涛生气起来连自己都打,我真的信了!

jiangtao9999

赞同来自:

转换?
我觉得你连这个词都用错了。你肯定是连程序编译的原理都不清楚吧?
这个说起来就很麻烦了。
既然你都有龙芯的机器了,为什么不在机器上编译非要在你自己的 x86 机器上做?

jiangtao9999

赞同来自:

既然知道编译原理那就好说了。而且你这个 .run 转 rpm ,应该是不存在编译的过程问题。
而且你也没说怎么不能用。我只能继续猜。

你现在遇到的问题,应该是存在纯粹的 rpm 包内部数据处理出现的问题。
我估计大概率,是 rpm 生成的时候,写入了 x86 对应的程序信息,导致 rpm 内部数据出错。
你这个问题我觉得很好解决啊。用 qemu 启动一个 mips64el 的虚拟机,里面去做生成就行了。因为只写 rpm 包,硬件需求不高,虚拟机应该可以很快的完成。

我印象里 rpm 支持关闭这些生成内容,完全手工编写 spec 实现。
不过明显的跑虚拟机完全不需要大量修改 spec 。我记得龙芯放出来过模拟龙芯的虚拟机,你在这东西上还可以直接跑成中标麒麟的系统。之后在里面生成 rpm ,对应的依赖也都会成功的适应为中标系统的依赖。这样的生成效果最好。

或者试试这个: http://mirror.lemote.com:8000/fedora/qemu/
但是不知道他这个 qemu 的 user mode 是不是设置为龙芯架构了。如果没有,可能跑不了针对龙芯优化的系统。但是这东西有点好就是,不需要启动系统,省下了虚拟机的内核启动难题。用 x86 系统可以直接 chroot 到 mips64el 系统上。
如果真的没有设置默认 CPU ,可以试试自己写个 warpper 程序,qemu 的 usermode 支持设置 cpu 型号,但是 cross chroot 不支持加参数,必须写一个可执行程序去调用 qemu 加参数。但是注意这东西可能会有没实现的一些调用,导致程序运行出问题。

jiangtao9999

赞同来自:

其他想回答的人一个参考:
挑衅了半天这人,目前套出来的内容是:安装随机出错。
不是 mips64el 的包不能用,包能用,但是安装出错,而且是随机出错。
但是我现在没有引诱出,他到底是调用原本 run 里面的二进制程序出错,还是 rpm 管理器程序本身出错,还是执行安装脚本的那些操作过程出错。
 
不过他说,生成的 arm 架构正常,所以我怀疑可能用的不是龙芯的编译器,而且是 run 程序,而不是说自己从源代码编译,所以大概率是其他渠道获得的二进制程序,二进制程序可能和龙芯有不兼容。不知道是不是 madd4 的问题。也不知道是不是旧的 gcc 编译出来的有问题的程序。高版本的 gcc 应该没有随机出错了。
随机出错的问题,我只在 2e/2f 时代遇到过。
所以随机出错,也可能是某个固定位置出错,但是运行的程序随机运行而不一定踩到 bug ?
目前不得而知。

jiangtao9999

赞同来自:

你这为什么要改问题呢?
你不是认为你这个问题提的没错吗?
既然没错为什么要改呢?
我帮不上你,别人也能帮你啊。
即便你以后解决了问题,也可以自己回答来告诉大家怎么解决的啊。
龙芯社区需要的是互助帮忙啊。说出自己的经验,对别人也是一种帮助。
哪怕自己的经验是错的,也是帮助别人,让别人别走死路啊!

要回复问题请先登录注册