在 Ubuntu 16.04 上安装 tn5250

在 Ubuntu 16.04 上安装 tn5250

我要为这篇博文的篇幅道歉。我会尽可能具体,尽可能详细地描述。我尽量远离 Windows,只使用 Linux。我在一台闲置了很长时间的笔记本电脑上安装了 Ubuntu 16.04。这台笔记本电脑的系统规格如下:

内存 - 3.8 GiB
处理器 - Intel Core 2 Duo CPU P8600 @ 2.40GHz x 2
显卡 - Mobile Intel GM45 Express 芯片组
操作系统类型 - x64
磁盘 - 153.2 GB

我正在尝试在 Ubuntu 16.04 上安装 tn5250。我从某人在此处指向的链接获取了该软件包。tn5250 是我可以通过 VPN 用于工作的唯一程序。我弄清楚了如何使用 openconnect 连接到 VPN。当我尝试安装 tn5250 时,它./configure --prefix=/opt --with-ssl运行起来非常顺利。make另一方面,该命令遇到了错误。我尝试只使用 Linux。我拒绝在我的任何计算机上安装 Windows 操作系统,如果我不必将其安装在 \VirtualBox 等虚拟机上,我会喜欢它。有没有人可以帮助我解决这个问题?

我使用终端中的脚本命令发布了命令的终端输出make,然后从 vim 复制并粘贴到这里。以下是安装 tn5250 的终端输出。 ./configure --prefix=/op --with-ss运行没有任何错误。我在make命令上遇到了问题。

dustin@dustin-laptop:~/下载/工作/tn5250-0.17.4/tn5250-0.17.4$ 制作  
使全部递归  
make[1]: 进入目录 '/home/dustin/Downloads/Work/tn5250-0.17.4/tn5250-0.17.4'  
在 lib5250 中制作一切  
make[2]: 进入目录 '/home/dustin/Downloads/Work/tn5250-0.17.4/tn5250-0.17.4/lib5250'  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT buffer.lo -MD -MP -MF ".deps/buffer.Tpo" -c -o buffer.lo buffer.c; \
然后 mv -f ".deps/buffer.Tpo" ".deps/buffer.Plo"; 否则 rm -f ".deps/buffer.Tpo"; 退出 1; fi  
创建目录 .libs  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT buffer.lo -MD -MP -MF .deps/buffer.Tpo -c buffer.c -fPIC -DPIC -o .libs/buffer.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT buffer.lo -MD -MP -MF .deps/buffer.Tpo -c buffer.c -o buffer.o >/dev/null 2>&1  
如果/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT conf.lo -MD -MP -MF ".deps/conf.Tpo" -c -o conf.lo conf.c; \  
然后 mv -f ".deps/conf.Tpo" ".deps/conf.Plo"; 否则 rm -f ".deps/conf.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT conf.lo -MD -MP -MF .deps/conf.Tpo -c conf.c -fPIC -DPIC -o .libs/conf.o conf.c: 在函数‘tn5250_config_load’中:  
conf.c:258:5: **警告:**忽略 **'fgets'** 的返回值,用属性 warn_unused_result [-Wunused-result] 声明  
     fgets (buf,sizeof (buf) - 1,f);  
     ^  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT conf.lo -MD -MP -MF .deps/conf.Tpo -c conf.c -o conf.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT dbuffer.lo -MD -MP -MF ".deps/dbuffer.Tpo" -c -o dbuffer.lo dbuffer.c; \  
