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@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