I am getting undefined_symbol errors when using gold for linking. 1/ With bfd:
$ make tidy $ make -j7 makefiles shared=yes dynamicmaps=no shlib_directory=/usr/lib64/postfix/MAIL_VERSION DEBUG= CC=x86_64-pc-linux-gnu-gcc 'OPT=-march=native -O2 -pipe -Wno-comment' 'CCARGS=-DHAS_PCRE -DHAS_LDAP -DUSE_TLS -DNO_NIS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE' 'AUXLIBS=-Wl,-O1 -Wl,--as-needed -ldl -lpam -lssl -lcrypto' AUXLIBS_CDB= 'AUXLIBS_LDAP=-lldap -llber' AUXLIBS_LMDB= AUXLIBS_MYSQL= 'AUXLIBS_PCRE=-L/usr/lib64 -lpcre' AUXLIBS_PGSQL= AUXLIBS_SQLITE= [...] [... end successful build ...] $ ./bin/postconf mail_version ./bin/postconf: error while loading shared libraries: libpostfix-global.so: cannot open shared object file: No such file or directory [ would have been nice to run commands in the build tree ] $ LD_LIBRARY_PATH="./lib"./bin/postconf mail_version mail_version = 2.12-20140713 2/ with gold: same make statements as above resulting in a successful build again but: $ LD_LIBRARY_PATH="./lib" ./bin/postconf mail_version ./bin/postconf: symbol lookup error: ./lib/libpostfix-util.so: undefined symbol: pcre_malloc and sure enough: # linked with bfd $ ldd bin/postconf linux-vdso.so.1 (0x00007fff885fe000) libpostfix-global.so => not found libpostfix-util.so => not found libldap-2.4.so.2 => /usr/lib64/libldap-2.4.so.2 (0x00007f70430c9000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f7042e60000) libc.so.6 => /lib64/libc.so.6 (0x00007f7042abd000) liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x00007f70428ae000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f7042697000) libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007f704242e000) libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007f7042060000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7041e43000) /lib64/ld-linux-x86-64.so.2 (0x00007f7043312000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f7041c3f000) libz.so.1 => /lib64/libz.so.1 (0x00007f7041a29000) # linked with gold $ ldd bin/postconf linux-vdso.so.1 (0x00007fffe5ffe000) libpostfix-global.so => not found libpostfix-util.so => not found libc.so.6 => /lib64/libc.so.6 (0x00007feb6e377000) /lib64/ld-linux-x86-64.so.2 (0x00007feb6e71a000) Link order seems good. No idea which behaviour is correct. -- Eray