0

I cannot make link-parser gem working on my snow leopard.

When I tried to do 'sudo gem install linkparser' and I get:

Building native extensions.  This could take a while...
ERROR:  Error installing linkparser:
    ERROR: Failed to build gem native extension.

        /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for pkg-config... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
    --with-link-grammar
    --without-link-grammar
    --with-pkg-config
    --without-pkg-config
extconf.rb:18: Couldn't find your pkg-config binary (RuntimeError)


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/linkparser-1.1.0 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/linkparser-1.1.0/ext/gem_make.out

When I compiled link-grammar 4.3.5 from source (it went well) and then tried to do 'rake':

Task library 'rake/manual.rb' failed to load: NameError: uninitialized constant MANUALDIR. Some tasks may not be available.
No DarkFish: LoadError: no such file to load -- darkfish-rdoc
Task library 'rake/rdoc.rb' failed to load: NameError: uninitialized constant RDOCDIR. Some tasks may not be available.
Task library 'rake/testing.rb' failed to load: NameError: uninitialized constant Spec. Some tasks may not be available.
rm -r coverage
rake clean
(in /Users/alan/linkparser/ext)
rm -r dictionary.o
rm -r linkage.o
rm -r linkparser.o
rm -r parseoptions.o
rm -r sentence.o
rake
(in /Users/alan/linkparser/ext)
gcc  -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common    -Wall -DDEBUG -DHAVE_LINK_GRAMMAR_LINK_INCLUDES_H -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/include -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 -I/Library/Ruby/Site/1.8 -I. -c dictionary.c
gcc  -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common    -Wall -DDEBUG -DHAVE_LINK_GRAMMAR_LINK_INCLUDES_H -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/include -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 -I/Library/Ruby/Site/1.8 -I. -c linkage.c
gcc  -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common    -Wall -DDEBUG -DHAVE_LINK_GRAMMAR_LINK_INCLUDES_H -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/include -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 -I/Library/Ruby/Site/1.8 -I. -c linkparser.c
gcc  -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common    -Wall -DDEBUG -DHAVE_LINK_GRAMMAR_LINK_INCLUDES_H -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/include -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 -I/Library/Ruby/Site/1.8 -I. -c parseoptions.c
gcc  -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common    -Wall -DDEBUG -DHAVE_LINK_GRAMMAR_LINK_INCLUDES_H -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/include -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 -I/Library/Ruby/Site/1.8 -I. -c sentence.c
cc -arch i386 -arch x86_64 -pipe -bundle -undefined dynamic_lookup  -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib  -o linkparser_ext.bundle dictionary.o linkage.o linkparser.o parseoptions.o sentence.o  -lpthread -ldl -llink-grammar -lruby
ld: warning: in /usr/local/lib/liblink-grammar.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
Specification tasks not defined: no such file to load -- spec/rake/spectask
rake aborted!
Don't know how to build task 'rdoc'

How to fix this? Is there any special compiling options I need to specify when I compile link-grammar?

ampli
  • 141
  • 2
  • 7
lkahtz
  • 4,706
  • 8
  • 46
  • 72

1 Answers1

3

It looks like you need to install pkg-config.

I'd recommend installing it by first installing XCode (if you haven't already), then Homebrew (a package manager for OS X), and then running brew install pkg-config in the terminal.

If you already have MacPorts or Fink installed I'm sure you can find the appropriate package in their repositories as well.

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
Andrew Marshall
  • 95,083
  • 20
  • 220
  • 214
  • Thanks. I installed through macport. Then it complains the link-grammar version is too old. Then I downloaded the latest source (4.7.1) and compile it over again. It works~~~ neat!!! – lkahtz Feb 25 '11 at 05:44
  • Sure wish there was an easy way to do this in Windows. I really need linkparser gem, and I wish it didn't depend on pkg-config – Arcolye Sep 12 '11 at 08:43