Reply
Thread Tools
Posts: 22 | Thanked: 3 times | Joined on Jan 2010 @ India
#1
Hi
I am new to Maemo.
I need to develop an application using telepathy-glib.
I have studied one example application.
When I tried to build it ,the following errors have been displayed.

telepathy-glib/connection-manager.h: No such file or directory
src/main.c:4:34: error: telepathy-glib/debug.h: No such file or directory
I am using maemo 5 software development kit.

How can I solve this issue?

Thanks
Remya
 
Posts: 432 | Thanked: 645 times | Joined on Mar 2009
#2
Hi,

which example are you using, do you have the link? Have you installed libtelepathy-glib-dev? You can do that with:

Code:
apt-get install libtelepathy-glib-dev
inside scratchbox. How do compile it?

Daniel
 
Posts: 22 | Thanked: 3 times | Joined on Jan 2010 @ India
#3
Originally Posted by danielwilms View Post
Hi,

which example are you using, do you have the link? Have you installed libtelepathy-glib-dev? You can do that with:

Code:
apt-get install libtelepathy-glib-dev
inside scratchbox. How do compile it?

Daniel

Hi,
Very thanks for your reply.

Here is the link of example code
http://people.collabora.co.uk/~danni...example.c.html

I have installed libtelepathy-glib-dev.
Application compiling using esbox ide.

How can I solve this?
Thanks
Remyag
 
Posts: 432 | Thanked: 645 times | Joined on Mar 2009
#4
Ok, try to compile it like this:

Code:
gcc example.c `pkg-config --cflags --libs telepathy-glib`
Daniel
 
Posts: 22 | Thanked: 3 times | Joined on Jan 2010 @ India
#5
Originally Posted by danielwilms View Post
Ok, try to compile it like this:

Code:
gcc example.c `pkg-config --cflags --libs telepathy-glib`
Daniel
Hi,

I have tried gcc compiler.It works fine.
I f I try to compile this code in Esbox ,it shows

telepathy-glib/connection-manager.h: No such file or directory
How can I link telepathy library with the project in Esbox ide.

Thanks
Remyag
 
Posts: 22 | Thanked: 3 times | Joined on Jan 2010 @ India
#6
Hi,

Can I set telepathy package in configure.ac .
If it possible How?.

Please help me.

Thanks
Remya.
 
Posts: 5 | Thanked: 2 times | Joined on Feb 2010
#7
I am having the same issue here. Where in the ESBox can i add the include path?
 
Posts: 22 | Thanked: 3 times | Joined on Jan 2010 @ India
#8
Hi,
I was able to solve this error.
telepathy-glib/connection-manager.h: No such file or directory
by modifying 2 line in Makefile
that is

OSSO_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/dbus-1.0/include -I/usr/include/telepathy-1.0
OSSO_LIBS = -losso -ldbus-glib-1 -ldbus-1 -lpthread -lgobject-2.0 -lglib-2.0 -ltelepathy-glib
Is this the correct way?

Thanks
Remya
 
Posts: 432 | Thanked: 645 times | Joined on Mar 2009
#9
Originally Posted by remyag View Post
Hi,
I was able to solve this error.

Is this the correct way?
Yes you can do it like this. found some statement about the problem. You could try this as well:

On a Windows or Mac OS X host, the C/C++ indexer will not be able to find any system header files in your projects unless, before project creation, you have set up Shared folders under ESbox > Build Machines > Shared Folders that map a path from /scratchbox or /home/maemo in the virtual machine to a shared drive or mount on your host. This will allow ESbox to provide indexer settings that will fetch the files from the shared folder. (There's no other way to do this at the moment, such as replicating /usr/include on your host, unless you manually edit the C/C++ Include Paths and Symbols settings.)
Maybe that helps everyone, who runs into the same issue.

Daniel
 
Posts: 5 | Thanked: 2 times | Joined on Feb 2010
#10
I just figured out how to add the head files and link libs in ESBox in a "correct" way. This requires a good understanding of Autoconf and Automake toolchains in Linux. Google it and you will find the long story.

I will use an example of inlcudeing gstreamer-0.10 libs and head files and assume that we are in Linux OS.

1. Login to Scrtachbox.

2. type pkg-config --cflags gstreamer-0.10 (This checks if the gstreamer head files are installed)

3. pkg-config --libs gstreamer-0.10 (This checks if the gstreamer libs are installed)

4. Go to the project in ESBox and open configure.ac and create an entry
PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10 >= 0.10 gstreamer-interfaces-0.10 >= 0.10)
AC_SUBST(GSTREAMER_CFLAGS)
AC_SUBST(GSTREAMER_LIBS)

5. open makefile.am and include the newly created CFLAGS and LIBS in Makefile.am as such:
INCLUDES = $(GSTREAMER_CFLAGS) $(some_other_cflags)
camera_LDADD = \
$(GSTREAMER_LIBS) $(some_other_libs)

6. Hit build. To check if you have the right head file path or libs open the generated makefile and search for GSTREAMER_CFLAGS and GSTREAMER_LIBS

So why it's good do this way? because this helps to cross platform compile. Now if you want to compile the project in different target platforms all you have to do is to install the libs in the target platform in scratchbox.

Hope this helps.

Last edited by Charleshan; 2010-02-03 at 22:39.
 

The Following 2 Users Say Thank You to Charleshan For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 12:30.