Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

failed to map segment from shared object: Operation not permitted

35 views
Skip to first unread message

Tristin Davis

unread,
Jul 3, 2008, 11:46:09 PM7/3/08
to
[Note: parts of this message were removed to make it a legal post.]

I'm writing a ruby wrapper for a proprietary api. I compiled it, but when I
require it in irb i get the following error. I'm stumped as to why its
throwing this error. Anyone help?

irb(main):001:0> require 'metadata'
LoadError: ./metadata.so: failed to map segment from shared object:
Operation not permitted - ./metadata.so
from ./metadata.so
from (irb):1


=cut

#include <ruby.h>
#include "mdc.h"

/* Module and class names */
static VALUE md_mMetadata;
static VALUE md_cClientAPI;

VALUE
md_initialize(int argc, VALUE *argv, VALUE self)
{
VALUE login, password, server, table_name, table_version;

rb_scan_args(argc, argv, "41", &login, &password, &server,
&table_name, &table_version);

if(NIL_P(table_version)) {
rb_iv_set( self, "@table_version", Qnil );
}

rb_iv_set(self, "@login", rb_funcall(login, rb_intern("to_s"), 0) );
rb_iv_set(self, "@password", rb_funcall(password, rb_intern("to_s"),
0) );
rb_iv_set(self, "@server", rb_funcall(server, rb_intern("to_s"), 0) );

rb_iv_set(self, "@table_name", rb_funcall(table_name,
rb_intern("to_s"),0) );

return self;

}


void Init_metadata() {
md_mMetadata = rb_define_module("Metadata");
md_cClientAPI = rb_define_class_under(md_mMetadata, "ClientAPI",
rb_cObject);

rb_define_method(md_cClientAPI, "initialize", md_initialize, 4);

}

Tim Pease

unread,
Jul 4, 2008, 12:01:36 AM7/4/08
to
On Jul 3, 2008, at 9:46 PM, Tristin Davis wrote:

> I'm writing a ruby wrapper for a proprietary api. I compiled it,
> but when I
> require it in irb i get the following error. I'm stumped as to why
> its
> throwing this error. Anyone help?
>
> irb(main):001:0> require 'metadata'
> LoadError: ./metadata.so: failed to map segment from shared object:
> Operation not permitted - ./metadata.so
> from ./metadata.so
> from (irb):1

Are you compiling the code as one user and attempting to use it from a
different user account? The "Operation not permitted" usually refers
to a permissions problem.

Found this link ...

<http://citydesknews.com/FogBugz/KB/errors/fogutil.sofailedtomapsegm.html?isl=23903
>

Give the "restorecon" method a shot.

Oh, and this link might shed some light as well ...

<http://objectmix.com/tcl/34666-failed-map-segment-shared-object-operation-not-permitted.html
>

Blessings,
TwP

Tristin Davis

unread,
Jul 4, 2008, 1:17:50 AM7/4/08
to
[Note: parts of this message were removed to make it a legal post.]

I tried it the solution in the 1st link, but it didn't help.

Tristin Davis

unread,
Jul 4, 2008, 2:55:42 PM7/4/08
to
[Note: parts of this message were removed to make it a legal post.]

I"m on Ubuntu 4.2.3-2ubuntu7.

Anyone else have any suggestions. I've checked and rechecked the code. I
can't find anything wrong at all.

On Fri, Jul 4, 2008 at 12:17 AM, Tristin Davis <tristi...@gmail.com>
wrote:

Tristin Davis

unread,
Jul 4, 2008, 3:01:25 PM7/4/08
to
[Note: parts of this message were removed to make it a legal post.]

Nevermind, I figured it out. I'm running working off of a flash drive and I
guess by default, Ubuntu mounts it with the noexec option.


/dev/sdb1 on /media/ext type vfat (rw,noexec,nosuid,nodev)


Moving it to another directory fixed it.


On Fri, Jul 4, 2008 at 1:55 PM, Tristin Davis <tristi...@gmail.com>

0 new messages