Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 317735 - Prefix Portage does not work on AFP shares due to missing locking facilities
Summary: Prefix Portage does not work on AFP shares due to missing locking facilities
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: x86 OS X
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-29 08:43 UTC by Christian Faulhammer (RETIRED)
Modified: 2011-04-24 12:30 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Faulhammer (RETIRED) gentoo-dev 2010-04-29 08:43:00 UTC
After Bootstrapping on MacOS X 10.5 I get the following error:

$ emerge -1 sed
emergelog(): [Errno 45] Operation not supported
emergelog(): [Errno 45] Operation not supported
Traceback (most recent call last):
  File "/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/bin/emerge", line 45, in <module>
    retval = emerge_main()
  File "/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/lib/portage/pym/_emerge/main.py", line 1554, in emerge_main
    display_news_notification(root_config, myopts)
  File "/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/lib/portage/pym/_emerge/actions.py", line 2725, in display_news_notification
    portdb, vardb, NEWS_PATH, UNREAD_PATH, repo, update=update)
  File "/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/lib/portage/pym/_emerge/actions.py", line 2793, in checkUpdatedNewsItems
    return manager.getUnreadItems( repo_id, update=update )
  File "/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/lib/portage/pym/portage/news.py", line 171, in getUnreadItems
    self.updateItems(repoid)
  File "/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/lib/portage/pym/portage/news.py", line 108, in updateItems
    unread_lock = lockfile(unread_filename, wantnewlockfile=1)
  File "/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/lib/portage/pym/portage/locks.py", line 109, in lockfile
    fcntl.lockf(myfd,fcntl.LOCK_EX|fcntl.LOCK_NB)
IOError: [Errno 45] Operation not supported
emergelog(): [Errno 45] Operation not supported

Any workaround?
Comment 1 Michael Haubenwallner (RETIRED) gentoo-dev 2010-04-29 08:47:08 UTC
AFAICT, it isn't just portage relying on filesystem's locking capabilities,
it is autotools (don't remember if autoconf or automake, or both) and likely some other build systems too.
Comment 2 Fabian Groffen gentoo-dev 2010-04-29 08:48:52 UTC
Well, portage/python here bombs.  Seems all autoconf based tools that were bootstrapped (including portage) worked fine sofar on the afp share.
Comment 3 Christian Faulhammer (RETIRED) gentoo-dev 2010-04-29 09:33:06 UTC
(In reply to comment #2)
> Well, portage/python here bombs.  Seems all autoconf based tools that were
> bootstrapped (including portage) worked fine sofar on the afp share.

 Correct, I followed the bootstrap guide and had no problems until the first emerge command.

Portage 2.2.00.15842-prefix (prefix/darwin/macos/10.5/x86, gcc-4.0.1, unavailable, 9.8.0 i386)
=================================================================
System uname: Darwin-9.8.0-i386-32bit
Timestamp of tree: Tue, 23 Mar 2010 22:37:17 +0000
distcc 2.18.5-Apple.1 i386-apple-darwin9.0 (protocols 1 and 2) (default port 3632) [disabled]
ACCEPT_KEYWORDS="~x86-macos"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-apple-darwin9"
CFLAGS="-march=prescott"
CHOST="i686-apple-darwin9"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf"
CPPFLAGS="-I/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/include"
CXXFLAGS=""
DISTDIR="/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/portage/distfiles"
FEATURES="assume-digests collision-protect distlocks fixpackages news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-search_paths_first -L/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/lib -L/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/lib"
PKGDIR="/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/portage/packages"
PORTAGE_CONFIGROOT="/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/var/tmp"
PORTDIR="/Network/Servers/humtecone.humtec.RWTH-Aachen.DE/Volumes/RAID1/Users/cfaulhammer/Gentoo/usr/portage"
SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"
USE="aqua coreaudio cracklib cxx modules ncurses objc objc++ prefix readline x86-macos zlib" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="Darwin" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" 
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 4 Fabian Groffen gentoo-dev 2010-04-29 10:35:18 UTC
Is it known if the server is a genuine Mac OS X (Server) machine, or some non-Apple alternative?  Locking is supposed to work (it has POSIX semantics).
Comment 5 Christian Faulhammer (RETIRED) gentoo-dev 2010-04-29 10:38:52 UTC
(In reply to comment #4)
> Is it known if the server is a genuine Mac OS X (Server) machine, or some
> non-Apple alternative?  Locking is supposed to work (it has POSIX semantics).

 It is a genuine Apple machine, the institute has too much money.  And after my laptop "disappeared" I am forced to work on these shitty Apple machines...Prefix would make the work bearable. :)

Any options that need to be activated?
Comment 6 Fabian Groffen gentoo-dev 2010-04-29 10:46:53 UTC
hmmm, maybe it's the special lockmode it tries.  A simple flock works.
Comment 7 Christian Faulhammer (RETIRED) gentoo-dev 2010-04-29 10:53:44 UTC
(In reply to comment #6)
> hmmm, maybe it's the special lockmode it tries.  A simple flock works.

 Anything for me to try out?
Comment 8 Fabian Groffen gentoo-dev 2011-04-24 12:30:53 UTC
I'm affraid this track has died?