使用 LDFLAGS="-static" 构建屏幕
build Screen with LDFLAGS="-static"
我想构建 screen 静态的,这样我就可以在嵌入式设备上将其用作独立的二进制文件。
screen-4.2.1# ./configure LDFLAGS="-static" && make
我收到这个警告:
/screen.c:933: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
其原因已在 here 上得到解答。
因此,如果我理解这一点,就不可能在静态链接二进制文件中使用 "getpwnam" 和 glibc 之外的一些其他函数。
所以我的问题是。有什么方法可以构建静态屏幕(因为我真的不敢相信没有),如果没有,是否有一个很好的替代品可以构建静态?
Is there any way to build screen static
当然:忽略警告,瞧,你有一个完全静态的 screen
。
现在,当移动到具有不同版本 GLIBC
的系统时,该全静态屏幕将无法工作,因此对于该目的毫无用处。
一般来说,与流行的看法相反,在 UNIX 系统上,完全静态的二进制文件 比动态二进制文件的可移植性差。您构建这种完全静态二进制文件的愿望很可能被误导了。
if not is there a good replacement which can be build static?
您可以尝试使用备用 libc
实现,例如 uClibc
或 dietlibc
,它们可能不会对完全静态二进制文件施加此类限制。
我想构建 screen 静态的,这样我就可以在嵌入式设备上将其用作独立的二进制文件。
screen-4.2.1# ./configure LDFLAGS="-static" && make
我收到这个警告:
/screen.c:933: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
其原因已在 here 上得到解答。 因此,如果我理解这一点,就不可能在静态链接二进制文件中使用 "getpwnam" 和 glibc 之外的一些其他函数。
所以我的问题是。有什么方法可以构建静态屏幕(因为我真的不敢相信没有),如果没有,是否有一个很好的替代品可以构建静态?
Is there any way to build screen static
当然:忽略警告,瞧,你有一个完全静态的 screen
。
现在,当移动到具有不同版本 GLIBC
的系统时,该全静态屏幕将无法工作,因此对于该目的毫无用处。
一般来说,与流行的看法相反,在 UNIX 系统上,完全静态的二进制文件 比动态二进制文件的可移植性差。您构建这种完全静态二进制文件的愿望很可能被误导了。
if not is there a good replacement which can be build static?
您可以尝试使用备用 libc
实现,例如 uClibc
或 dietlibc
,它们可能不会对完全静态二进制文件施加此类限制。