[Geany] Unable to compile svn > r1687 - /usr/bin/ld: cannot find -lCrun

Nick Treleaven nick.treleaven at xxxxx
Mon Jul 16 11:12:21 UTC 2007


On 07/16/2007 10:25:21 AM, Enrico Tröger wrote:
> On Mon, 16 Jul 2007 9:47:15 +0200, Harold Aling <h.aling at home.nl>
> wrote:
> 
> Hi,
> 
> > I can't seem to compile the latest svn revisions of Geany. The last
> > one I could compile was r1687.
> >
> > The error:
> > /bin/sh ../libtool --silent --mode=link i486-linux-gnu-gcc  -g
> > -DGEANY_DEBUG -Wall -g -O2 -Wl,-z,defs -o geany  about.o build.o
> > callbacks.o dialogs.o document.o editor.o encodings.o filetypes.o
> > highlighting.o interface.o keybindings.o keyfile.o main.o
> msgwindow.o
> > navqueue.o notebook.o plugins.o prefs.o project.o sciwrappers.o
> > search.o socket.o support.o symbols.o templates.o tools.o
> treeviews.o
> > ui_utils.o utils.o
> > vte.o ../scintilla/libscintilla.a ../tagmanager/libtagmanager.a
> > -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm
> > -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi
> > -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0
> > -lgmodule-2.0 -ldl -lglib-2.0   -lCrun /usr/bin/ld: cannot find
> > -lCrun collect2: ld returned 1 exit status make[3]: *** [geany]
> Error
> > 1 make[3]: Leaving directory
> > `/home/harold/svn/geany-0.12-svn1702/src' make[2]: ***
> > [all-recursive] Error 1 make[2]: Leaving directory
> > `/home/harold/svn/geany-0.12-svn1702' make[1]: ***
> [all-recursive-am]
> > Error 2 make[1]: Leaving directory
> > `/home/harold/svn/geany-0.12-svn1702' make: *** [build-stamp] Error
> 2
> >
> >
> > My bad or buggy?
> Maybe buggy.
> Did you (or the autotools) run autoconf after updating to SVN >=
> r1689?
> Just to get sure: run autogen.sh in the Geany source directory. If the
> build still fails after it, it is most probably a bug.
> 
I don't like the way IS_COMPILER_GCC is used in the build system.

 From configure.in:
AM_CONDITIONAL(IS_COMPILER_GCC,test x$CC = xgcc)

In src/Makefile.am:
if IS_COMPILER_GCC
     geany_LDADD = ../scintilla/libscintilla.a  
../tagmanager/libtagmanager.a @GTK_LIBS@ -lstdc++ $(INTLLIBS)
else
     geany_LDADD = ../scintilla/libscintilla.a  
../tagmanager/libtagmanager.a @GTK_LIBS@ -lCrun $(INTLLIBS)
endif

This assumes every $CC variable not called gcc should be compiled with  
Solaris compiler flags. I think we should do the opposite - everything  
that isn't the solaris compiler should get compiled with gcc flags.

$CC might be defined as 'cc', which can be symlinked to gcc. Or the  
user might pass something else like CC=i386-redhat-linux-gcc.

I don't have access to the solaris compiler so I can't test any changes  
myself. IMO gcc should be used on Solaris (assuming this is possible).

Regards,
Nick



More information about the Users mailing list