I started to learn APUE* and compile the source code
Download the source code from Source Code
Extract it to
$ pwd /Users/me/Desktop/PubRepo/C/APUE/apue.3e
Read readme
$ cat readme Read the file called DISCLAIMER. On Freebsd, type "gmake". On other platforms, type "make" (as long as this is gnu make). For FAQs, updated source code, and the lost chapter, see http://www.apuebook.com. Please direct questions, suggestions, and bug reports to sar@apuebook.com. Steve Rago January 2013
I checked
make
version$ make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i386-apple-darwin11.3.0
make but report error:
gcc -ansi -I../include -Wall -DMACOS -D_DARWIN_C_SOURCE -c -o sleep.o sleep.c making intro gcc -ansi -I../include -Wall -DMACOS -D_DARWIN_C_SOURCE getcputc.c -o getcputc -L../lib -lapue ld: archive has no table of contents file '../lib/libapue.a' for architecture x86_64 clang: error: unable to execute command: Segmentation fault: 11 clang: error: linker command failed due to signal (use -v to see invocation) make[1]: *** [getcputc] Error 254 make: *** [all] Error 1
I searched and found answer to add cp ./lib/error.c /usr/local/include/
$ cp ./lib/error.c /usr/local/include/
make clean and make
making intro
gcc -ansi -I../include -Wall -DMACOS -D_DARWIN_C_SOURCE getcputc.c -o getcputc -L../lib -lapue
ld: archive has no table of contents file '../lib/libapue.a' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [getcputc] Error 1
make: *** [all] Error 1
The error is still there.
How could I apply apue.h
?
* W Richard Stevens, Stephen A Rago Advanced Programming in the Unix Environment, 3rd Edn, 2013.