可以使用glibc 2.17?

问题描述 投票:0回答:1
我想使用信号将状态消息从我的NAS发送到我的电话。

维护良好的溶液,信号-CLI,至少需要Java 21。 我的NAS是ARMV7(ARM Cortex-A15)。我能找到的唯一的预先构建的

armv7兼容的二进制文件对GLIBC的依赖性比我安装的更高(glibc_2.18)(2.17)。 我过去几天的大部分时间都尝试使用

linarotool-chain

.

我似乎遇到的问题是OpenJDK需要大于6.0的GCC版本,该版本以lib>2.17.的形式建立。

是否有跨编译工具可以帮助我解决这个问题? IE。 gcc> = 6.0,libc2.17.

我也向解决我用例的任何其他解决方案开放。 chatgpt在我使用它来诊断编译器错误时向我介绍了替代解决方案:交叉编译并安装

Glibc2.18

这是一个相对直截了当的操作(请参见下面的注释)。

结果是我现在可以从Bellsoft安装

PRE构建的JDK安装

,它运行良好。

要清楚,我在其自己的位置并行安装了glibc 2.18,然后手动指定了通往Java环境的库路径。
java arm cross-compiling
1个回答
0
投票

signal/glibc-2.18/lib/ld-2.18.so --library-path signal/sysroot_built/lib:signal/glibc-2.18/lib signal/jdk-21.0.6/bin/java Test

可以在启动器脚本中使用合适的

LD_LIBRARY_PATH

简化这一点: #!/bin/bash # Launch local Java application using the local glibc 2.18 dynamic loader. PATH=signal/jdk-21.0.6/bin:$PATH LD_LIBRARY_PATH=LD_LIBRARY_PATH="signal/sysroot_built/lib:signal/glibc-2.18/lib" signal/glibc-2.18/lib/ld-2.18.so java JavaMain

注:

我确实必须进行3个更改才能使图书馆使用

GCC-Linaro-7.5.0

我必须补丁

../configure

接受我的较新版本
make

../configure,在第4775行附近,将3.79* | 3.[89]*更改为3.79* | 3.[89]* | 4.*

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.