然后 mv -f ".deps/dbuffer.Tpo" ".deps/dbuffer.Plo"; 否则 rm -f ".deps/dbuffer.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT dbuffer.lo -MD -MP -MF .deps/dbuffer.Tpo -c dbuffer.c -fPIC -DPIC -o .libs/dbuffer.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT dbuffer.lo -MD -MP -MF .deps/dbuffer.Tpo -c dbuffer.c -o dbuffer.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT debug.lo -MD -MP -MF ".deps/debug.Tpo" -c -o debug.lo debug.c; \  
然后 mv -f ".deps/debug.Tpo" ".deps/debug.Plo"; 否则 rm -f ".deps/debug.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT debug.lo -MD -MP -MF .deps/debug.Tpo -c debug.c -fPIC -DPIC -o .libs/debug.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT debug.lo -MD -MP -MF .deps/debug.Tpo -c debug.c -o debug.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT display.lo -MD -MP -MF ".deps/display.Tpo" -c -o display.lo display.c; \  
然后 mv -f ".deps/display.Tpo" ".deps/display.Plo"; 否则 rm -f ".deps/display.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT display.lo -MD -MP -MF .deps/display.Tpo -c display.c -fPIC -DPIC -o .libs/display.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT display.lo -MD -MP -MF .deps/display.Tpo -c display.c -o display.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT field.lo -MD -MP -MF ".deps/field.Tpo" -c -o field.lo field.c; \  
然后 mv -f ".deps/field.Tpo" ".deps/field.Plo"; 否则 rm -f ".deps/field.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT field.lo -MD -MP -MF .deps/field.Tpo -c field.c -fPIC -DPIC -o .libs/field.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT field.lo -MD -MP -MF .deps/field.Tpo -c field.c -o field.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT macro.lo -MD -MP -MF ".deps/macro.Tpo" -c -o macro.lo macro.c; \  
然后 mv -f ".deps/macro.Tpo" ".deps/macro.Plo"; 否则 rm -f ".deps/macro.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT macro.lo -MD -MP -MF .deps/macro.Tpo -c macro.c -fPIC -DPIC -o .libs/macro.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT macro.lo -MD -MP -MF .deps/macro.Tpo -c macro.c -o macro.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT menu.lo -MD -MP -MF ".deps/menu.Tpo" -c -o menu.lo menu.c; \  
然后 mv -f ".deps/menu.Tpo" ".deps/menu.Plo";否则 rm -f ".deps/menu.Tpo"; 1号出口;菲  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT menu.lo -MD -MP -MF .deps/menu.Tpo -c menu.c -fPIC -DPIC -o .libs/menu.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT menu.lo -MD -MP -MF .deps/menu.Tpo -c menu.c -o menu.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT printsession.lo -MD -MP -MF ".deps/printsession.Tpo" -c -o printsession.lo printsession.c; \  
然后 mv -f ".deps/printsession.Tpo" ".deps/printsession.Plo";否则 rm -f ".deps/printsession.Tpo"; 1号出口;菲  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT printsession.lo -MD -MP -MF .deps/printsession.Tpo -c printsession.c -fPIC -DPIC -o .libs/printsession.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT printsession.lo -MD -MP -MF .deps/printsession.Tpo -c printsession.c -o printsession.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT record.lo -MD -MP -MF ".deps/record.Tpo" -c -o record.lo record.c; \  
然后 mv -f ".deps/record.Tpo" ".deps/record.Plo"; 否则 rm -f ".deps/record.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT record.lo -MD -MP -MF .deps/record.Tpo -c record.c -fPIC -DPIC -o .libs/record.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT record.lo -MD -MP -MF .deps/record.Tpo -c record.c -o record.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT scrollbar.lo -MD -MP -MF ".deps/scrollbar.Tpo" -c -o scrollbar.lo scrollbar.c; \  
然后 mv -f ".deps/scrollbar.Tpo" ".deps/scrollbar.Plo"; 否则 rm -f ".deps/scrollbar.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT scrollbar.lo -MD -MP -MF .deps/scrollbar.Tpo -c scrollbar.c -fPIC -DPIC -o .libs/scrollbar.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT scrollbar.lo -MD -MP -MF .deps/scrollbar.Tpo -c scrollbar.c -o scrollbar.o >/dev/null 2>&1  
如果/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT scs.lo -MD -MP -MF ".deps/scs.Tpo" -c -o scs.lo scs.c; \  
然后 mv -f ".deps/scs.Tpo" ".deps/scs.Plo"; 否则 rm -f ".deps/scs.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT scs.lo -MD -MP -MF .deps/scs.Tpo -c scs.c -fPIC -DPIC -o .libs/scs.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT scs.lo -MD -MP -MF .deps/scs.Tpo -c scs.c -o scs.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT session.lo -MD -MP -MF ".deps/session.Tpo" -c -o session.lo session.c; \  
然后 mv -f ".deps/session.Tpo" ".deps/session.Plo"; 否则 rm -f ".deps/session.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT session.lo -MD -MP -MF .deps/session.Tpo -c session.c -fPIC -DPIC -o .libs/session.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT session.lo -MD -MP -MF .deps/session.Tpo -c session.c -o session.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT sslstream.lo -MD -MP -MF ".deps/sslstream.Tpo" -c -o sslstream.lo sslstream.c; \  
然后 mv -f ".deps/sslstream.Tpo" ".deps/sslstream.Plo"; 否则 rm -f ".deps/sslstream.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT sslstream.lo -MD -MP -MF .deps/sslstream.Tpo -c sslstream.c -fPIC -DPIC -o .libs/sslstream.o  
sslstream.c:在函数**'ssl_getTelOpt'**中:  
sslstream.c:179:14:**警告:**“what”的类型默认为“int”[-Wimplicit-int] static char
*ssl_getTelOpt(什么)  
 ^  
