porting finch to uClinux on blackfin

Bill Fassler bill.fassler at yahoo.com
Wed Aug 29 11:41:17 EDT 2007

I only get to work on this from time to time and I am back.  I think I have progressed to the point that my questions are much more relevant to the development team here.

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"

So, I was initially trying for ELF flat static binary.  However as you can see I set everything to static and yet I still see this:

Build GTK+ 2.x UI............. : no
Build console UI.............. : no

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!)
Build with Cyrus SASL support. : no
Use kerberos 4 with zephyr.... : no
Use external libzephyr........ : no
Has you....................... : yes

Use XScreenSaver Extension.... : no
Use X Session Management...... : no
Use startup notification...... : no
Build with GtkSpell support... : no

Build with plugin support..... : no
Build with Mono support....... : no
Build with Perl support....... : no
Build with Tcl support........ : no
Build with Tk support......... : no

Print debugging messages...... : no
Assertions are fatal.......... : no

Pidgin will be installed in /usr/local/bin.

It looks like it intends on building Pidgin.  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??)
/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include/libintl.h:113:24: warning: "__APPLE_CC__" is not defined
si.c: In function 'jabber_si_xfer_send_request':
si.c:682: warning: format '%u' expects type 'unsigned int', but argument 4 has type 'size_t'
if /bin/bash ../../../libtool --silent --tag=CC --mode=compile bfin-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I. -I../../..  -I../../../libpurple -I../../../libpurple -Wall  -Waggregate-return -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Werror-implicit-function-declaration -Wextra -Wno-sign-compare -Wno-unused-parameter -Winit-self -Wmissing-declarations -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef -Wp,-D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/libxml2   -D__linux__ -DNOMMU -DQT_THREAD_SUPPORT -I/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include  -g -D__linux__ -DNOMMU -DQT_THREAD_SUPPORT -I/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include -MT xdata.lo -MD -MP -MF ".deps/xdata.Tpo" -c -o xdata.lo xdata.c; \
        then mv -f ".deps/xdata.Tpo" ".deps/xdata.Plo"; else rm -f ".deps/xdata.Tpo"; exit 1; fi
In file included from ../../../libpurple/internal.h:45,
                 from xdata.c:21:
/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include/libintl.h:91:25: warning: "__APPLE_CC__" is not defined
/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/staging/usr/include/libintl.h:113:24: warning: "__APPLE_CC__" is not defined
/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?)
collect2: ld returned 1 exit status
make[5]: *** [libjabber.la] Error 1
make[5]: Leaving directory `/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/user/pidgin-2.0.0/libpurple/protocols/jabber'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/user/pidgin-2.0.0/libpurple/protocols'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/user/pidgin-2.0.0/libpurple'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/user/pidgin-2.0.0/libpurple'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/vocal/project/blackfin-svn-branch/elf_flat/uClinux-dist/user/pidgin-2.0.0'
make: *** [all] Error 2

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.


Choose the right car based on your needs.  Check out Yahoo! Autos new Car Finder tool.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://pidgin.im/pipermail/devel/attachments/20070829/42fa1c5e/attachment.html>

More information about the Devel mailing list