title: perl inline::C failed to map segment from shared object in openmediavault shared folder, in linux itself or in windows by SAMBA
body: <p>I got an old PC and installed a openmediavault in it. Then shared its RAID as shared folder, then mapping this folder to windows via SAMBA. I could run Steam game in this shared folder in windows.</p>
  
  <p>I wrote a perl script to demo the inline::C, its a very little script. </p>
  
  <pre class="lang-perl prettyprint-override"><code>use 5.24.0;
  use warnings;
  use Inline C=&gt;&lt;&lt;'_C_CODE_';
  
  void say_something(){
      printf("Y!");
  }
  
  _C_CODE_
  
  say_something();
  </code></pre>
  
  <p>Then if I put this perl script file in the shared folder, perl will fail to complie this script. In <strong>windows</strong>, perl reports "<em>fail to load 'xxx\xxx.dll</em>', while in <strong>linux</strong>, perl reports "<em>failed to map segment from shared object at /xx/xx/xx.so</em>".</p>
  
  <p>But, if I copy this script to local disk of windows or none-shared folder in linux, I could compile it without any error or warning.</p>
  
  <p>This issue total confused me, especially why it failed in windows.</p>
  
  <p>PS: I tried
  1. chmod +x to the folder and the _Inline/xx/xx/xxx.so, failed.
  2. access this folder via /srv/dev-disk-by-label-NAS01/xxx/, not /sharedfolders/xxx/, failed.
  3. sudo perl xxx.pl, failed</p>