Building libpurple (using modern build scripts) failure

Evan Schoenberg, M.D. evan.s at dreskin.net
Thu Nov 5 00:45:35 UTC 2009


After messing with this for quite some time, I found the solution and  
committed it to im.pidgin.adium. When I went to pluck it to  
im.pidgin.pidgin, I discovered it was already fixed there, in  
basically the same way.  Ah well. At least it's fixed :)

-Evan

On Nov 4, 2009, at 12:58 PM, Stephen Holt wrote:

> Yeah, I don't know what happened.  It looks like a bad propagation  
> to im.pidgen.adium, and the head of that branch doesn't build.
>
> `./build --libpurple-rev= 95e1a9a37` (the revision currently in  
> Frameworks) works though.
>
> On Wed, Nov 4, 2009 at 1:52 PM, Evan Schoenberg, M.D.  
> <evan at adium.im> wrote:
> I'm trying to get up to speed on the modern build scripts, which  
> appear to be awesome, so I can dive into some bug hunting on this,  
> my first quiet day off during which I'm caught up on real-world work  
> in a while.  I'm getting a failure when reaching the point at which  
> libpurple itself is built, though.
>
> The output is:
> Configuring libpurple
> ...for x86_64-apple-darwin10
> mv: rename /Users/evands/adium/Dependencies/source/im.pidgin.adium/ 
> libpurple/purple.h to /Users/evands/adium/Dependencies/source/ 
> im.pidgin.adium/libpurple/purple-x86_64.h: No such file or directory
> Building and installing libpurple
>
> purple.h doesn't exist because autogen.sh is failing.  The relevant  
> output from build.log is at the bottom of this email.  Any thoughts?
>
> Thanks,
> Evan
>
> -----
>
> Running command:
> 	/Users/evands/adium/Dependencies/source/im.pidgin.adium/./ 
> autogen.sh --disable-dependency-tracking --disable-gtkui --disable- 
> consoleui --disable-perl --enable-debug --disable-static --enable- 
> shared --enable-cyrus-sasl --prefix=/Users/evands/adium/Dependencies/ 
> build --with-static- 
> prpls 
> = 
> bonjour 
> ,facebook 
> ,gg 
> ,irc,jabber,msn,myspace,novell,oscar,qq,sametime,simple,yahoo,zephyr  
> --disable-plugins --disable-avahi --disable-dbus --enable-gnutls=no  
> --enable-nss=no --enable-vv=yes --disable-idn --host=x86_64-apple- 
> darwin10 --build=x86_64-apple-darwin10
>
> autogenerating build system for 'Pidgin'
> checking for autogen.args: not found.
> checking for glibtoolize... /usr/bin/glibtoolize
> checking for glib-gettextize... /Users/evands/adium/Dependencies/ 
> build/bin/glib-gettextize
> checking for intltoolize... /Users/evands/adium/Dependencies/build/ 
> bin/intltoolize
> checking for sed... /usr/bin/sed
> checking for aclocal... /usr/bin/aclocal
> checking for autoheader... /usr/bin/autoheader
> checking for automake... /usr/bin/automake
> checking for autoconf... /usr/bin/autoconf
> running /usr/bin/glibtoolize -c -f --automake... done.
> running /Users/evands/adium/Dependencies/build/bin/glib-gettextize -- 
> force --copy... done.
> Copying file mkinstalldirs
> Copying file po/Makefile.in.in
>
> Please add the files
>   codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4
>   progtest.m4
> from the /aclocal directory to your autoconf macro directory
> or directly to your aclocal.m4 file.
> You will also need config.guess and config.sub, which you can get from
> ftp://ftp.gnu.org/pub/gnu/config/.
>
> running /Users/evands/adium/Dependencies/build/bin/intltoolize -c -f  
> --automake... done.
> running /usr/bin/sed s:'\^$$lang$$':\^$$lang$$:g-ipo/ 
> Makefile.in.in... failed.
> sed: -i: No such file or directory
> # Makefile for program source directory in GNU NLS utilities package.
> # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper at gnu.ai.mit.edu 
> >
> # Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns at gmail.com>
> #
> # This file may be copied and used freely without restrictions.  It  
> may
> # be used in projects which are not available under a GNU Public  
> License,
> # but which still want to provide support for the GNU gettext  
> functionality.
> #
> # - Modified by Owen Taylor <otaylor at redhat.com> to use  
> GETTEXT_PACKAGE
> #   instead of PACKAGE and to look for po2tbl in ./ not in intl/
> #
> # - Modified by jacob berkman <jacob at ximian.com> to install
> #   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
> #
> # - Modified by Rodney Dawes <dobey.pwns at gmail.com> for use with  
> intltool
> #
> # We have the following line for use by intltoolize:
> # INTLTOOL_MAKEFILE
>
> GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
> PACKAGE = @PACKAGE@
> VERSION = @VERSION@
>
> SHELL = @SHELL@
>
> srcdir = @srcdir@
> top_srcdir = @top_srcdir@
> top_builddir = @top_builddir@
> VPATH = @srcdir@
>
> prefix = @prefix@
> exec_prefix = @exec_prefix@
> datadir = @datadir@
> datarootdir = @datarootdir@
> libdir = @libdir@
> DATADIRNAME = @DATADIRNAME@
> itlocaledir = $(prefix)/$(DATADIRNAME)/locale
> subdir = po
> install_sh = @install_sh@
> # Automake >= 1.8 provides @mkdir_p at .
> # Until it can be supposed, use the safe fallback:
> mkdir_p = $(install_sh) -d
>
> INSTALL = @INSTALL@
> INSTALL_DATA = @INSTALL_DATA@
>
> GMSGFMT = @GMSGFMT@
> MSGFMT = @MSGFMT@
> XGETTEXT = @XGETTEXT@
> INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
> INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
> MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $ 
> (INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
> GENPOT   = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $ 
> (INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
>
> ALL_LINGUAS = @ALL_LINGUAS@
>
> PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $ 
> (srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi)
>
> USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$ 
> (LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if  
> test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n  
> "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang  
> "; fi; done; fi)
>
> USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)";  
> then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)";  
> then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi;  
> fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
>
> POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do  
> printf "$$lang.po "; done)
>
> DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
> EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS
>
> POTFILES = \
> # This comment gets stripped out
>
> CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do  
> printf "$$lang.gmo "; done)
>
> .SUFFIXES:
> .SUFFIXES: .po .pox .gmo .mo .msg .cat
>
> .po.pox:
> 	$(MAKE) $(GETTEXT_PACKAGE).pot
> 	$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
>
> .po.mo:
> 	$(MSGFMT) -o $@ $<
>
> .po.gmo:
> 	file=`echo $* | sed 's,.*/,,'`.gmo \
> 	  && rm -f $$file && $(GMSGFMT) -o $$file $<
>
> .po.cat:
> 	sed -f ../intl/po2msg.sed < $< > $*.msg \
> 	  && rm -f $@ && gencat $@ $*.msg
>
>
> all: all- at USE_NLS@
>
> all-yes: $(CATALOGS)
> all-no:
>
> $(GETTEXT_PACKAGE).pot: $(POTFILES)
> 	$(GENPOT)
>
> install: install-data
> install-data: install-data- at USE_NLS@
> install-data-no: all
> install-data-yes: all
> 	linguas="$(USE_LINGUAS)"; \
> 	for lang in $$linguas; do \
> 	  dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
> 	  $(mkdir_p) $$dir; \
> 	  if test -r $$lang.gmo; then \
> 	    $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
> 	    echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
> 	  else \
> 	    $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$ 
> (GETTEXT_PACKAGE).mo; \
> 	    echo "installing $(srcdir)/$$lang.gmo as" \
> 		 "$$dir/$(GETTEXT_PACKAGE).mo"; \
> 	  fi; \
> 	  if test -r $$lang.gmo.m; then \
> 	    $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
> 	    echo "installing $$lang.gmo.m as $$dir/$ 
> (GETTEXT_PACKAGE).mo.m"; \
> 	  else \
> 	    if test -r $(srcdir)/$$lang.gmo.m ; then \
> 	      $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
> 		$$dir/$(GETTEXT_PACKAGE).mo.m; \
> 	      echo "installing $(srcdir)/$$lang.gmo.m as" \
> 		   "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
> 	    else \
> 	      true; \
> 	    fi; \
> 	  fi; \
> 	done
>
> # Empty stubs to satisfy archaic automake needs
> dvi info tags TAGS ID:
>
> # Define this as empty until I found a useful application.
> install-exec installcheck:
>
> uninstall:
> 	linguas="$(USE_LINGUAS)"; \
> 	for lang in $$linguas; do \
> 	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$ 
> (GETTEXT_PACKAGE).mo; \
> 	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$ 
> (GETTEXT_PACKAGE).mo.m; \
> 	done
>
> check: all $(GETTEXT_PACKAGE).pot
> 	rm -f missing notexist
> 	srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
> 	if [ -r missing -o -r notexist ]; then \
> 	  exit 1; \
> 	fi
>
> mostlyclean:
> 	rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
> 	rm -f .intltool-merge-cache
>
> clean: mostlyclean
>
> distclean: clean
> 	rm -f Makefile Makefile.in POTFILES stamp-it
> 	rm -f *.mo *.msg *.cat *.cat.m *.gmo
>
> maintainer-clean: distclean
> 	@echo "This command is intended for maintainers to use;"
> 	@echo "it deletes files that may require special tools to rebuild."
> 	rm -f Makefile.in.in
>
> distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
> dist distdir: $(DISTFILES)
> 	dists="$(DISTFILES)"; \
> 	extra_dists="$(EXTRA_DISTFILES)"; \
> 	for file in $$extra_dists; do \
> 	  test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
> 	done; \
> 	for file in $$dists; do \
> 	  test -f $$file || file="$(srcdir)/$$file"; \
> 	  ln $$file $(distdir) 2> /dev/null \
> 	    || cp -p $$file $(distdir); \
> 	done
>
> update-po: Makefile
> 	$(MAKE) $(GETTEXT_PACKAGE).pot
> 	tmpdir=`pwd`; \
> 	linguas="$(USE_LINGUAS)"; \
> 	for lang in $$linguas; do \
> 	  echo "$$lang:"; \
> 	  result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
> 	  if $$result; then \
> 	    if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null  
> 2>&1; then \
> 	      rm -f $$tmpdir/$$lang.new.po; \
>             else \
> 	      if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
> 	        :; \
> 	      else \
> 	        echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$ 
> $lang.new.po to $$lang.po" 1>&2; \
> 	        rm -f $$tmpdir/$$lang.new.po; \
> 	        exit 1; \
> 	      fi; \
> 	    fi; \
> 	  else \
> 	    echo "msgmerge for $$lang.gmo failed!"; \
> 	    rm -f $$tmpdir/$$lang.new.po; \
> 	  fi; \
> 	done
>
> Makefile POTFILES: stamp-it
> 	@if test ! -f $@; then \
> 	  rm -f stamp-it; \
> 	  $(MAKE) stamp-it; \
> 	fi
>
> stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
> 	cd $(top_builddir) \
> 	  && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS=  
> CONFIG_LINKS= \
> 	       $(SHELL) ./config.status
>
> # Tell versions [3.59,3.63) of GNU make not to export all variables.
> # Otherwise a system limit (for SysV at least) may be exceeded.
> .NOEXPORT:
>
>
> Running command:
> 	/Users/evands/adium/Dependencies/source/im.pidgin.adium/make -j 2
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20091104/f31addff/attachment-0002.html>


More information about the devel mailing list