After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 654492 - Can't build due to Permission denied: '/etc/pkcs11'
Can't build due to Permission denied: '/etc/pkcs11'
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: module sets
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2011-07-12 17:46 UTC by Tobias Mueller
Modified: 2011-07-19 17:54 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tobias Mueller 2011-07-12 17:46:43 UTC
I tried to jhbuild gnome-keyring and it failed:

Making install in gck
make[3]: Entering directory `/home/muelli/svn/gnome2/gnome-keyring/docs/reference/gck'
make[4]: Entering directory `/home/muelli/svn/gnome2/gnome-keyring/docs/reference/gck'
make[4]: Nothing to be done for `install-exec-am'.
Nothing to install
make[4]: Leaving directory `/home/muelli/svn/gnome2/gnome-keyring/docs/reference/gck'
make[3]: Leaving directory `/home/muelli/svn/gnome2/gnome-keyring/docs/reference/gck'
make[3]: Entering directory `/home/muelli/svn/gnome2/gnome-keyring/docs/reference'
make[4]: Entering directory `/home/muelli/svn/gnome2/gnome-keyring/docs/reference'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/home/muelli/svn/gnome2/gnome-keyring/docs/reference'
make[3]: Leaving directory `/home/muelli/svn/gnome2/gnome-keyring/docs/reference'
make[2]: Leaving directory `/home/muelli/svn/gnome2/gnome-keyring/docs/reference'
make[2]: Entering directory `/home/muelli/svn/gnome2/gnome-keyring/docs'
make[3]: Entering directory `/home/muelli/svn/gnome2/gnome-keyring/docs'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/muelli/svn/gnome2/gnome-keyring/docs'
make[2]: Leaving directory `/home/muelli/svn/gnome2/gnome-keyring/docs'
make[1]: Leaving directory `/home/muelli/svn/gnome2/gnome-keyring/docs'
Traceback (most recent call last):
  • File "/home/muelli/bin/jhbuild", line 6 in <module>
    jhbuild.main.main(sys.argv[1:])
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/main.py", line 147 in main
    rc = jhbuild.commands.run(command, config, args, help=lambda: print_help(parser))
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/commands/__init__.py", line 123 in run
    return cmd.execute(config, args, help)
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/commands/__init__.py", line 52 in execute
    return self.run(config, options, args, help)
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/commands/base.py", line 293 in run
    return build.build()
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/frontends/buildscript.py", line 146 in build
    error, altphases = module.run_phase(self, phase)
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/modtypes/__init__.py", line 230 in run_phase
    method(buildscript)
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/modtypes/autotools.py", line 276 in do_install
    self.process_install(buildscript, self.get_revision())
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/modtypes/__init__.py", line 206 in process_install
    self._process_install_files(destdir, destdir, buildscript.config.prefix)
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/modtypes/__init__.py", line 196 in _process_install_files
    self._process_install_files(installroot, src_path, prefix)
  • File "/home/muelli/svn/gnome2/jhbuild/jhbuild/modtypes/__init__.py", line 195 in _process_install_files
    os.mkdir(dest_path)
OSError: [Errno 13] Permission denied: '/etc/pkcs11'
muelli@bigbox ~/svn/gnome2/evolution-data-server [±:master+?] $ 

Kind of a weird error message anyway, directly from jhbuild.
Anyway, I expected to be able to build just fine.

muelli@bigbox ~/svn/gnome2/gnome-keyring [±:master?] $ head config.log 
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.68.  Invocation command line was

  $ ./configure --enable-maintainer-mode --prefix /opt/gnome2 --libdir /opt/gnome2/lib64 --disable-static --enable-maintainer-mode --disable-scrollkeeper --disable-gtk-doc --enable-gtk-doc=no --disable-docs

## --------- ##
## Platform. ##
muelli@bigbox ~/svn/gnome2/gnome-keyring [±:master?] $ grep -C 4 /etc/pkcs11 *
config.log-configure:15333: $PKG_CONFIG --exists --print-errors "p11-kit-1"
config.log-configure:15336: $? = 0
config.log-configure:15395: result: yes
config.log-configure:15402: checking where to put pkcs11 module configuration
config.log:configure:15405: result: /etc/pkcs11/modules
config.log-configure:15503: checking for gpg
config.log-configure:15521: found /usr/bin/gpg
config.log-configure:15533: result: /usr/bin/gpg
config.log-configure:15555: checking location of system Certificate Authority list
--
config.log-OTOOL64=''
config.log-OTOOL=''
config.log-P11_KIT_CFLAGS='-I/opt/gnome2/include/p11-kit-1  '
config.log-P11_KIT_LIBS='-L/opt/gnome2/lib64 -lp11-kit  '
config.log:P11_SYSTEM_MODULES='/etc/pkcs11/modules'
config.log-P11_TESTS_CFLAGS=''
config.log-P11_TESTS_LIBS=''
config.log-PACKAGE='gnome-keyring'
config.log-PACKAGE_BUGREPORT=''
--
config.status-S["WITH_SSH_TRUE"]=""
config.status-S["WITH_PAM_FALSE"]="#"
config.status-S["WITH_PAM_TRUE"]=""
config.status-S["PAM_DEST_DIR"]="${libdir}/security"
config.status:S["P11_SYSTEM_MODULES"]="/etc/pkcs11/modules"
config.status-S["P11_KIT_LIBS"]="-L/opt/gnome2/lib64 -lp11-kit  "
config.status-S["P11_KIT_CFLAGS"]="-I/opt/gnome2/include/p11-kit-1  "
config.status-S["DL_LIBS"]="-ldl"
config.status-S["DBUS_SERVICES_DIR"]="${datarootdir}/dbus-1/services"
--
Makefile-OTOOL = 
Makefile-OTOOL64 = 
Makefile-P11_KIT_CFLAGS = -I/opt/gnome2/include/p11-kit-1  
Makefile-P11_KIT_LIBS = -L/opt/gnome2/lib64 -lp11-kit  
Makefile:P11_SYSTEM_MODULES = /etc/pkcs11/modules
Makefile-P11_TESTS_CFLAGS = 
Makefile-P11_TESTS_LIBS = 
Makefile-PACKAGE = gnome-keyring
Makefile-PACKAGE_BUGREPORT = 
muelli@bigbox ~/svn/gnome2/gnome-keyring [±:master?] $
Comment 1 Tobias Mueller 2011-07-12 18:05:37 UTC
Hm. The directory comes out the pkg-config for p11-kit. I guess the bug is probably caused jhbuild not configuring p11-kit to not install anything or make anything install outside the prefix.

The workaround so far is to configure p11-kit to not use /etc/pkcs11/ by adding --with-pkcs11-dir=/opt/gnome2/etc/ to the configure flags.
Comment 2 André Klapper 2011-07-19 17:21:00 UTC
This works for me too:
module_autogenargs['p11-kit'] = autogenargs + ' --with-pkcs11-dir=' + prefix + '/etc/'

I've created https://live.gnome.org/JhbuildIssues/gnome-keyring
Comment 3 Stef Walter 2011-07-19 17:54:28 UTC
Fixed in jhbuild with this commit:

commit 0716d8968194c70496094f76d48aa0c88f2a1244
Author: Stef Walter <stefw@collabora.co.uk>
Date:   Tue Jul 19 19:52:46 2011 +0200

    3.2: Setup p11-kit so it uses ${sysconfdir}/pkcs11 for pkcs11 modules
    
    https://bugzilla.gnome.org/show_bug.cgi?id=654492