Skip to content

Instantly share code, notes, and snippets.

@clayote
Last active April 9, 2020 21:16
Show Gist options
  • Save clayote/4c3cd4dcdbc6fc68ba2df470203d4407 to your computer and use it in GitHub Desktop.
Save clayote/4c3cd4dcdbc6fc68ba2df470203d4407 to your computer and use it in GitHub Desktop.
Trying to build Zed Shaw's devpkg in my attempt to Learn C The Hard Way. The gcc build is failing but clang is working. Why?
~/src/c_hard/devpkg$ clang -I/usr/local/apr/include/apr-1 -L/usr/local/apr/lib -v -lapr-1 -laprutil-1 bstrlib.c commands.c db.c shell.c devpkg.c
clang version 3.8.0-2ubuntu3 (tags/RELEASE_380/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/5.3.1
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/6.0.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.1
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/6.0.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1
Candidate multilib: .;@m64
Selected multilib: .;@m64
"/usr/lib/llvm-3.8/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name bstrlib.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0 -I /usr/local/apr/include/apr-1 -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir /home/sanotehu/src/c_hard/devpkg -ferror-limit 19 -fmessage-length 80 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/bstrlib-ad1941.o -x c bstrlib.c
clang -cc1 version 3.8.0 based upon LLVM 3.8.0 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/local/include
/usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
"/usr/lib/llvm-3.8/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name commands.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0 -I /usr/local/apr/include/apr-1 -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir /home/sanotehu/src/c_hard/devpkg -ferror-limit 19 -fmessage-length 80 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/commands-edb0e5.o -x c commands.c
clang -cc1 version 3.8.0 based upon LLVM 3.8.0 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/local/include
/usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
"/usr/lib/llvm-3.8/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name db.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0 -I /usr/local/apr/include/apr-1 -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir /home/sanotehu/src/c_hard/devpkg -ferror-limit 19 -fmessage-length 80 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/db-4a20f9.o -x c db.c
clang -cc1 version 3.8.0 based upon LLVM 3.8.0 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/local/include
/usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
"/usr/lib/llvm-3.8/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name shell.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0 -I /usr/local/apr/include/apr-1 -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir /home/sanotehu/src/c_hard/devpkg -ferror-limit 19 -fmessage-length 80 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/shell-abaadf.o -x c shell.c
clang -cc1 version 3.8.0 based upon LLVM 3.8.0 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/local/include
/usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
"/usr/lib/llvm-3.8/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name devpkg.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0 -I /usr/local/apr/include/apr-1 -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir /home/sanotehu/src/c_hard/devpkg -ferror-limit 19 -fmessage-length 80 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/devpkg-a34423.o -x c devpkg.c
clang -cc1 version 3.8.0 based upon LLVM 3.8.0 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/local/include
/usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
devpkg.c:12:31: warning: duplicate 'const' declaration specifier
[-Wduplicate-decl-specifier]
int main(int argc, const char const *argv[])
^
1 warning generated.
"/usr/bin/ld" -z relro --hash-style=gnu --build-id --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1/../../../x86_64-linux-gnu/crt1.o /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1/../../../x86_64-linux-gnu/crti.o /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1/crtbegin.o -L/usr/local/apr/lib -L/usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1 -L/usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1/../../../x86_64-linux-gnu -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1/../../.. -L/usr/lib/llvm-3.8/bin/../lib -L/lib -L/usr/lib -lapr-1 -laprutil-1 /tmp/bstrlib-ad1941.o /tmp/commands-edb0e5.o /tmp/db-4a20f9.o /tmp/shell-abaadf.o /tmp/devpkg-a34423.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1/crtend.o /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1/../../../x86_64-linux-gnu/crtn.o
~/src/c_hard/devpkg$ cc -I/usr/local/apr/include/apr-1 -L/usr/local/apr/lib -lapr-1 -lpthread -laprutil-1 -v -o devpkg bstrlib.c db.c shell.c commands.c devpkg.c
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.3.1-14ubuntu2.1' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1)
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -I /usr/local/apr/include/apr-1 -imultiarch x86_64-linux-gnu bstrlib.c -quiet -dumpbase bstrlib.c -mtune=generic -march=x86-64 -auxbase bstrlib -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccnReFNl.s
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: eebae41b312c10e53f28ce8b15ce709a
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
as -v -I /usr/local/apr/include/apr-1 --64 -o /tmp/ccyXohsI.o /tmp/ccnReFNl.s
GNU assembler version 2.26 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -I /usr/local/apr/include/apr-1 -imultiarch x86_64-linux-gnu db.c -quiet -dumpbase db.c -mtune=generic -march=x86-64 -auxbase db -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccnReFNl.s
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: eebae41b312c10e53f28ce8b15ce709a
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
as -v -I /usr/local/apr/include/apr-1 --64 -o /tmp/ccZVIBk5.o /tmp/ccnReFNl.s
GNU assembler version 2.26 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -I /usr/local/apr/include/apr-1 -imultiarch x86_64-linux-gnu shell.c -quiet -dumpbase shell.c -mtune=generic -march=x86-64 -auxbase shell -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccnReFNl.s
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: eebae41b312c10e53f28ce8b15ce709a
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
as -v -I /usr/local/apr/include/apr-1 --64 -o /tmp/ccOVJYns.o /tmp/ccnReFNl.s
GNU assembler version 2.26 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -I /usr/local/apr/include/apr-1 -imultiarch x86_64-linux-gnu commands.c -quiet -dumpbase commands.c -mtune=generic -march=x86-64 -auxbase commands -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccnReFNl.s
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: eebae41b312c10e53f28ce8b15ce709a
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
as -v -I /usr/local/apr/include/apr-1 --64 -o /tmp/ccQPWUDP.o /tmp/ccnReFNl.s
GNU assembler version 2.26 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -I /usr/local/apr/include/apr-1 -imultiarch x86_64-linux-gnu devpkg.c -quiet -dumpbase devpkg.c -mtune=generic -march=x86-64 -auxbase devpkg -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccnReFNl.s
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/apr/include/apr-1
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C11 (Ubuntu 5.3.1-14ubuntu2.1) version 5.3.1 20160413 (x86_64-linux-gnu)
compiled by GNU C version 5.3.1 20160413, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: eebae41b312c10e53f28ce8b15ce709a
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
as -v -I /usr/local/apr/include/apr-1 --64 -o /tmp/ccvtsT0c.o /tmp/ccnReFNl.s
GNU assembler version 2.26 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-I' '/usr/local/apr/include/apr-1' '-L/usr/local/apr/lib' '-v' '-o' 'devpkg' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/cc8HdJoA.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o devpkg /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o -L/usr/local/apr/lib -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lapr-1 -lpthread -laprutil-1 /tmp/ccyXohsI.o /tmp/ccZVIBk5.o /tmp/ccOVJYns.o /tmp/ccQPWUDP.o /tmp/ccvtsT0c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o
/tmp/ccZVIBk5.o: In function `DB_init':
db.c:(.text+0x3bd): undefined reference to `apr_pool_initialize'
db.c:(.text+0x3d8): undefined reference to `apr_pool_create_ex'
db.c:(.text+0x402): undefined reference to `apr_dir_make_recursive'
db.c:(.text+0x510): undefined reference to `apr_pool_destroy'
db.c:(.text+0x523): undefined reference to `apr_pool_destroy'
/tmp/ccOVJYns.o: In function `Shell_exec':
shell.c:(.text+0xd2): undefined reference to `apr_pool_create_ex'
shell.c:(.text+0x370): undefined reference to `apr_pool_destroy'
shell.c:(.text+0x393): undefined reference to `apr_pool_destroy'
/tmp/ccOVJYns.o: In function `Shell_run':
shell.c:(.text+0x3e9): undefined reference to `apr_procattr_create'
shell.c:(.text+0x466): undefined reference to `apr_procattr_io_set'
shell.c:(.text+0x4de): undefined reference to `apr_procattr_dir_set'
shell.c:(.text+0x55b): undefined reference to `apr_procattr_cmdtype_set'
shell.c:(.text+0x5ec): undefined reference to `apr_proc_create'
shell.c:(.text+0x66f): undefined reference to `apr_proc_wait'
/tmp/ccQPWUDP.o: In function `Command_fetch':
commands.c:(.text+0x2b5): undefined reference to `apr_uri_parse'
commands.c:(.text+0x337): undefined reference to `apr_fnmatch'
commands.c:(.text+0x404): undefined reference to `apr_fnmatch'
commands.c:(.text+0x612): undefined reference to `apr_fnmatch'
commands.c:(.text+0x700): undefined reference to `apr_dir_make_recursive'
commands.c:(.text+0x7c9): undefined reference to `apr_fnmatch'
commands.c:(.text+0x8ad): undefined reference to `apr_dir_make_recursive'
/tmp/ccvtsT0c.o: In function `main':
devpkg.c:(.text+0x27): undefined reference to `apr_pool_initialize'
devpkg.c:(.text+0x42): undefined reference to `apr_pool_create_ex'
devpkg.c:(.text+0x8c): undefined reference to `apr_getopt_init'
devpkg.c:(.text+0x127): undefined reference to `apr_getopt'
collect2: error: ld returned 1 exit status
@clayote
Copy link
Author

clayote commented Jul 6, 2016

The code is available at http://c.learncodethehardway.org/book/ex26.html

I'm pretty sure I built and installed apr-1.5.2 and aprutil-1.5.4 correctly.

Any ideas for how to even diagnose this would be welcome.

@Waqar144
Copy link

Waqar144 commented Sep 7, 2019

I know it is too late but it might help someone else.

To fix this, just change the Makefile and include this below LDFLAGS:

LDLIBS= -lapr-1 -laprutil-1

LDLIBS are Library flags or names given to compilers when they are supposed to invoke the linker, ld. LDFLAGS is meant to include extra flags such as -L when the linker is invoked. -l should be used with LDLIBS instead

@jfwm2
Copy link

jfwm2 commented Apr 9, 2020

Thank you @Waqar144
This helped me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment