[TOC]linux
apue3.tar.gz 包解压问题:docker
目前个人开发环境是,docker的/data
目录挂载windows的 D:\workspace
目录,可是在下面作tar解压APUE3开发包时,出现了如下问题:windows
$ cd /data $ tar xzfv src.3e.tar.gz ... tar: apue.3e/figlinks/figB.4: Cannot create symlink to ‘../lib/errorlog.c’: Operation not supported tar: apue.3e/figlinks/figB.3: Cannot create symlink to ‘../lib/error.c’: Operation not supported tar: apue.3e/figlinks/figB.1: Cannot create symlink to ‘../include/apue.h’: Operation not supported ...
缘由是: NTFS 文件系统的问题,须要把这个包移到linux目录中,再解压dom
$ tar xzfv src.3e.tar.gz -C ~/apue3
成功!spa
解压后,进入 apue.3e
目录code
$ 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 -lbsd collect2: error: ld returned 1 exit status Makefile:31: recipe for target 'badexit2' failed make[1]: *** [badexit2] Error 1 make[1]: Leaving directory '/home/admin/apue.3e/threads' Makefile:6: recipe for target 'all' failed make: *** [all] Error 1
出现了 cannot find -lbsd
的问题ip
看来是,缺库 libbsdci
admin@7559451f5a58:~/apue.3e$ apt-cache search libbsd libbsd-dev - utility functions from BSD systems - development files libbsd-resource-perl - BSD process resource limit and priority functions libbsd0 - utility functions from BSD systems - shared library libbsd-arc4random-perl - CPAN's BSD::arc4random -- Perl bindings for arc4random
发现没有 libbsd 而只有几个相关的,想一想估计是libbsd自己就是做为开发库的缘由吧开发
admin@7559451f5a58:~/apue.3e$ sudo apt-get install libbsd-dev //....
搞定get