APUE3 问题记录[TOC]apue3.tar.gz 包解压问题:1. 这里是列表文本 docker 挂载目录下tar操作问题目前我的开发环境是,docker的/data目录挂载windows的 D
APUE3 问题记录
[TOC]
apue3.tar.gz 包解压问题:
1. 这里是列表文本 docker 挂载目录下tar操作问题
目前我的开发环境是,docker的/data
目录挂载windows的 D:/workspace
目录,但是在下面做tar解压APUE3开发包时,出现了以下问题:
$ cd /data$ tar xzfv src.3e.tar.gz...tar: apue.3e/figlinks/figB.4: Cannot create symlink to ‘../lib/errorlog.c’: Operation not supportedtar: apue.3e/figlinks/figB.3: Cannot create symlink to ‘../lib/error.c’: Operation not supportedtar: apue.3e/figlinks/figB.1: Cannot create symlink to ‘../include/apue.h’: Operation not supported...
原因是: NTFS 文件系统的问题,需要把这个包移到linux目录中,再解压
$ tar xzfv src.3e.tar.gz -C ~/apue3
成功!
2. 第二步 make
解压后,进入 apue.3e
目录
$ cd apue.3e$ make ...gcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE badexit2.c -o badexit2 -L../lib -lapue -pthread -lrt -lbsd/usr/bin/ld: cannot find -lbsdcollect2: error: ld returned 1 exit statusMakefile:31: recipe for target 'badexit2' failedmake[1]: *** [badexit2] Error 1make[1]: Leaving directory '/home/admin/apue.3e/threads'Makefile:6: recipe for target 'all' failedmake: *** [all] Error 1
出现了 cannot find -lbsd
的问题
看来是,缺库 libbsd
admin@7559451f5a58:~/apue.3e$ apt-cache search libbsdlibbsd-dev - utility functions from BSD systems - development fileslibbsd-resource-perl - BSD process resource limit and priority functionslibbsd0 - utility functions from BSD systems - shared librarylibbsd-arc4random-perl - CPAN's BSD::arc4random -- Perl bindings for arc4random
发现没有 libbsd 而只有几个相关的,想想估计是libbsd本身就是作为开发库的原因吧
admin@7559451f5a58:~/apue.3e$ sudo apt-get install libbsd-dev//....
搞定