serious bug in glib installation!



I just discovered a serious installation bug with libglib 1.2.0 CVS as
of sometime today.  I am compiling on a Sparc which is big endian, as
opposed to the little endian that I am sure glib is developed on.  It
was this difference in endianness that led me to find the bug.

Additionally, I build in an object directory that is not the same as
$(srcdir).  This is also required to exhibit the bug.

In the Makefile for glib, in the object directory, there is an
"installation" rule for glibconfig.h which looks like this (please
excuse the line wrapping):

install-configincludeDATA: $(configinclude_DATA)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(configincludedir)
        @list='$(configinclude_DATA)'; for p in $$list; do \
          if test -f $(srcdir)/$$p; then \
            echo " $(INSTALL_DATA) $(srcdir)/$$p
$(DESTDIR)$(configincludedir)/$$p"; \
            $(INSTALL_DATA) $(srcdir)/$$p
$(DESTDIR)$(configincludedir)/$$p; \
          else if test -f $$p; then \
            echo " $(INSTALL_DATA) $$p
$(DESTDIR)$(configincludedir)/$$p"; \
            $(INSTALL_DATA) $$p $(DESTDIR)$(configincludedir)/$$p; \
          fi; fi; \
        done

which essentially results in the following being run to install
glibconfig.h (again, please excuse the line wrapping):

/bin/sh /local/src/exp/gnome/glib/mkinstalldirs /usr/local/bin
 /local/src/exp/gnome/glib/install-sh -c  glib-config
/usr/local/bin/glib-config
/bin/sh /local/src/exp/gnome/glib/mkinstalldirs
/usr/local/lib/glib/include
 /local/src/exp/gnome/glib/install-sh -c -m 644
/local/src/exp/gnome/glib/glibconfig.h /usr/local/lib/glib/include/
glibconfig.h

The problem is that the glibconfig.h for my build is not in
/local/src/exp/gnome/glib/ but rather
/local/src/exp/gnome/glib/solaris-2.6-sparc.  I am getting the wrong
copy of glib installed.  The reason this is bunging up is because of
this:

$(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(configincludedir)/$$p;

the source of the file should not be $(srcdir)/$$p, but rather ./$$p.

Unfortunately being quite "automake"-iliterate I am not sure where to go
to fix this.

Ideas?

b.



--
Brian J. Murrell                              InterLinx Support Services, Inc.
North Vancouver, B.C.                                             604 983 UNIX
        Platform and Brand Independent UNIX Support - R3.2 - R4 - BSD



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