sslstream.c:在函数**'ssl_log_SB_buf'**中:  
sslstream.c:310:4:**警告:**格式不是字符串文字且没有格式参数 [-Wformat-security]  
    fprintf(tn5250_logfile,ssl_getTelOpt(type=*buf++));  
    ^  
sslstream.c:在函数**'tn5250_ssl_stream_init'**中:  
sslstream.c:372:16:**警告:**函数“SSLv2_client_method”的隐式声明 [-Wimplicit-function-declaration]  
         方法 = SSLv2_client_method();               
                ^  
sslstream.c:372:14:**警告:**赋值从整数产生指针,无需强制类型转换 [-Wint-conversion]  
         方法 = SSLv2_client_method();           
              ^  
sslstream.c:375:14:**警告:**赋值丢弃指针目标类型的**'const'**限定符 [-Wdiscarded-qualifiers]  
         方法 = SSLv3_client_method();           
              ^  
sslstream.c:378:14:**警告:**赋值丢弃指针目标类型的**'const'**限定符 [-Wdiscarded-qualifiers]  
         方法 = SSLv23_client_method();           
              ^  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT sslstream.lo -MD -MP -MF .deps/sslstream.Tpo -c sslstream.c -o sslstream.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT stream.lo -MD -MP -MF ".deps/stream.Tpo" -c -o stream.lo stream.c; \  
然后 mv -f ".deps/stream.Tpo" ".deps/stream.Plo"; 否则 rm -f ".deps/stream.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT stream.lo -MD -MP -MF .deps/stream.Tpo -c stream.c -fPIC -DPIC -o .libs/stream.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT stream.lo -MD -MP -MF .deps/stream.Tpo -c stream.c -o stream.o >/dev/null 2>&1  
如果/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT telnetstr.lo -MD -MP -MF ".deps/telnetstr.Tpo" -c -o telnetstr.lo telnetstr.c; \  
然后 mv -f ".deps/telnetstr.Tpo" ".deps/telnetstr.Plo";否则 rm -f ".deps/telnetstr.Tpo"; 1号出口;菲  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT telnetstr.lo -MD -MP -MF .deps/telnetstr.Tpo -c telnetstr.c -fPIC -DPIC -o .libs/telnetstr.o  
telnetstr.c:在函数**‘getTelOpt’中:  
telnetstr.c:161:14:**警告:**“what”的类型默认为“int”[-Wimplicit-int]  
 静态字符*getTelOpt(什么)  
              ^  
