无法在 Ubuntu 20.04 上编译 PuTTY 0.76
unable to compile PuTTY 0.76 on Ubuntu 20.04
我正在尝试使用 https://7thzero.com/blog/how-to-compile-build-putty-ubuntu-16 中的说明在 Ubuntu 20.04 上编译 PuTTY 0.76,但遇到了一些困难。
我的步骤:
- wget https://the.earth.li/~sgtatham/putty/latest/putty-0.76.tar.gz
- tar-xvf putty-0.76.tar.gz
- cd putty-0.76
- ./mkauto.sh
- cd unix
- ./配置
- make -f Makefile.ux LDFLAGS="-Wl,--no-as-needed,-ldl"
最后一个命令失败并出现此错误:
cc -O2 -Wall -std=gnu99 -Wvla -g -I.././ -I../charset/ -I../windows/ -I../unix/ -D _FILE_OFFSET_BITS=64 -c ../sshpubk.c
cc -o cgtest cgtest.o conf.o console.o ecc.o import.o marshal.o \
memory.o millerrabin.o misc.o mpint.o mpunsafe.o notiming.o \
pockle.o primecandidate.o smallprimes.o sshaes.o sshargon2.o \
sshauxcrypt.o sshbcrypt.o sshblake2.o sshblowf.o sshdes.o \
sshdss.o sshdssg.o sshecc.o sshecdsag.o sshhmac.o sshmd5.o \
sshprime.o sshprng.o sshpubk.o sshrand.o sshrsa.o sshrsag.o \
sshsh256.o sshsh512.o sshsha.o sshsha3.o stripctrl.o time.o \
tree234.o utils.o uxcons.o uxgen.o uxmisc.o uxnogtk.o \
uxnoise.o uxpoll.o uxstore.o uxutils.o version.o wcwidth.o \
-Wl,--no-as-needed,-ldl
/usr/bin/ld: sshprime.o: in function `provableprime_add_progress_phase':
/home/wiggie/putty/putty-0.76/unix/../sshprime.c:255: undefined reference to `pow'
/usr/bin/ld: sshprime.o: in function `estimate_modexp_cost':
/home/wiggie/putty/putty-0.76/unix/../sshprime.c:761: undefined reference to `pow'
/usr/bin/ld: sshprime.o: in function `provableprime_generate_inner':
/home/wiggie/putty/putty-0.76/unix/../sshprime.c:485: undefined reference to `pow'
/usr/bin/ld: sshprime.o: in function `estimate_modexp_cost':
/home/wiggie/putty/putty-0.76/unix/../sshprime.c:761: undefined reference to `pow'
collect2: error: ld returned 1 exit status
make: *** [Makefile.ux:127: cgtest] Error 1
有什么想法吗?
(我知道我可能只使用 apt-get 安装它,但我想对其进行一些更改,而 apt-get 不会帮助我这样做)
pow()
是数学库 libm 中的一个函数。您的 LDFLAGS 需要包含“-lm”。参见 https://man7.org/linux/man-pages/man3/pow.3.html
我正在尝试使用 https://7thzero.com/blog/how-to-compile-build-putty-ubuntu-16 中的说明在 Ubuntu 20.04 上编译 PuTTY 0.76,但遇到了一些困难。
我的步骤:
- wget https://the.earth.li/~sgtatham/putty/latest/putty-0.76.tar.gz
- tar-xvf putty-0.76.tar.gz
- cd putty-0.76
- ./mkauto.sh
- cd unix
- ./配置
- make -f Makefile.ux LDFLAGS="-Wl,--no-as-needed,-ldl"
最后一个命令失败并出现此错误:
cc -O2 -Wall -std=gnu99 -Wvla -g -I.././ -I../charset/ -I../windows/ -I../unix/ -D _FILE_OFFSET_BITS=64 -c ../sshpubk.c
cc -o cgtest cgtest.o conf.o console.o ecc.o import.o marshal.o \
memory.o millerrabin.o misc.o mpint.o mpunsafe.o notiming.o \
pockle.o primecandidate.o smallprimes.o sshaes.o sshargon2.o \
sshauxcrypt.o sshbcrypt.o sshblake2.o sshblowf.o sshdes.o \
sshdss.o sshdssg.o sshecc.o sshecdsag.o sshhmac.o sshmd5.o \
sshprime.o sshprng.o sshpubk.o sshrand.o sshrsa.o sshrsag.o \
sshsh256.o sshsh512.o sshsha.o sshsha3.o stripctrl.o time.o \
tree234.o utils.o uxcons.o uxgen.o uxmisc.o uxnogtk.o \
uxnoise.o uxpoll.o uxstore.o uxutils.o version.o wcwidth.o \
-Wl,--no-as-needed,-ldl
/usr/bin/ld: sshprime.o: in function `provableprime_add_progress_phase':
/home/wiggie/putty/putty-0.76/unix/../sshprime.c:255: undefined reference to `pow'
/usr/bin/ld: sshprime.o: in function `estimate_modexp_cost':
/home/wiggie/putty/putty-0.76/unix/../sshprime.c:761: undefined reference to `pow'
/usr/bin/ld: sshprime.o: in function `provableprime_generate_inner':
/home/wiggie/putty/putty-0.76/unix/../sshprime.c:485: undefined reference to `pow'
/usr/bin/ld: sshprime.o: in function `estimate_modexp_cost':
/home/wiggie/putty/putty-0.76/unix/../sshprime.c:761: undefined reference to `pow'
collect2: error: ld returned 1 exit status
make: *** [Makefile.ux:127: cgtest] Error 1
有什么想法吗?
(我知道我可能只使用 apt-get 安装它,但我想对其进行一些更改,而 apt-get 不会帮助我这样做)
pow()
是数学库 libm 中的一个函数。您的 LDFLAGS 需要包含“-lm”。参见 https://man7.org/linux/man-pages/man3/pow.3.html