-D variables not honored

Bug #1322682 reported by matt
34
This bug affects 5 people
Affects Status Importance Assigned to Milestone
autofs (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Within /etc/default/autofs I have:
OPTIONS="-DOSREL=2.6"

running ps I get:
root 3474 1 0 09:16 ? 00:00:00 /usr/sbin/automount -DOSREL=2.6

My map looks like this:
bin FILER:/vol/usrlocal/&/$ARCH/${OSNAME}$OSREL

But automount won't use the OSREL:
May 23 09:41:29 xco-ubuntu1404 automount[3474]: >> mount.nfs: access denied by server while mounting FILER:/vol/usrlocal/bin/x86_64/Linux3.13.0-24-generic

This setup works fine under RHEL4-7 and according to the documentation should work fine under ubuntu.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: autofs 5.0.7-3ubuntu3
ProcVersionSignature: Ubuntu 3.13.0-24.46-generic 3.13.9
Uname: Linux 3.13.0-24-generic x86_64
ApportVersion: 2.14.1-0ubuntu3
Architecture: amd64
Date: Fri May 23 09:42:14 2014
ProcEnviron:
 TERM=ansi
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: autofs
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
matt (matt-poepping) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in autofs (Ubuntu):
status: New → Confirmed
Revision history for this message
Pavel Merdin (pavel-merdin) wrote :

Neither environment variables nor ones specified on command line seemed to work.
Building 5.0.9 seems to have fixed the issue for us.

Revision history for this message
Pavel Merdin (pavel-merdin) wrote :

The way I used to test it:

echo "/test /etc/auto.test" >/etc/auto.master
echo 'test1 ${MYPATH}' >/etc/auto.test
echo 'OPTIONS="-DMYPATH=:/tmp"' >/etc/defaults/autofs
service autofs restart
automount -l debug /test

in the logs you'll see:

Jul 16 00:13:00 xxxx automount[7338]: attempting to mount entry /test/test1
Jul 16 00:13:00 xxxx automount[7338]: dev_ioctl_send_fail: token = 7
Jul 16 00:13:00 xxxx automount[7338]: failed to mount /test/test1

Revision history for this message
Pavel Merdin (pavel-merdin) wrote :

Sorry, there was a typo in the following line:
echo 'OPTIONS="-DMYPATH=:/tmp"' >>/etc/defaults/autofs

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.

Revision history for this message
Paul Kilgo (paulkilgo) wrote :

Landon's suggestion appears to be a fix for us too (thanks!). I did alter the source package so I don't have to remember that should the package have to be rebuilt one day. I set DEB_LDFLAGS_SET on the main call to debhelper. I've included a patch to be precise.

That does not appear to be a good solution by Lintian's standards, so I will not mark this as a solution for this bug. This is just a quick fix for us.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "patch implementing Landon's suggestion inside of debian/rules" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
Brian Murray (brian-murray) wrote :

For what I can tell this is still an issue with the version of autofs in Vivid which will become Ubuntu 15.04 and also in the Debian version of the package. Subsequently, it would be helpful if you were to submit this bug to Debian.

Thanks!

Changed in autofs (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Yufei (yufei) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.