telnetstr.c:在函数**‘log_SB_buf’**中:  
telnetstr.c:285:4:**警告:**格式不是字符串文字且没有格式参数 [-Wformat-security]  
    fprintf(tn5250_logfile,getTelOpt(type=*buf++));  
    ^  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT telnetstr.lo -MD -MP -MF .deps/telnetstr.Tpo -c telnetstr.c -o telnetstr.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT terminal.lo -MD -MP -MF ".deps/terminal.Tpo" -c -o terminal.lo terminal.c; \  
然后 mv -f ".deps/terminal.Tpo" ".deps/terminal.Plo"; 否则 rm -f ".deps/terminal.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT terminal.lo -MD -MP -MF .deps/terminal.Tpo -c terminal.c -fPIC -DPIC -o .libs/terminal.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT terminal.lo -MD -MP -MF .deps/terminal.Tpo -c terminal.c -o terminal.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT utility.lo -MD -MP -MF ".deps/utility.Tpo" -c -o utility.lo utility.c; \  
然后 mv -f ".deps/utility.Tpo" ".deps/utility.Plo"; 否则 rm -f ".deps/utility.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT utility.lo -MD -MP -MF .deps/utility.Tpo -c utility.c -fPIC -DPIC -o .libs/utility.o  
utility.c: 在函数**'tn5250_daemon'**中:  
utility.c:114:5: **警告:**函数“umask”的隐式声明 [-Wimplicit-function-declaration]  
     umask(0);  
     ^  
utility.c: 在函数**'tn5250_log_open'**中:  
utility.c:391:4: **警告:**函数 **'fchmod'** 的隐式声明 [-Wimplicit-function-declaration]  
    fchmod(fileno(tn5250_logfile),0600);  
    ^  
utility.c: 在函数**'tn5250_daemon'**中:  
utility.c:105:7: **警告:**忽略 **'chdir'** 的返回值,用属性 warn_unused_result [-Wunused-result] 声明  
       chdir(“/”);  
       ^  
utility.c:111:9: **警告:**忽略 **'dup'** 的返回值,用属性 warn_unused_result [-Wunused-result] 声明  
         重复(0); 重复(0);  
         ^  
utility.c:111:17:**警告:**忽略“dup”的返回值,用属性 warn_unused_result [-Wunused-result] 声明  
         重复(0); 重复(0);  
                 ^  
utility.c: 在函数**'tn5250_run_cmd'**中:  
utility.c:607:12:**警告:**忽略“system”的返回值,用属性 warn_unused_result [-Wunused-result] 声明  
            系统(cmd);  
            ^  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT utility.lo -MD -MP -MF .deps/utility.Tpo -c utility.c -o utility.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT version.lo -MD -MP -MF ".deps/version.Tpo" -c -o version.lo version.c; \  
