首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/usr/bin/ld:找不到:没有这样的文件或目录-由makefile错误引起

/usr/bin/ld:找不到:没有这样的文件或目录-由makefile错误引起
EN

Stack Overflow用户
提问于 2020-12-22 14:58:41
回答 1查看 563关注 0票数 0

日安。

我正试图为大学作业编译易受攻击的vsftpd版本。我正在麻烦地将源代码编译到启动的lxc容器上,以承载易受攻击的ftp服务器。当我试图执行make命令时,会发出以下消息:

代码语言:javascript
复制
/usr/bin/ld: cannot find : No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:24: vsftpd] Error 1

尽管我编写了多年的代码,但总的来说,我对C++还是很陌生的,但是我认为这可能与Makefile的第24行有关,下面突出显示了这一点:

代码语言:javascript
复制
# Makefile for systems with GNU tools
CC  =   gcc
INSTALL =   install
IFLAGS  = -idirafter dummyinc
#CFLAGS = -g
CFLAGS  =   -O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion

LIBS    =   `./vsf_findlibs.sh`
LINK    =   -Wl,-s, -lcrypt

OBJS    =   main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \
        tunables.o ftpdataio.o secbuf.o ls.o \
        postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o \
    banner.o filestr.o parseconf.o secutil.o \
    ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o \
    tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o \
    ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o


.c.o:
    $(CC) -c $*.c $(CFLAGS) $(IFLAGS)

vsftpd: $(OBJS) 
    24th line >>>> $(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS) $(LDFLAGS)

install:
    if [ -x /usr/local/sbin ]; then \
        $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
    else \
        $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
    if [ -x /usr/local/man ]; then \
        $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
        $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
    elif [ -x /usr/share/man ]; then \
        $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
        $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
    else \
        $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
        $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
    if [ -x /etc/xinetd.d ]; then \
        $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

clean:
    rm -f *.o *.swp vsftpd

尽管我进行了研究,但我不知道如何解决这个问题。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-06-23 15:08:15

安装libmysqlclient应该可以解决这个问题。在Ubuntu上,运行:

代码语言:javascript
复制
sudo apt-get install libmysqlclient-dev
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65410923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档