Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 02 Jan 2015 09:50:31 -0600
From:      Jason Bacon <jwbacon@tds.net>
To:        Chagin Dmitry <dchagin@freebsd.org>
Cc:        emulation@freebsd.org, Jason Bacon <bacon@uwm.edu>
Subject:   Re: Linux /dev/shm
Message-ID:  <54A6BE47.4020904@tds.net>
In-Reply-To: <20141231233131.GA5987@dchagin.static.corbina.net>
References:  <54A212A4.1070006@uwm.edu> <20141230064640.GA3354@dchagin.static.corbina.net> <38006823-C20B-4C37-A885-D53192F83EEE@gmail.com> <54A479A4.7050807@tds.net> <20141231233131.GA5987@dchagin.static.corbina.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/31/14 17:31, Chagin Dmitry wrote:
> On Wed, Dec 31, 2014 at 04:33:08PM -0600, Jason Bacon wrote:
>> On 12/30/14 12:54, Miguel Clara wrote:
>>> On 30 December 2014 06:46:40 WET, Chagin Dmitry <dchagin@freebsd.org> wrote:
>>>> On Mon, Dec 29, 2014 at 08:49:08PM -0600, Jason Bacon wrote:
>>>>> Not sure where else to ask this:
>>>>>
>>>>> I'm trying to run Atomistix (http://www.quantumwise.com/) on FreeBSD
>>>> 10.1.
>>>>> The installer runs without a hitch, but I've run into issues with one
>>>> of
>>>>> the main binaries, vnl_exec.
>>>>>
>>>>> First problem was a missing libgomp.  linux-c6-devtools installs a
>>>>> dangling link in:
>>>>>
>>>>> /compat/linux/usr/lib/gcc/i686-redhat-linux/4.4.4/libgomp.so
>>>>>
>>>>> I fixed this by patching the port to include
>>>> libgomp-4.4.7-11.el6.i686.rpm.
>>>>> That got vnl_exec past all the link errors, but now I'm running into
>>>> this:
>>>>> Traceback (most recent call last):
>>>>>      File "<string>", line 1, in <module>
>>>>>      File "./zipdir/NL/__init__.py", line 17, in <module>
>>>>>      File "./zipdir/NL/ComputerScienceUtilities/Singleton.py", line
>>>> 120,
>>>>> in <module>
>>>>>      File "./build/lib/python2.7/multiprocessing/__init__.py", line
>>>> 183,
>>>>> in RLock
>>>>>      File "./build/lib/python2.7/multiprocessing/synchronize.py", line
>>>>> 172, in __init__
>>>>>      File "./build/lib/python2.7/multiprocessing/synchronize.py", line
>>>> 75,
>>>>> in __init__
>>>>> OSError: [Errno 38] Function not implemented
>>>>>
>>>>>    From what I've found on the Linux forums, this is indicating that
>>>> the
>>>>> app requires a tmpfs mounted on /dev/shm as an IPC interface. Is
>>>> there
>>>>> any way to emulate this on FreeBSD?
>>>>>
>>>> yes, see r218497 commit description. it seems to me that you should
>>>> mount tmpfs somewhere
>>> You can use devfs.conf for this, add:
>>> link /tmp shm
>>>
>>> Hope that helps,
>>> Miguel
>>>
>>>
>> Got it working.  There was a minor configuration issue preventing shm
>> from working.  I also had to create a linux-c6-libudev port, which I'll
>> submit along with an atomistix-installer port (like
>> math/matlab-installer) once I've done more thorough testing.
>>
> nice, however, can u try without defvs magic? glibc look through /proc/mounts
> to find tmpfs mount point if cant find /dev/shm.
Another interesting twist...

The installer won't run when tmpfs is mounted.  It just silently quits 
before doing anything.  I have to disable tmpfs in order to reinstall 
and enable it again after installation.

Below is a diff between truss outputs with (<) and without (>) tmpfs 
present.  It contains the last few system calls before the installer 
quits when tmpfs is present.  Haven't quite figured out what to make of 
it yet, but the sole non-zero exit status for a call on stderr stands out.

FreeBSD manatee.acadix bacon ~ 404: diff truss.out truss-no-tmpfs.out | 
grep fcntl
< linux_fcntl64(0x3,0x2,0x1,0xc84cb0,0x20de6ff4,0x6) = 0 (0x0)
 > linux_fcntl64(0x3,0x2,0x1,0xc84c48,0x20de6ff4,0x6) = 0 (0x0)
< linux_fcntl64(0x4,0x2,0x1,0xffff94a0,0x20de6ff4,0x6) = 0 (0x0)
 > linux_fcntl64(0x4,0x2,0x1,0xffff94d0,0x20de6ff4,0x6) = 0 (0x0)
< linux_fcntl64(0x4,0x2,0x1,0xc9dbe8,0x20de6ff4,0x6) = 0 (0x0)
 > linux_fcntl64(0x4,0x2,0x1,0xc9fc30,0x20de6ff4,0x6) = 0 (0x0)
< linux_fcntl64(0x7,0x2,0x1,0xffffa3ec,0x20de6ff4,0x6) = 0 (0x0)
< linux_fcntl64(0x8,0x2,0x1,0xffffa3ec,0x20de6ff4,0x6) = 0 (0x0)
 > linux_fcntl64(0x7,0x2,0x1,0xffffa41c,0x20de6ff4,0x6) = 0 (0x0)
 > linux_fcntl64(0x8,0x2,0x1,0xffffa41c,0x20de6ff4,0x6) = 0 (0x0)
< linux_fcntl64(0x4,0x2,0x1,0xffff84d0,0x20de6ff4,0x6) = 0 (0x0)
 > linux_fcntl64(0x4,0x2,0x1,0xffff8500,0x20de6ff4,0x6) = 0 (0x0)
< linux_fcntl64(0x4,0x2,0x1,0xcd1758,0x20de6ff4,0x6) = 0 (0x0)
 > linux_fcntl64(0x4,0x2,0x1,0xcd0df0,0x20de6ff4,0x6) = 0 (0x0)
< linux_fcntl64(0x2,0x3,0xffffa3f8,0x2,0x20de6ff4,0x6) = 1 (0x1)
 > linux_fcntl64(0x4,0x2,0x1,0xffff77b0,0x20de6ff4,0x6) = 0 (0x0)
 > linux_fcntl64(0x4,0x2,0x1,0xccfcb8,0x20de6ff4,0x6) = 0 (0x0)
 > linux_fcntl64(0x4,0x2,0x1,0x0,0x20de6ff4,0x6)     = 0 (0x0)


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Jason W. Bacon
   jwbacon@tds.net

   Circumstances don't make a man:
   They reveal him.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54A6BE47.4020904>