然后 mv -f ".deps/version.Tpo" ".deps/version.Plo"; 否则 rm -f ".deps/version.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT 版本.lo -MD -MP -MF .deps/版本.Tpo -c 版本.c -fPIC -DPIC -o .libs/版本.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT 版本.lo -MD -MP -MF .deps/版本.Tpo -c 版本.c -o 版本.o >/dev/null 2>&1  
如果 /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT window.lo -MD -MP -MF ".deps/window.Tpo" -c -o window.lo window.c; \  
然后 mv -f ".deps/window.Tpo" ".deps/window.Plo"; 否则 rm -f ".deps/window.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT window.lo -MD -MP -MF .deps/window.Tpo -c window.c -fPIC -DPIC -o .libs/window.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT window.lo -MD -MP -MF .deps/window.Tpo -c window.c -o window.o >/dev/null 2>&1  
如果/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT wtd.lo -MD -MP -MF ".deps/wtd.Tpo" -c -o wtd.lo wtd.c; \  
然后 mv -f ".deps/wtd.Tpo" ".deps/wtd.Plo"; 否则 rm -f ".deps/wtd.Tpo"; 退出 1; fi  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT wtd.lo -MD -MP -MF .deps/wtd.Tpo -c wtd.c -fPIC -DPIC -o .libs/wtd.o  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I/usr/include -g -O2 -MT wtd.lo -MD -MP -MF .deps/wtd.Tpo -c wtd.c -o wtd.o >/dev/null 2>&1  
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -o lib5250.la -rpath /opt/lib buffer.lo conf.lo dbuffer.lo debug.lo display.lo field.lo macro.lo menu.lo printsession.lo record.lo scrollbar.lo scs.lo session.lo sslstream.lo stream.lo telnetstr.lo terminal.lo utility.lo version.lo window.lo wtd.lo -lssl -lcrypto   
gcc -shared .libs/buffer.o .libs/conf.o .libs/dbuffer.o .libs/debug.o .libs/display.o .libs/field.o .libs/macro.o .libs/menu.o .libs/printsession.o .libs/record.o .libs/scrollbar.o .libs/scs.o .libs/session.o .libs/sslstream.o .libs/stream.o .libs/telnetstr.o .libs/terminal.o .libs/utility.o .libs/version.o .libs/window.o .libs/wtd.o -lssl -lcrypto -Wl,-soname -Wl,lib5250.so.0 -o .libs/lib5250.so.0.0.0  
(cd .libs && rm -f lib5250.so.0 && ln -s lib5250.so.0.0.0 lib5250.so.0)  
(cd .libs && rm -f lib5250.so && ln -s lib5250.so.0.0.0 lib5250.so)  
我们找到 .libs/lib5250.a buffer.o conf.o dbuffer.o debug.o display.o field.o macro.o menu.o printsession.o record.o scrollbar.o scs.o session.o sslstream.o stream.o telnetstr.o terminal.o utility.o version.o window.o wtd.o  
ar: 由于 `D' 是默认值,因此 `u' 修饰符被忽略(参见 `U')  
ranlib .libs/lib5250.a  
创建 lib5250.la  
(cd .libs && rm -f lib5250.la && ln -s ../lib5250.la lib5250.la)  
make[2]: 离开目录 '/home/dustin/Downloads/Work/tn5250-0.17.4/tn5250-0.17.4/lib5250'  
全部在 lp5250d 中制作  
make[2]: 进入目录 '/home/dustin/Downloads/Work/tn5250-0.17.4/tn5250-0.17.4/lp5250d'  
如果 gcc -DHAVE_CONFIG_H -I. -I. -I.. -DSYSCONFDIR=\"/opt/etc\" -I../lib5250 -I/usr/include -g -O2 -MT scs2ascii.o -MD -MP -MF ".deps/scs2ascii.Tpo" -c -o scs2ascii.o scs2ascii.c; \  
然后 mv -f ".deps/scs2ascii.Tpo" ".deps/scs2ascii.Po"; 否则 rm -f ".deps/scs2ascii.Tpo"; 退出 1; fi  
scs2ascii.c:在函数**‘main’**中:  
scs2ascii.c:70:3: **警告:**函数 **'scs_main'** 的隐式声明 [-Wimplicit-function-declaration]  
   scs_main(scs);  
   ^  
scs2ascii.c:在函数**'scs2ascii_ff'**中:  
scs2ascii.c:142:3:**警告:**函数“scs_ff”的隐式声明 [-Wimplicit-function-declaration]  
   scs_ff (这);  
   ^  
