Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make install not working in Mac OS X #4

Closed
neytema opened this issue Sep 23, 2010 · 6 comments
Closed

make install not working in Mac OS X #4

neytema opened this issue Sep 23, 2010 · 6 comments

Comments

@neytema
Copy link

neytema commented Sep 23, 2010

$ sudo make install

Mac OS X
Version 10.6.4

node v0.3.0-pre

g++ -Ideps/libiconv-1.13.1/include -I/usr/local/include/node -O2 -fPIC -Wall -ansi   -c -o iconv.o iconv.cc
g++ -shared -o iconv.node iconv.o deps/libiconv-1.13.1/lib/.libs/libiconv.a
Undefined symbols:
  "v8::FunctionTemplate::PrototypeTemplate()", referenced from:
      _init in iconv.o
  "node::Buffer::data()", referenced from:
      (anonymous namespace)::Iconv::Convert(char*, unsigned long)in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
  "v8::HandleScope::HandleScope()", referenced from:
      _init in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
  "v8::Undefined()", referenced from:
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      node::ObjectWrap::~ObjectWrap()in iconv.o
      node::ObjectWrap::~ObjectWrap()in iconv.o
  "v8::Value::ToString() const", referenced from:
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
  "v8::String::Utf8Value::~Utf8Value()", referenced from:
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
  "v8::Object::InternalFieldCount()", referenced from:
      (anonymous namespace)::Iconv* node::ObjectWrap::Unwrap<(anonymous namespace)::Iconv>(v8::Handle)in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      node::ObjectWrap::Wrap(v8::Handle)        in iconv.o
      node::Buffer* node::ObjectWrap::Unwrap(v8::Handle)in iconv.o
  "v8::FunctionTemplate::InstanceTemplate()", referenced from:
      _init in iconv.o
  "v8::ThrowException(v8::Handle)", referenced from:
      (anonymous namespace)::Iconv::Convert(char*, unsigned long)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
  "v8::FunctionTemplate::GetFunction()", referenced from:
      _init in iconv.o
  "v8::FunctionTemplate::New(v8::Handle (*)(v8::Arguments const&), v8::Handle, v8::Handle)", referenced from:
      _init in iconv.o
      _init in iconv.o
  "v8::Object::SetInternalField(int, v8::Handle)", referenced from:
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      node::ObjectWrap::~ObjectWrap()in iconv.o
      node::ObjectWrap::~ObjectWrap()in iconv.o
  "v8::String::AsciiValue::AsciiValue(v8::Handle)", referenced from:
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
  "v8::Signature::New(v8::Handle, int, v8::Handle*)", referenced from:
      _init in iconv.o
  "v8::V8::ClearWeak(v8::internal::Object**)", referenced from:
      node::ObjectWrap::Ref()     in iconv.o
  "v8::String::AsciiValue::~AsciiValue()", referenced from:
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
  "node::ErrnoException(int, char const*, char const*, char const*)", referenced from:
      (anonymous namespace)::Iconv::Convert(char*, unsigned long)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
  "v8::Value::IsObject() const", referenced from:
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
  "v8::String::NewSymbol(char const*, int)", referenced from:
      _init in iconv.o
      _init in iconv.o
  "v8::Object::SlowGetPointerFromInternalField(int)", referenced from:
      (anonymous namespace)::Iconv* node::ObjectWrap::Unwrap<(anonymous namespace)::Iconv>(v8::Handle)in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      node::Buffer* node::ObjectWrap::Unwrap(v8::Handle)in iconv.o
  "v8::Object::Set(v8::Handle, v8::Handle, v8::PropertyAttribute)", referenced from:
      _init in iconv.o
  "v8::String::Utf8Value::Utf8Value(v8::Handle)", referenced from:
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
  "v8::HandleScope::~HandleScope()", referenced from:
      _init in iconv.o
      _init in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
  "v8::ObjectTemplate::SetInternalFieldCount(int)", referenced from:
      _init in iconv.o
  "node::Buffer::HasInstance(v8::Handle)", referenced from:
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
  "v8::Value::ToObject() const", referenced from:
      (anonymous namespace)::Iconv::Convert(v8::Arguments const&)in iconv.o
  "v8::Object::SetPointerInInternalField(int, void*)", referenced from:
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      node::ObjectWrap::Wrap(v8::Handle)        in iconv.o
  "v8::V8::IsGlobalWeak(v8::internal::Object**)", referenced from:
      node::ObjectWrap::Unref()     in iconv.o
  "v8::V8::GlobalizeReference(v8::internal::Object**)", referenced from:
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      node::ObjectWrap::Wrap(v8::Handle)        in iconv.o
  "v8::V8::MakeWeak(v8::internal::Object**, void*, void (*)(v8::Persistent, void*))", referenced from:
      (anonymous namespace)::Iconv::New(v8::Arguments const&)in iconv.o
      node::ObjectWrap::Unref()     in iconv.o
      node::ObjectWrap::Wrap(v8::Handle)        in iconv.o
  "v8::Template::Set(v8::Handle, v8::Handle, v8::PropertyAttribute)", referenced from:
      _init in iconv.o
  "node::Buffer::New(unsigned long)", referenced from:
      (anonymous namespace)::Iconv::Convert(char*, unsigned long)in iconv.o
  "v8::V8::IsGlobalNearDeath(v8::internal::Object**)", referenced from:
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      node::ObjectWrap::WeakCallback(v8::Persistent, void*)     in iconv.o
      node::ObjectWrap::~ObjectWrap()in iconv.o
      node::ObjectWrap::~ObjectWrap()in iconv.o
  "v8::V8::DisposeGlobal(v8::internal::Object**)", referenced from:
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      (anonymous namespace)::Iconv::~Iconv()in iconv.o
      node::ObjectWrap::~ObjectWrap()in iconv.o
      node::ObjectWrap::~ObjectWrap()in iconv.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [all] Error 1
@bnoordhuis
Copy link
Owner

Where did you get this version of node from? It doesn't appear to be a tag or branch from Ryan's repo.

Anyway, I don't have access to a Mac right now but I'll try to reproduce it against node's bleeding edge tomorrow (tried it on linux, works fine).

@neytema
Copy link
Author

neytema commented Sep 23, 2010

I think nodejs is from Ryan's repo. I get this version then typed $ node -v

@bnoordhuis
Copy link
Owner

I'll try to reproduce it against node's bleeding edge tomorrow

Okay, make that Monday.

@ghost
Copy link

ghost commented Sep 29, 2010

I had the same problem ...
It worked for me on OS X 10.6.4 (x86_64 CPU) like this
g++ -flat_namespace -undefined suppress -shared -o iconv.node iconv.o deps/libiconv-1.13.1/lib/.libs/libiconv.a
Then I manually copied into $HOME/.node_libraries and tested.

@bnoordhuis
Copy link
Owner

Thanks for the heads up!

Some googling suggests that -flat_namespace is a backwards compatibility hack and arguably a Bad Thing. Even so, this might be a good stop-gap measure.

Is there any chance you could find the time to wrap this up in a patch?

@bnoordhuis
Copy link
Owner

Thanks to vasco this should be fixed per commit c0815a8.

Making the world a better place. Together. snif

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants