compiling gnome 0.27? here is some help.



It took 2 days but I finally got gimp 0.27 compiled. I know this is a
developer release but that was much too difficult. At any rate, here are
my notes and the commands I used to get the whole thing compiled. I hope
this will help others who are having problems compiling this release.

mo dejong
dejong@cs.umn.edu



set BUILD=/tmp/mo
set GNOME=$BUILD/gnome
mkdir $GNOME


#make glib
gunzip -c glib-1.1.2.tar.gz | tar -xvf -
cd glib-1.1.2
./configure --prefix=$GNOME/glib
make
make install
cd $BUILD
setenv PATH $GNOME/glib/bin:$PATH
setenv LD_LIBRARY_PATH $GNOME/glib/lib:$LD_LIBRARY_PATH


#make gtk
gunzip -c gtk+-1.1.1.tar.gz | tar -xvf -
cd gtk+-1.1.1
./configure --prefix=$GNOME/gtk --with-glib-preifx=$GNOME/glib
make
make install
cd $BUILD
setenv PATH $GNOME/gtk/bin:$PATH
setenv LD_LIBRARY_PATH $GNOME/gtk/lib:$LD_LIBRARY_PATH


#make imlib
gunzip -c imlib-1.4.tar.gz | tar -xvf -
cd imlib
./configure --prefix=$GNOME/imlib --with-gtk-prefix=$GNOME/gtk
make
make install
cd $BUILD
setenv PATH $GNOME/imlib/bin:$PATH
setenv LD_LIBRARY_PATH $GNOME/imlib/lib:$LD_LIBRARY_PATH


#make ORBit
gunzip -c ORBit-0.2.tar.gz | tar -xvf -
cd ORBit-0.2
./configure --prefix=$GNOME/orbit
make
make install
cd $BUILD
setenv PATH $GNOME/orbit/bin:$PATH
setenv LD_LIBRARY_PATH $GNOME/orbit/lib:$LD_LIBRARY_PATH



#make gnome-libs
gunzip -c gnome-libs-0.27.tar.gz | tar -xvf -
cd gnome-libs-0.27

#workaround because there is no --with-imlib-prefix option
setenv CFLAGS "-I$GNOME/imlib/include"
setenv LDFLAGS "-L$GNOME/imlib/lib"

./configure --prefix=$GNOME/gnome-libs --with-glib-preifx=$GNOME/glib --with-gtk-prefix=$GNOME/gtk

#workaround because "make gnomesupport.h" is still broken
cd support
make gnomesupport.h
cd ..

make
make install
cd $BUILD
setenv PATH $GNOME/gnome-libs/bin:$PATH
setenv LD_LIBRARY_PATH $GNOME/gnome-libs/lib:$LD_LIBRARY_PATH



#make gnome-objc
gunzip -c gnome-objc-0.27.tar.gz | tar -xvf -
cd gnome-objc-0.27
./configure --prefix=$GNOME/gnome-objc --with-gtk-prefix=$GNOME/gtk --with-gnome=$GNOME/gnome-libs
make
make install
cd $BUILD
setenv LD_LIBRARY_PATH $GNOME/gnome-objc/lib:$LD_LIBRARY_PATH



#make gnome-core
gunzip -c gnome-core-0.27.tar.gz | tar -xvf -
cd gnome-core-0.27

#work around for missing include of intl directory
setenv CFLAGS "-I`pwd`/intl $CFLAGS"

#workaround for desktop-properties/property-screensaver.cc which
#does not use CFLAGS in c++ compiler invocation
setenv CPPFLAGS "$CFLAGS"

./configure --prefix=$GNOME/gnome-core --with-gtk-prefix=$GNOME/gtk --with-gnome=$GNOME/gnome-libs


#apply this patch to po/Makefile (delete lines 79 94 108-109)

***************
*** 79 ****
-       ../applets/winlist/winlist.c \
--- 78 ----
***************
*** 94 ****
-       ../gemvt/getopt.c \
--- 92 ----
***************
*** 108,109 ****
-       ../help-browser/toc-man.c \
-       ../help-browser/toc.c \
--- 105 ----

#workaround for problem with gnome-panel-stubs.c (needs to be regenerated)
rm panel/gnome-panel-stubs.c

#on my system I had to add /usr/lib/libz.so to the end of the link line for
#help-browser/gnome-help-browser so that it found gzopen gzread gzclose

make
make install
cd $BUILD




#make gnome-utils
gunzip -c gnome-utils-0.27.tar.gz | tar -xvf -
cd gnome-utils-0.27
./configure --prefix=$GNOME/gnome-utils --with-gtk-prefix=$GNOME/gtk --with-gnome=$GNOME/gnome-libs

#edit the file po/Makefile to remove these lines
53    ../edit-menus/edit-menus.c
71    ../gncal/clist.c
76    ../gncal/gncal.c
79    ../gncal/objedit.c
87    ../gstripchart/gstripchart.c
106   ../mini-utils/gsu/gsu.c



