Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在cygwin之外使用自定义glibc for suse enterprise linux编译php cgi二进制文件?_Linux_Compilation_Glibc - Fatal编程技术网

如何在cygwin之外使用自定义glibc for suse enterprise linux编译php cgi二进制文件?

如何在cygwin之外使用自定义glibc for suse enterprise linux编译php cgi二进制文件?,linux,compilation,glibc,Linux,Compilation,Glibc,我想这是直截了当的。这可以吗 背景:我这样做是因为我需要在suse enterprise 9上运行php cgi,并且无法获得除系统版本glibc之外的LD_PRELOAD或LD_LIBRARY_PATH php-cgi: /lib/tls/libc.so.6: version `GLIBC_2.7' not found 我从这里下载了2.7 ) 更准确地说 并使用rpm2cpio将其解包 我需要php cgi,因为我无法安装php,我想尝试使用JavaBridge在tomcat中运行php

我想这是直截了当的。这可以吗

背景:我这样做是因为我需要在suse enterprise 9上运行php cgi,并且无法获得除系统版本glibc之外的LD_PRELOAD或LD_LIBRARY_PATH

php-cgi: /lib/tls/libc.so.6: version `GLIBC_2.7' not found
我从这里下载了2.7

)

更准确地说

并使用rpm2cpio将其解包

我需要php cgi,因为我无法安装php,我想尝试使用JavaBridge在tomcat中运行php

如何在cygwin之外使用自定义glibc for suse enterprise linux编译php cgi二进制文件

我想这是直截了当的

不,这是一个非常困惑和迂回的问题

首先,cygwin与您的问题完全无关:它是用于在Windows上运行UNIX程序的,而这根本不是您要问的

其次,您的问题似乎是:“如何在一个系统上运行预构建的PHPCGI二进制文件,该系统的glibc比构建PHPCGI的系统要旧?”,而不是编译任何东西

对于这个问题,答案是:你不能(轻松地)——UNIX系统不支持前向二进制兼容性(在新系统上构建,在旧系统上运行)。只支持向后兼容(旧的动态链接二进制文件继续在较新的系统上运行)

最好的方法是尝试在系统上构建php cgi(这将消除它对
GLIBC_2.7
的依赖性。如果不能,您应该仍然能够对未打包的GLIBC-2.7构建运行这样一个二进制文件,如果该二进制文件本身不重新执行的话。假设您将GLIBC-2.7解包到例如
/tmp/GLIBC-2.7
中,那么这样做的方式类似于:

/tmp/glibc-2.7/lib/ld-linux.so.2 --library-path \
    /tmp/glibc-2.7/lib:/lib:/usr/lib \
  /path/to/php-cgi <args>
/tmp/glibc-2.7/lib/ld linux.so.2——库路径\
/tmp/glibc-2.7/lib:/lib:/usr/lib\
/path/to/php-cgi
(上面的库路径可能需要一些调整,以使加载程序找到所有需要的库。)

更新:

在cygwin中为我的linux机器编译东西实用吗

这是可能的,但比简单地在linux机器上编译要痛苦得多(因此并不实际)。除了错误地相信cygwin解决了所有问题之外,您似乎没有任何理由想要这样做

如何在cygwin之外使用自定义glibc for suse enterprise linux编译php cgi二进制文件

我想这是直截了当的

不,这是一个非常困惑和迂回的问题

首先,cygwin与您的问题完全无关:它是用于在Windows上运行UNIX程序的,而这根本不是您要问的

其次,您的问题似乎是:“如何在一个系统上运行预构建的PHPCGI二进制文件,该系统的glibc比构建PHPCGI的系统要旧?”,而不是编译任何东西

对于这个问题,答案是:你不能(轻松地)——UNIX系统不支持前向二进制兼容性(构建在新系统上,在旧系统上运行)。只支持后向兼容性(旧的动态链接二进制文件继续在新系统上运行)

最好的方法是尝试在系统上构建php cgi(这将消除它对
GLIBC_2.7
的依赖性。如果不能,您应该仍然能够对未打包的GLIBC-2.7构建运行这样一个二进制文件,如果该二进制文件本身不重新执行的话。假设您将GLIBC-2.7解包到例如
/tmp/GLIBC-2.7
中,那么这样做的方式类似于:

/tmp/glibc-2.7/lib/ld-linux.so.2 --library-path \
    /tmp/glibc-2.7/lib:/lib:/usr/lib \
  /path/to/php-cgi <args>
/tmp/glibc-2.7/lib/ld linux.so.2——库路径\
/tmp/glibc-2.7/lib:/lib:/usr/lib\
/path/to/php-cgi
(上面的库路径可能需要一些调整,以使加载程序找到所有需要的库。)

更新:

在cygwin中为我的linux机器编译东西实用吗


这是可能的,但比在linux机器上编译要痛苦得多(因此并不实用).除了错误地相信cygwin能解决所有问题之外,你似乎没有任何理由想这么做。

帮不了你,但我必须说,这和在早上你的车发动不起来的时候试图从当地的陆军基地偷辆坦克一样有道理。等等,cygwin从何而来?我很困惑。cygwin是我的朋友生锈的瑞士军刀。我在Windows XP上开发,并使用Cygwin处理所有与nix相关的事情。我没有Linux服务器的root访问权限。泰勒-汽车无法启动,因为引擎不见了。我有两个选择-建造我自己的引擎或偷一辆坦克。我帮不了你,但我必须说这和偷坦克一样有意义当你的车早上无法启动时,从当地陆军基地出发。等等,cygwin在哪里出现?我很困惑。cygwin是我值得信赖的瑞士陆军袖珍刀。我在Windows XP上开发并使用cygwin处理所有与nix相关的事情。我没有Linux服务器的root访问权限。泰勒-车无法启动,因为引擎不见了。我有e 2选择-建造我自己的引擎或偷一辆坦克。这更像是,在cygwin中为我的linux机器编译东西实用吗?然后我给出了背景信息,以防有人向我提出建议。我将尝试按照你的方式加载自定义glibc。更像是,在cygwin中为我的linux机器编译东西实用吗n我提供了背景信息,以防有人对我提出建议。我将尝试按您的方式加载自定义glibc。