scs2ascii.c:在函数**'scs2ascii_nl'**中:  
scs2ascii.c:156:3:**警告:**函数“scs_nl”的隐式声明 [-Wimplicit-function-declaration]  
   scs_nl (这);  
   ^  
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -o scs2ascii scs2ascii.o ../lib5250/lib5250.la -lssl -lcrypto
创建目录 .libs  
gcc -g -O2 -o .libs/scs2ascii scs2ascii.o ../lib5250/.libs/lib5250.so -lssl -lcrypto -Wl,--rpath -Wl,/opt/lib  
../lib5250/.libs/lib5250.so: 对“SSLv2_client_method”未定义引用
collect2:错误:ld 返回 1 退出状态  
Makefile:265:目标“scs2ascii”的配方失败  
make[2]: *** [scs2ascii] 错误 1  
make[2]: 离开目录 '/home/dustin/Downloads/Work/tn5250-0.17.4/tn5250-0.17.4/lp5250d'  
Makefile:335:目标“全递归”的配方失败  
make[1]: *** [全递归] 错误 1  
make[1]: 离开目录 '/home/dustin/Downloads/Work/tn5250-0.17.4/tn5250-0.17.4'  
Makefile:226:目标“全部”的配方失败  
make:*** [全部] 错误 2

答案1

在 Ubuntu 上安装 tn5250 的一种方法是使用二进制包,而不是自己编译。tn5250 以前是作为 Debian 和 Ubuntu 的一部分打包的,但已从当前版本中删除。

但是,使用 Debian/Ubuntu,通常可以在当前版本中运行旧版本的软件包。我使用早期版本的 Debian 软件包在当前 Debian (Jessie) 中成功运行了 tn5250。

(请注意,我在此网站上缺乏声誉,导致我无法发布超过两个链接,因此您需要在此重建一些链接。)

去做这个:

  1. 从以下位置下载适用于您的架构的最新 tn5250 软件包http://old-releases.ubuntu.com/ubuntu/pool/universe/t/tn5250/
  2. 使用以下方式安装:dpkg -i tn5250_xxxxxxx.deb。此步骤可能会由于未满足依赖关系而失败。
  3. 对于每个未满足的依赖项,重复此过程。查找以下包http://old-releases.ubuntu.com/ubuntu/pool/,下载满足依赖性条件的最新版本并安装。例如,tn5250 可能需要 libssl0.9.8;您可以从http://old-releases.ubuntu.com/ubuntu/pool/main/o/openssl/
  4. 这是一个迭代过程,你可能必须安装依赖项

一旦完成后,你的系统上应该有一个可用的tn5250安装。

由于依赖性问题,它可能会无法安装在您的系统上,找出答案的一种方法就是尝试一下。

上述过程是 apt 工具的手动版本。如果您不想手动执行此操作,而希望使用 apt 来处理,则需要将旧版本的 Ubuntu 添加到您的 apt 源中:

  1. 找出包含 tn5250 的 Ubuntu 最新版本。您可以通过查看下面的列表来做到这一点http://old-releases.ubuntu.com/ubuntu/dists/例如,natty 的 http://old-releases.ubuntu.com/ubuntu/dists/natty/universe/binary-i386/Packages.gz(2011 年的 Ubuntu)(也可以在 2012 年的 precise 中查找,http://archive.ubuntu.com/ubuntu/dists/precise/)(据我所知,搜索 Ubuntu 版本的在线工具,http://packages.ubuntu.com/将要不是在过时的版本中搜索。如果有人知道有哪个版本可以这样做,那将会很有帮助。)
  2. 将 apt 源添加到该版本的 apt 源中(请参阅其他地方的说明)。
  3. 使用 apt 安装 tn5250(例如apt-get install tn5250)。这将安装 tn5250 及其所有依赖项(如果可能)。

了解这是否适合您将会很有用。

或者,要像您尝试的那样成功编译包,您需要修复“../lib5250/.libs/lib5250.so:对 SSLv2_client_method 的未定义引用”collect2:错误:ld 返回 1 退出状态”错误,但需要修改代码。如果您这样做了,发布更新的 tn5250 源代码会很棒。如果我没记错的话,SSLv2 在现代 Linux 上已经过时了,我怀疑这可能是一项大工程。

相关内容