<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="https://dev.horde.org/themes/horde//default/feed-rss.xsl" type="text/xsl"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
 <channel> 
  <title>Horde doesn&#039;t work on NFS</title> 
  <pubDate>Fri, 10 Apr 2026 14:48:28 +0000</pubDate> 
  <link>https://bugs.horde.org/ticket/12906</link> 
  <atom:link rel="self" type="application/rss+xml" title="Horde doesn&#039;t work on NFS" href="https://bugs.horde.org/ticket/12906/rss" /> 
  <description>Horde doesn&#039;t work on NFS</description> 
 
   
   
  <item> 
   <title>I&#039;ve a recently upgraded Horde from FreeBSD packages. The se</title> 
   <description>I&#039;ve a recently upgraded Horde from FreeBSD packages. The server runs from a read only NFS server, so every directory and file are on NFS and are read only.
When I log into Horde, I get the following error:
[08-Jan-2014 09:46:44 Europe/Budapest] PHP Fatal error:  Call to undefined method PEAR_Error::getName() in /usr/local/share/pear/Horde/Core/Db/Migration.php on line 93

Placing two debug log statements around that line:
-----------------------------------8&lt;-----------------------------------
       foreach (glob($pear-&gt;get(&#039;data_dir&#039;) . &#039;/*/migration&#039;) as $dir) {
                Horde::log(&quot;XXX &quot;.$dir, Horde_Log::ERR);
                Horde::log(&quot;XXX &quot;.$registry-&gt;getPackage(basename(dirname($dir)),
 &#039;pear.horde.org&#039;), Horde_Log::ERR);
            $app = $registry-&gt;getPackage(
-----------------------------------8&lt;-----------------------------------
revealed the following:
Jan  8 09:46:44 [imp] XXX /usr/local/share/pear/data/Horde_ActiveSync/migration [pid 2333 on line 90 of &quot;/usr/local/share/pear/Horde/Core/Db/Migration.php&quot;]
Jan  8 09:46:44 [imp] XXX could not acquire shared lock (/usr/local/share/pear/.lock) [pid 2333 on line 91 of &quot;/usr/local/share/pear/Horde/Core/Db/Migration.php&quot;]

Doing a ktrace on the php process gives:
  2333 php-fpm  CALL  open(0x810f64348,0&lt;O_RDONLY&gt;,&lt;unused&gt;0)
  2333 php-fpm  NAMI  &quot;/usr/local/share/pear/.lock&quot;
  2333 php-fpm  RET   open 16/0x10
  2333 php-fpm  CALL  fstat(0x10,0x8112bc540)
  2333 php-fpm  STRU  struct stat {dev=973143809, ino=3195588, mode=-rw-r--r-- , nlink=1, uid=0, gid=0, rdev=42672, atime=1389170490.846139742, stime=1389170490.846139742, ctime=1389170490.846139742, birthtime=-1, size=0, blksize=4096, blocks=1, flags=0x0 }
  2333 php-fpm  RET   fstat 0
  2333 php-fpm  CALL  lseek(0x10,0,SEEK_CUR)
  2333 php-fpm  RET   lseek 0
  2333 php-fpm  CALL  flock(0x10,0x1&lt;LOCK_SH&gt;)
  2333 php-fpm  RET   flock -1 errno 45 Operation not supported

which makes sense, flock over NFS doesn&#039;t work. Last year this setup worked. What has changed since then?
Could you please correct, or work around this to make Horde runnable over NFS again?</description> 
   <pubDate>Wed, 08 Jan 2014 09:02:46 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12906#t82005</link> 
  </item> 
   
  <item> 
   <title>This is a limitation of PEAR, it requires that the process o</title> 
   <description>This is a limitation of PEAR, it requires that the process owner be able to create a lock file in the pear directory. You can talk to the folks at PEAR to see if it&#039;s possible to work around this on a read-only NFS share. It might even be possible to manually set the directory to create the lock...</description> 
   <pubDate>Wed, 08 Jan 2014 15:57:25 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12906#t82009</link> 
  </item> 
   
  <item> 
   <title>I guess doing mandatory locking in getPackage may not be nee</title> 
   <description>I guess doing mandatory locking in getPackage may not be needed, so this could be made optional, if it fails, just do the thing without the lock.
I&#039;ve already opened a bug there, I hope they will take care of it.

Thanks.</description> 
   <pubDate>Thu, 09 Jan 2014 06:28:09 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/12906#t82023</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
