failed to map segment from shared object: Operation not permitted

T

Tristin Davis

[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);

}
 
T

Tim Pease

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
 
T

Tristin Davis

[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.
 
T

Tristin Davis

[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.
 
T

Tristin Davis

[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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,020
Latest member
GenesisGai

Latest Threads

Top