Thanks....I'm getting there.  Now it's:<br><br># gcc `pkg-config --libs glib-2.0` -I /usr/include/libpurple/ -I /usr/include/glib-2.0/ -I /usr/lib/glib-2.0/include/ nullclient.c <br>/tmp/ccBPvTts.o: In function `null_write_conv':
<br>nullclient.c:(.text+0x16e): undefined reference to `purple_utf8_strftime'<br>nullclient.c:(.text+0x17b): undefined reference to `purple_conversation_get_name'<br>/tmp/ccBPvTts.o: In function `null_ui_init':
<br>nullclient.c:(.text+0x1b7): undefined reference to `purple_conversations_set_ui_ops'<br>/tmp/ccBPvTts.o: In function `init_libpurple':<br>nullclient.c:(.text+0x1cb): undefined reference to `purple_util_set_user_dir'
<br>nullclient.c:(.text+0x1d7): undefined reference to `purple_debug_set_enabled'<br>nullclient.c:(.text+0x1e3): undefined reference to `purple_core_set_ui_ops'<br>nullclient.c:(.text+0x1ef): undefined reference to `purple_eventloop_set_ui_ops'
<br>nullclient.c:(.text+0x1fb): undefined reference to `purple_plugins_add_search_path'<br>nullclient.c:(.text+0x207): undefined reference to `purple_core_init'<br>nullclient.c:(.text+0x23a): undefined reference to `purple_blist_new'
<br>nullclient.c:(.text+0x242): undefined reference to `purple_set_blist'<br>nullclient.c:(.text+0x247): undefined reference to `purple_blist_load'<br>nullclient.c:(.text+0x24c): undefined reference to `purple_prefs_load'
<br>nullclient.c:(.text+0x258): undefined reference to `purple_plugins_load_saved'<br>nullclient.c:(.text+0x25d): undefined reference to `purple_pounces_load'<br>/tmp/ccBPvTts.o: In function `signed_on':<br>nullclient.c:
(.text+0x270): undefined reference to `purple_connection_get_account'<br>/tmp/ccBPvTts.o: In function `connect_to_signals_for_demonstration_purposes_only':<br>nullclient.c:(.text+0x2a5): undefined reference to `purple_connections_get_handle'
<br>nullclient.c:(.text+0x2c9): undefined reference to `purple_signal_connect'<br>/tmp/ccBPvTts.o: In function `main':<br>nullclient.c:(.text+0x318): undefined reference to `purple_plugins_get_protocols'<br>nullclient.c:
(.text+0x465): undefined reference to `purple_account_new'<br>nullclient.c:(.text+0x489): undefined reference to `purple_account_set_password'<br>nullclient.c:(.text+0x4a4): undefined reference to `purple_account_set_enabled'
<br>nullclient.c:(.text+0x4b8): undefined reference to `purple_savedstatus_new'<br>nullclient.c:(.text+0x4c6): undefined reference to `purple_savedstatus_activate'<br>collect2: ld returned 1 exit status<br><br><br>
<div><span class="gmail_quote">On 5/18/07, <b class="gmail_sendername">Mark Doliner</b> <<a href="mailto:mark@kingant.net">mark@kingant.net</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Looks like you need to link against glib (not just include the headers).  Try<br>adding `pkg-config --libs glib-2.0` to your compile line.<br><br>-Mark<br><br>On Fri, 18 May 2007 12:08:56 -0400, Greg Chagnon wrote<br>> Sure can...
<br>><br>> # gcc -I /usr/include/libpurple/ -I /usr/include/glib-2.0/ -I /usr/lib/glib-<br>> 2.0/include/ nullclient.c<br>> /tmp/ccWmk8Ch.o: In function `purple_glib_io_destroy':<br>> nullclient.c:(.text+0xd): undefined reference to `g_free'
<br>> /tmp/ccWmk8Ch.o: In function `purple_glib_io_invoke':<br>> nullclient.c:(.text+0x4f): undefined reference to `g_io_channel_unix_get_fd'<br>> /tmp/ccWmk8Ch.o: In function `glib_input_add':<br>> 
nullclient.c:(.text+0x84): undefined reference to `g_malloc0'<br>> nullclient.c:(.text+0xc6): undefined reference to `g_io_channel_unix_new'<br>> nullclient.c:(.text+0xfa): undefined reference to `g_io_add_watch_full'
<br>> nullclient.c:(.text+0x10d): undefined reference to `g_io_channel_unref'<br>> /tmp/ccWmk8Ch.o: In function `null_write_conv':<br>> nullclient.c:(.text+0x16e): undefined reference to `purple_utf8_strftime'
<br>> nullclient.c:(.text+0x17b): undefined reference to<br>> `purple_conversation_get_name'<br>> /tmp/ccWmk8Ch.o: In function `null_ui_init':<br>> nullclient.c:(.text+0x1b7): undefined reference to<br>
> `purple_conversations_set_ui_ops'<br>> /tmp/ccWmk8Ch.o: In function `init_libpurple':<br>> nullclient.c:(.text+0x1cb): undefined reference to<br>> `purple_util_set_user_dir'<br>> nullclient.c:
(.text+0x1d7): undefined reference to<br>> `purple_debug_set_enabled'<br>> nullclient.c:(.text+0x1e3): undefined reference to `purple_core_set_ui_ops'<br>> nullclient.c:(.text+0x1ef): undefined reference to
<br>> `purple_eventloop_set_ui_ops'<br>> nullclient.c:(.text+0x1fb): undefined reference to<br>> `purple_plugins_add_search_path'<br>> nullclient.c:(.text+0x207): undefined reference to `purple_core_init'
<br>> nullclient.c:(.text+0x23a): undefined reference to `purple_blist_new'<br>> nullclient.c:(.text+0x242): undefined reference to `purple_set_blist'<br>> nullclient.c:(.text+0x247): undefined reference to
<br>> `purple_blist_load' nullclient.c:(.text+0x24c): undefined reference<br>> to `purple_prefs_load' nullclient.c:(.text+0x258): undefined<br>> reference to `purple_plugins_load_saved' nullclient.c:(.text+0x25d):
<br>> undefined reference to `purple_pounces_load' /tmp/ccWmk8Ch.o: In<br>> function `signed_on': nullclient.c:(.text+0x270): undefined<br>> reference to `purple_connection_get_account' /tmp/ccWmk8Ch.o: In function
<br>> `connect_to_signals_for_demonstration_purposes_only':<br>> nullclient.c:(.text+0x2a5): undefined reference to<br>> `purple_connections_get_handle'<br>> nullclient.c:(.text+0x2c9): undefined reference to `purple_signal_connect'
<br>> /tmp/ccWmk8Ch.o: In function `main':<br>> nullclient.c:(.text+0x2ff): undefined reference to `g_main_loop_new'<br>> nullclient.c:(.text+0x318): undefined reference to<br>> `purple_plugins_get_protocols'
<br>> nullclient.c:(.text+0x37b): undefined reference to `g_list_append'<br>> nullclient.c:(.text+0x3f1): undefined reference to `g_list_nth_data'<br>> nullclient.c:(.text+0x465): undefined reference to `purple_account_new'
<br>> nullclient.c:(.text+0x489): undefined reference to<br>> `purple_account_set_password'<br>> nullclient.c:(.text+0x4a4): undefined reference to<br>> `purple_account_set_enabled'<br>> nullclient.c:
(.text+0x4b8): undefined reference to `purple_savedstatus_new'<br>> nullclient.c:(.text+0x4c6): undefined reference to<br>> `purple_savedstatus_activate'<br>> nullclient.c:(.text+0x4d6): undefined reference to `g_main_loop_run'
<br>> /tmp/ccWmk8Ch.o:(.data+0x0): undefined reference to `g_timeout_add'<br>> /tmp/ccWmk8Ch.o:(.data+0x4): undefined reference to `g_source_remove'<br>> /tmp/ccWmk8Ch.o:(.data+0xc): undefined reference to `g_source_remove'
<br>> collect2: ld returned 1 exit status<br>><br>> On 5/18/07, Mark Doliner <<a href="mailto:mark@kingant.net">mark@kingant.net</a>> wrote:<br>> ><br>> > Quite possibly.  Are you getting an error message or something?  If so,
<br>> > could<br>> > we see it?<br>> ><br>> > -Mark<br>> ><br>> > On Fri, 18 May 2007 09:02:39 -0400, Greg Chagnon wrote<br>> > > OK, so I have nullclient.c and defines.h, but when I compile I seem
<br>> > > to be missing some libs.  I have libpuple, libpurple-devel, libtk,<br>> > > libtcl, and glib-devel installed.  Anything else that I'm missing?<br>> > ><br>> > > On 5/17/07, Sadrul Habib Chowdhury <
<a href="mailto:imadil@gmail.com">imadil@gmail.com</a>> wrote:<br>> > > ><br>> > > > * Greg Chagnon had this to say on [17 May 2007, 16:28:18 -0400]:<br>> > > > > Hi All,<br>> > > > > I'm new to this list and libpurple but wanted to ask a rather open
<br>> > ended<br>> > > > > question.  I'd like to write a very basic command line IM<br>> > client.  The<br>> > > > only<br>> > > > > functionality it would have to have is to connect to a server, send
<br>> > an<br>> > > > IM,<br>> > > > > and be able to receive an IM and verify its message against what was<br>> > > > sent.<br>> > > > > At a later date I'd add in conferencing and file transfer.  So I'm
<br>> > > > asking<br>> > > > > for anything that could get me started on writing a client in<br>> > C++.  I<br>> > > > tend<br>> > > > > to work best by seeing examples.
<br>> > > > ><br>> > > ><br>> > > > There is a nullclient in libpurple/example/ that allows you to create<br>> > > > and connect to one IM service of your choice and receive messages. It
<br>> > > > was meant to be a really simple client, and adding the ability to send<br>> > > > messages would've made it rather complicated for a 'Hello world'<br>> > client.<br>> > > > (
<br>> > > ><br>> ><br>> ><br><a href="http://developer.pidgin.im/viewmtn/revision/file/e39b5117f8df79ccfe2f383c3b0bbe8f33566991/libpurple/example/nullclient.c">http://developer.pidgin.im/viewmtn/revision/file/e39b5117f8df79ccfe2f383c3b0bbe8f33566991/libpurple/example/nullclient.c
</a><br>> > > > )<br>> > > ><br>> > > > There are some development FAQs for client/plugin authors in<br>> > > > <a href="http://d.pidgin.im/wiki/Development%20FAQ">http://d.pidgin.im/wiki/Development%20FAQ
</a>, which you may find useful.<br>> > > > You should also look at <a href="http://d.pidgin.im/wiki/WhatIsLibpurple">http://d.pidgin.im/wiki/WhatIsLibpurple</a>. We<br>> > will<br>> > > > be glad to answer any farther questions you may have.
<br>> > > ><br>> > > > Sadrul<br>> > > ><br>> > > > > The reasons I'm doing this is, first, to test a part of a network<br>> > > > appliance<br>> > > > > in an automated fashion.  And second, I'm seeing a lot of "How do I
<br>> > get<br>> > > > > started" messages being posted.  So I'd also like to document my<br>> > > > experience<br>> > > > > and the steps that I take to write this client so that others can
<br>> > > > benefit<br>> > > > > from it.<br>> > > > ><br>> > > > > Any and all information that you all could point me to would be<br>> > *very*<br>> > > > > helpful!
<br>> > > > ><br>> > > > > Thanks,<br>> > > > > g<br>> ><br>> ><br><br></blockquote></div><br>