COMPILER ERROR : linking gdialog/gdialog
checklist.o: In function `dialog_checklist':
checklist.o(.text+0x9b3): undefined reference to `mouse_setbase'
checklist.o(.text+0xe61): undefined reference to `mouse_mkbigregion'

to fix this I added empty definitions of the functions to mouse.c
that would be read if WITH_GPM was not defined like so.

#else /*if WITH_GPM is not defined*/
 
void mouse_open (void) {}; 
void mouse_close (void) {}; 
void mouse_mkregion (int y, int x, int height, int width, int code) {}; 
void mouse_mkbigregion (int y, int x, int height, int width, int nitems, int th, int mode) {}; 
void mouse_setbase (int x, int y) {}; 
int mouse_wgetch (WINDOW * win) {}; 

#endif


#after ALL of that
make
make install
cd $BUILD


#make c++ bindings package for gtk
gunzip -c Gtk---0.9.9.tar.gz | tar -xvf -
cd Gtk---0.9.9
./configure --prefix=$GNOME/gtk-- --with-gtk-prefix=$GNOME/gtk
#it would not compile
cd $BUILD



#make gnome-admin
gunzip -c gnome-admin-0.27.tar.gz | tar -xvf -
cd gnome-admin

#workaround because there is no --with-gnome-objc option
setenv CFLAGS "-I$GNOME/gnome-objc/include $CFLAGS"
setenv LDFLAGS "-L$GNOME/gnome-objc/lib $LDFLAGS"

./configure --prefix=$GNOME/gnome-admin --with-gtk-prefix=$GNOME/gtk --with-gnome=$GNOME/gnome-libs

COMPILER ERROR: gulp/gulp.m
gulp.h:1: obgnome/obgnome.h: No such file or directory

(this is fixed by adding the CFLAGS and LDFLAGS above)


COMPILER ERROR: linking gulp/gulp
gulp.o(.rodata+0x7e0): undefined reference to `__objc_class_name_Gtk_CList'
gulp.o(.rodata+0x7ec): undefined reference to `__objc_class_name_Gtk_Table'
gulp.o(.rodata+0x7f0): undefined reference to `__objc_class_name_Gtk_Label'
gulp.o(.rodata+0x7f4): undefined reference to `__objc_class_name_Gtk_VBox'
gulp.o(.rodata+0x7f8): undefined reference to `__objc_class_name_Gtk_CheckButton'
gulp.o(.rodata+0x7fc): undefined reference to `__objc_class_name_Gtk_Button'

(these errors are fixed by adding -lobgtk to the link line for gulp)

gulp.o(.rodata+0x804): undefined reference to `__objc_class_name_Gnome_App'
gulp.o(.rodata+0x808): undefined reference to `__objc_class_name_Gnome_AppWin'

(these errors are fixed by adding -lobgnome to the link line for gulp)


COMPILER ERROR: gxsnmp/app/ping.c
ping.c: In function `sendping':
ping.c:166: sizeof applied to an incomplete type
ping.c:178: dereferencing pointer to incomplete type
ping.c:179: dereferencing pointer to incomplete type
ping.c:180: dereferencing pointer to incomplete type
ping.c:181: dereferencing pointer to incomplete type
ping.c:182: dereferencing pointer to incomplete type
ping.c:183: dereferencing pointer to incomplete type
ping.c:183: dereferencing pointer to incomplete type
ping.c:185: dereferencing pointer to incomplete type
ping.c: In function `readping':
ping.c:209: warning: passing arg 5 of `recvfrom' from incompatible pointer type
ping.c:217: dereferencing pointer to incomplete type
ping.c:217: dereferencing pointer to incomplete type

(to fix this error apply this patch to ping.c for my linux 2.0.30 system)
***************
*** 48,49 ****
--- 48,50 ----
  
+ #undef HAVE_STRUCT_ICMP
  #ifndef HAVE_STRUCT_ICMP


make
make install
cd $BUILD





#make gnome-graphics
gunzip -c gnome-graphics-0.25.tar.gz | tar -xvf -
./configure --prefix=$GNOME/gnome-graphics --with-gtk-prefix=$GNOME/gtk --with-gnome=$GNOME/gnome-libs

#edit the file po/Makefile to remove this lines
58    ../ghost-gnome/main.c

make
make install
cd $BUILD


#make gnome-media
gunzip -c gnome-media-0.27.tar.gz | tar -xvf -
cd gnome-media-0.27
./configure --prefix=$GNOME/gnome-media --with-gnome=$GNOME/gnome-libs
make
make install
cd $BUILD


#make gnome-games
gunzip -c gnome-games-0.27.tar.gz | tar -xvf -
cd gnome-games-0.27
./configure --prefix=$GNOME/gnome-games --with-gtk-prefix=$GNOME/gtk --with-gnome=$GNOME/gnome-libs
make
make install
cd $BUILD



#install midnight commander
gunzip -c mc-4.1.35.tar.gz | tar -xvf -
cd mc-4.1.35
./configure --prefix=$GNOME/mc --with-gnome=$GNOME/gnome-libs
make


COMPILER ERROR: linking src/mc
dir.o: In function `sort_type_to_name':
dir.o(.text+0x1f10): undefined reference to `_nl_msg_cat_cntr'
dir.o(.text+0x1f3a): undefined reference to `dcgettext__'
...

(fix these errors by adding ../intl/*.o directly to the link line)

(you will also get the same errors when linking gnome/gmc so
just add the same ../intl/*.o to the compiler link line)

make install
cd $BUILD



#whew that sucked!



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]