porting finch to uClinux on blackfin

Bill Fassler bill.fassler at yahoo.com
Wed Aug 29 13:01:15 EDT 2007

Ok, I understand the APPLE_CC problem and fixed it. Here is a listing of my includes and libraries in my staging area.  Does finch use the *.la files?  I found a problem in them and cleaned them up, but still get the same problems.

Do you see dependencies I am missing to build finch?

vocal at Grumpy:~/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include$ ls
cursesapp.h  cursesm.h  cursslk.h  form.h    jconfig.h   jpeglib.h     libintl.h~      ncurses_dll.h  termcap.h  zconf.h
cursesf.h    cursesp.h  eti.h      glib-2.0  jerror.h    libcharset.h  localcharset.h  ncurses.h      term.h     zlib.h
curses.h     cursesw.h  etip.h     iconv.h   jmorecfg.h  libintl.h     menu.h          panel.h        unctrl.h
vocal at Grumpy:~/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include$ ls ../lib
glib-2.0             libglib-2.0.a            libgmodule-2.0.so.0         libgthread-2.0.la~          libintl.a         libncurses++.a
libcharset.a         libglib-2.0.la           libgmodule-2.0.so.0.1304.0  libgthread-2.0.so           libintl.la        libncurses_g.a
libcharset.la        libglib-2.0.la~          libgobject-2.0.a            libgthread-2.0.so.0         libintl.la~       libpanel.a
libcharset.la~       libglib-2.0.so           libgobject-2.0.la           libgthread-2.0.so.0.1304.0  libintl.so        libpanel_g.a
libcharset.so        libglib-2.0.so.0         libgobject-2.0.la~          libiconv.a                  libintl.so.8      libz.a
libcharset.so.1      libglib-2.0.so.0.1304.0  libgobject-2.0.so           libiconv.la                 libintl.so.8.0.1  pkgconfig
libcharset.so.1.0.0  libgmodule-2.0.a         libgobject-2.0.so.0         libiconv.la~                libjpeg.a         preloadable_libiconv.so
libcurses.a          libgmodule-2.0.la        libgobject-2.0.so.0.1304.0  libiconv.so                 libmenu.a         terminfo
libform.a            libgmodule-2.0.la~       libgthread-2.0.a            libiconv.so.2               libmenu_g.a
libform_g.a          libgmodule-2.0.so        libgthread-2.0.la           libiconv.so.2.4.0           libncurses.a

Joshua Blanton <jblanton at masaka.cs.ohiou.edu> wrote: Bill Fassler wrote:
> I found no specific directions on how to build Finch ONLY anywhere
> on the site or in the readme files within the source.  If any such
> directions exist could you point me to them? How do I build Finch
> and avoid building the stuff I don't want or need?
> I only want Finch (at least to start) but the finch directory does
> not have a configure script so I must configure things at the
> higher Pidgin level.  I am still a little uncertain whether my
> configure options are the best or even appropriate, but here is
> what I am currently trying:
> ./configure --disable-dbus --disable-gtkui --with-build-cc=gcc --host=bfin-linux-uclibc --disable-pcre --disable-plugins --enable-static=gg --enable-static=irc --enable-static=jabber --enable-static=msn --enable-static=novell --enable-static=oscar --enable-static=qq --enable-static=simple --enable-static=yahoo --
> enable-static=zephyr --enable-nss=no --enable-gnutls=yes  --with-screen=ncurses --with-ncurses-headers=/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/lib/ncurses/include LDFLAGS="-L/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/lib" CFLAGS="-D__linux__ -DNOMMU -DQT_THREAD_SUPPORT -I/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include" CXXFLAGS="-D__linux__ -DNOMMU -DQT_THREAD_SUPPORT -I/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include" CPPFLAGS="-D__linux__ -DNOMMU -DQT_THREAD_SUPPORT -I/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include"

the --disable-gtkui flag says to only build finch (since finch is
enabled by default, if the prerequisites are met).

> Build GTK+ 2.x UI............. : no
> Build console UI.............. : no
  ^-- note that this line is Not Good - ./configure didn't detect
  sufficient dependencies to build finch.  You're only building
  libpurple at this point.
> Protocols to build dynamically : gg irc jabber msn novell oscar qq simple yahoo zephyr
> Protocols to link statically.. :
> Build with GStreamer support.. : yes
> Build with D-Bus support...... : no
> Build with NetworkManager..... : no
> SSL Library/Libraries......... : None (MSN and Google Talk will not work without SSL!)

> Pidgin will be installed in /usr/local/bin.
> It looks like it intends on building Pidgin.

Not really.  That's just what the configure script is hardcoded to
say...  The above output tells you what it's *really* building
(which is !GTK UI, !console UI -> just libpurple).

> Also it fails on the make here:

> /home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include/libintl.h:91:25: warning: "__APPLE_CC__" is not defined (what's this all about??)

Good question - look at libintl.h and see why it's trying to use
__APPLE_CC__.  :-)  That's not part of pidgin/libpurple.

> /bin/bash ../../../libtool --silent --tag=CC --mode=link bfin-linux-uclibc-gcc  -g -D__linux__ -DNOMMU -DQT_THREAD_SUPPORT -I/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include  -L/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/lib -o libjabber.la -rpath /usr/local/lib/purple-2  auth.lo buddy.lo chat.lo disco.lo google.lo iq.lo jabber.lo jutil.lo message.lo oob.lo parser.lo presence.lo roster.lo si.lo xdata.lo -Wl,--export-dynamic -pthread -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0    -lxml2   -lnsl -lresolv 
> /home/vocal/project/blackfin-svn-branch/opt/uClinux/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.1.1/../../../../bfin-linux-uclibc/bin/ld: cannot find -lxml2 (who needs this Pidgin or Finch?)

Libpurple needs it, so it's required for finch or pidgin (or both).  :-)

> As always, any tidbit of knowledge would be appreciated here.  I
> don't want to give up on this because I think Pidgin/Finch is
> about the best opensource IM around.  I am sure I could find a
> different IM that is much easier to port/cross-compile to an
> embedded project.... but I want the best.

Good luck,

Ready for the edge of your seat? Check out tonight's top picks on Yahoo! TV. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://pidgin.im/pipermail/devel/attachments/20070829/17ad8e54/attachment.html>

More information about the Devel mailing list