Page 1 of 1

Problem building graphserver

Posted: Sun Mar 23, 2008 8:56 am
by Ollie Saunders
I've been trying to build this thing graphserver (Graphserver - Fine Open Source Itineraries) but I'm getting a build error on Mac OS X 1.4.11.

I've tried using subversion and 0.5 release, both report the same problem.

Code: Select all

 
$ sudo ruby install.rb build
Password:
checking for main() in -liberty... yes
creating Makefile
fibheap.c:34:23: error: libiberty.h: No such file or directory
make: *** [fibheap.o] Error 1
/usr/bin/gcc-4.0 -I. -I. -I/opt/local/lib/ruby/1.8/i686-darwin8.11.1 -I. -I/opt/local/include -fno-common -O2  -fno-common -pipe -fno-common  -c fibheap.c
 
Graphserver seems to depend on this library libiberty which I don't have.
I've used MacPorts to install these packages:
- gcc42
- ruby
- binutils
- mipsel-linux-binutils
- mipsel-linux-gcc34
- mipsel-linux-kernel-headers
- mipsel-linux-uclib-headers

Ruby is obviously essential and binutils got past an earlier error but I'm still missing this libiberty library. I wonder if gcc42 isn't actually being used/referenced at build time.

Can anyone offer any advise?

I enclose the Makefile

Code: Select all

 
SHELL = /bin/sh
 
#### Start of system configuration section. ####
 
srcdir = .
topdir = /opt/local/lib/ruby/1.8/i686-darwin8.11.1
hdrdir = $(topdir)
VPATH = $(srcdir):$(topdir):$(hdrdir)
prefix = $(DESTDIR)/opt/local
exec_prefix = $(prefix)
sitedir = $(prefix)/lib/ruby/site_ruby
rubylibdir = $(libdir)/ruby/$(ruby_version)
archdir = $(rubylibdir)/$(arch)
sbindir = $(exec_prefix)/sbin
vendordir = $(prefix)/lib/ruby/vendor_ruby
datadir = $(prefix)/share
includedir = $(prefix)/include
infodir = $(prefix)/info
sysconfdir = $(prefix)/etc
mandir = $(DESTDIR)/opt/local/share/man
libdir = $(exec_prefix)/lib
sharedstatedir = $(prefix)/com
oldincludedir = $(DESTDIR)/usr/include
sitearchdir = $(sitelibdir)/$(sitearch)
vendorarchdir = $(vendorlibdir)/$(vendorarch)
bindir = $(exec_prefix)/bin
localstatedir = $(prefix)/var
vendorlibdir = $(vendordir)/$(ruby_version)
sitelibdir = $(sitedir)/$(ruby_version)
libexecdir = $(exec_prefix)/libexec
 
CC = /usr/bin/gcc-4.0
LIBRUBY = $(LIBRUBY_SO)
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
 
RUBY_EXTCONF_H = 
CFLAGS   =  -fno-common -O2  -fno-common -pipe -fno-common 
INCFLAGS = -I. -I. -I/opt/local/lib/ruby/1.8/i686-darwin8.11.1 -I.
CPPFLAGS =  -I/opt/local/include
CXXFLAGS = $(CFLAGS) 
DLDFLAGS = -L. -L/opt/local/lib  
LDSHARED = cc -dynamic -bundle -undefined suppress -flat_namespace
AR = ar
EXEEXT = 
 
RUBY_INSTALL_NAME = ruby
RUBY_SO_NAME = ruby
arch = i686-darwin8.11.1
sitearch = i686-darwin8.11.1
vendorarch = i686-darwin8.11.1
ruby_version = 1.8
ruby = /opt/local/bin/ruby
RUBY = $(ruby)
RM = rm -f
MAKEDIRS = mkdir -p
INSTALL = /usr/bin/install
INSTALL_PROG = $(INSTALL) -m 0755
INSTALL_DATA = $(INSTALL) -m 644
COPY = cp
 
#### End of system configuration section. ####
 
preload = 
 
libpath = . $(libdir)
LIBPATH =  -L"." -L"$(libdir)"
DEFFILE = 
 
CLEANFILES = mkmf.log
DISTCLEANFILES = 
 
extout = 
extout_prefix = 
target_prefix = 
LOCAL_LIBS = 
LIBS = $(LIBRUBYARG_SHARED) -liberty  -lpthread -ldl -lobjc  
SRCS = dirfibheap.c edgetypes.c  fibheap.c graph.c hashtable.c hashtable_gs.c hashtable_itr.c hashtable_utility.c  ruby_wrap.c statetypes.c
OBJS = dirfibheap.o edgetypes.o  fibheap.o graph.o hashtable.o hashtable_gs.o hashtable_itr.o hashtable_utility.o  ruby_wrap.o statetypes.o
TARGET = graph_core
DLLIB = $(TARGET).bundle
EXTSTATIC = 
STATIC_LIB = 
 
RUBYCOMMONDIR = $(sitedir)$(target_prefix)
RUBYLIBDIR    = $(sitelibdir)$(target_prefix)
RUBYARCHDIR   = $(sitearchdir)$(target_prefix)
 
TARGET_SO     = $(DLLIB)
CLEANLIBS     = $(TARGET).bundle $(TARGET).il? $(TARGET).tds $(TARGET).map
CLEANOBJS     = *.o *.a *.s[ol] *.pdb *.exp *.bak
 
all:        $(DLLIB)
static:     $(STATIC_LIB)
 
clean:
        @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
 
distclean:  clean
        @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
        @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
 
realclean:  distclean
install: install-so install-rb
 
install-so: $(RUBYARCHDIR)
install-so: $(RUBYARCHDIR)/$(DLLIB)
$(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
    $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
install-rb: pre-install-rb install-rb-default
install-rb-default: pre-install-rb-default
pre-install-rb: Makefile
pre-install-rb-default: Makefile
$(RUBYARCHDIR):
    $(MAKEDIRS) $@
 
site-install: site-install-so site-install-rb
site-install-so: install-so
site-install-rb: install-rb
 
.SUFFIXES: .c .m .cc .cxx .cpp .C .o
 
.cc.o:
    $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
 
.cxx.o:
    $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
 
.cpp.o:
    $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
 
.C.o:
    $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
 
.c.o:
    $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
 
$(DLLIB): $(OBJS)
    @-$(RM) $@
    $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
 
 
 
$(OBJS): ruby.h defines.h
 
me_a_sandwich:
    echo okay
 

Re: Problem building graphserver

Posted: Sun Mar 23, 2008 8:12 pm
by anto91
Use the command "locate" to find it

My guess is thats its in a subfolder of /usr/include/ if thats the case then just create a symbolic link using ln -s

Re: Problem building graphserver

Posted: Mon Mar 24, 2008 3:05 pm
by Ollie Saunders
I didn't know about that command. Thanks for that. But I was really missing the file - http://discussions.apple.com/thread.jsp ... 73#6902473 solved it for me.