Comment 6 for bug 1322682

Revision history for this message
Landon Thomas (lthomas) wrote :

I experienced this problem when updating a client from Ubuntu 12.04 to 14.04. Our file server is running SunOS 5.11 but the symptom is the same. For us, It's not a source code problem but the way modules/parse_sun.c is compiled.

Here's the gcc line for parse_sun from a default debuild of the Ubuntu 14.04 autofs package source:

gcc -Wl,-Bsymbolic-functions -Wl,-z,relro -s -lpthread -s -lpthread -shared -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DSSS_LIB_DIR=\"/usr/lib/x86_64-linux-gnu/sssd/modules\" -I../include -I../lib -fPIC -D_GNU_SOURCE -DAUTOFS_LIB_DIR=\"/usr/lib/x86_64-linux-gnu/autofs\" -DAUTOFS_MAP_DIR=\"/etc\" -o parse_sun.so parse_sun.c ../lib/autofs.a -lnsl

If I remove the '-Wl,-Bsymbolic-functions' chunk from that gcc line and run it manually, then copy the resulting parse_sun.so to /usr/lib/x86_64-linux-gnu/autofs/, it works. Then /usr/sbin/automount starts following the -D flags again.

I was able to create a working package bumping the version in the changelog (no need to alter source) then running:

DEB_LDFLAGS_SET='-Wl,-z,relro' debuild

That reduces the default dpkg-buildflags from

-Wl,-Bsymbolic-functions -Wl,-z,relro

to

-Wl,-z,relro

to remove the problematic 'symbolic-functions' linker option that was causing the problem for me. You could try it under a Linux NFS server. I suspect it'll fix the problem in whatever library is causing the same issue for automounting Linux servers.