[sudo-users] Strange behavior when execute bit is missing

Bob Proulx bob at proulx.com
Sat May 6 18:54:15 EDT 2006

Josef Wolf wrote:
> I've took a look at the source and decided to throw in some debug messages
> to see what's going on.  But when I try to compile it, I get following
> error:
>   ~/sudo-1.6.8p7 $ debian/rules binary
>   [ many lines deleted ... ]
>   auth/pam.c:52:32: security/pam_appl.h: File not found
> A directory named security don't seem to exist.  Any idea why it is not
> there?

That file is part of the PAM development packages.  Did you install
all of the dependencies that sudo will need?

Debian makes this very easy and since we are both using it let me talk
about it momentarily.  Use the following command to install all of the
build dependencies for the sudo package.

  sudo apt-get build-dep sudo

You should find in this case that it will install the libpam0g-dev
package which contains the PAM header files.  This will provide th
<security/epam_appl.h> file that you are missing.  If you do not have
it installed then you might also be missing other dependencies and
that should get them all.

To continue the Debian specific instructions you can use the following
sequence of commands to get the source, dependencies, and build it.
The build-essential package is a meta-package to pull in basic
compilation programs.

  sudo apt-get install build-essential fakeroot
  sudo apt-get build-dep sudo
  fakeroot apt-get source -b sudo

The -b option will actually build the source into a full package.
This is more than you want.  But convenient for the build just the
same.  You don't need to do this and can just as easily jump into the
directory and configure and make normally.  But building the package
does make the same decisions of configuration as the distro maintainer
made when creating the distro package.

By the way...  Never use real root, such as through sudo, to compile
code.  Instead always use a fake root, such as through fakeroot, for
that purpose.


More information about the sudo-users mailing list