LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 10-06-2012, 06:59 AM   #1
boy_China
LQ Newbie
 
Registered: Oct 2012
Location: China
Posts: 19

Rep: Reputation: Disabled
cairomm can't find sigc++/slot.h


Today I Compiled cairomm( Other software depends it).
My system version is 13.37

I download cairomm from slackbuilds.But it depend sigc++/slot.h, I download libsigc++ from slackbuilds and install success.

Then I compile cairomm ,I get the same error
Code:
../cairomm/surface.h:33:25: fatal error: sigc++/slot.h: No such file or directory
I found PKG_CONFIG_PATH not include /usr/include/,so I add it to /etc/profile.d/pkgconfig.sh and reboot

But now I still get the same error

I fond these threads,get same error
http://www.linuxquestions.org/questi...-and-q-321389/
But I use slackBuilds.I can't change slackBuilds or complied it by myself

So someone know how to solve it ? Thanks all
 
Old 10-06-2012, 07:06 AM   #2
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,661

Rep: Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784
did you use the SlackBuild for 13.37 or 14.0?
 
Old 10-06-2012, 07:15 AM   #3
wildwizard
Member
 
Registered: Apr 2009
Location: Oz
Distribution: slackware64-14.0
Posts: 875

Rep: Reputation: 282Reputation: 282Reputation: 282
Quote:
Originally Posted by boy_China View Post
I found PKG_CONFIG_PATH not include /usr/include/,so I add it to /etc/profile.d/pkgconfig.sh and reboot
What you did there is wrong.

PKG_CONFIG_PATH is the search path for pkgconfig to find the relevent ".pc" (pkgconfig) files it has nothing whatsoever to do with the include path that the compiler will see.

What does modify (or should modify) the include path is the .pc file for sigc++, in fact the last line has the include paths.

Can you confirm that the /usr/lib(64)/pkgconfig/sigc++-2.0.pc file has the correct path to its includes on the last the line?
Should look like this
Code:
Cflags: -I${includedir}/sigc++-2.0 -I${libdir}/sigc++-2.0/include
And if you add the path you see in the compiler output and add it on you should have the full path to the include file which should be at that location.

Another possibility is that you have set the variable includedir, if you look again at the pc file for sigc++ you will see that that variable is used to generate the path, if you've changed something to set that path then you should change it back as you will break pretty much everything.

EDIT :-
Quote:
Originally Posted by willysr View Post
did you use the SlackBuild for 13.37 or 14.0?
I just checked both sigc++ & cairomm and there is no difference in the SlackBuild between 13.37 and 14.0 other than the source code version change.

Last edited by wildwizard; 10-06-2012 at 07:23 AM.
 
Old 10-06-2012, 07:54 AM   #4
boy_China
LQ Newbie
 
Registered: Oct 2012
Location: China
Posts: 19

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by willysr View Post
did you use the SlackBuild for 13.37 or 14.0?
yes.
I use slackware 13.37,so I download slackBuilds 13.37
 
Old 10-06-2012, 08:24 AM   #5
boy_China
LQ Newbie
 
Registered: Oct 2012
Location: China
Posts: 19

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by wildwizard View Post
What you did there is wrong.

PKG_CONFIG_PATH is the search path for pkgconfig to find the relevent ".pc" (pkgconfig) files it has nothing whatsoever to do with the include path that the compiler will see.

What does modify (or should modify) the include path is the .pc file for sigc++, in fact the last line has the include paths.

Can you confirm that the /usr/lib(64)/pkgconfig/sigc++-2.0.pc file has the correct path to its includes on the last the line?
Should look like this
Code:
Cflags: -I${includedir}/sigc++-2.0 -I${libdir}/sigc++-2.0/include
And if you add the path you see in the compiler output and add it on you should have the full path to the include file which should be at that location.

Another possibility is that you have set the variable includedir, if you look again at the pc file for sigc++ you will see that that variable is used to generate the path, if you've changed something to set that path then you should change it back as you will break pretty much everything.
How can I confirm the /usr/lib/pkgconfig/sigc++-2.0.pc file has the correct path to its includes on the last the line?
Use this command ?
Code:
Cflags: -I${includedir}/sigc++-2.0 -I${libdir}/sigc++-2.0/include
I try it just now ,But nothing

I only change PKG_CONFIG_PATH. Except PKG_CONFIG_PATH , everything is from slackbuilds 13.37

Last edited by boy_China; 10-06-2012 at 09:09 PM. Reason: reformat
 
Old 10-06-2012, 05:29 PM   #6
wildwizard
Member
 
Registered: Apr 2009
Location: Oz
Distribution: slackware64-14.0
Posts: 875

Rep: Reputation: 282Reputation: 282Reputation: 282
Can you reformat your last post as I can't work out where the quotes end and where you start.
 
Old 10-06-2012, 09:15 PM   #7
boy_China
LQ Newbie
 
Registered: Oct 2012
Location: China
Posts: 19

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by wildwizard View Post
Can you reformat your last post as I can't work out where the quotes end and where you start.
I'm so sorry to trouble you .I'm a newer and use a little quote . But after this time ,I believe I can use quote well.
Now I had reformat my last posts .If have free time ,please help me find the wrong step .Thanks a lot :-)
 
Old 10-06-2012, 10:10 PM   #8
wildwizard
Member
 
Registered: Apr 2009
Location: Oz
Distribution: slackware64-14.0
Posts: 875

Rep: Reputation: 282Reputation: 282Reputation: 282
Quote:
Originally Posted by boy_China View Post
How can I confirm the /usr/lib/pkgconfig/sigc++-2.0.pc file has the correct path to its includes on the last the line?
Use this command ?
Code:
Cflags: -I${includedir}/sigc++-2.0 -I${libdir}/sigc++-2.0/include
No that line is what should be in the pkgconfig file.

1. Have you located the sigc++ pkgconfig file?
2. Does it have that line at the end? or something similar?
3. Did you check the path out and see if the includes are actually there?

Some things to consider doing is to restart the build by removing the installed packages and rebuilding them again. And watching them as they build to make sure they don't break, I had one here the other day that broke part way through but it still created a package which was useless as there was no executable just a bunch of text files.
 
Old 10-06-2012, 10:26 PM   #9
boy_China
LQ Newbie
 
Registered: Oct 2012
Location: China
Posts: 19

Original Poster
Rep: Reputation: Disabled
Ok ,thanks.
I will reinstall my packages
Now I'm ready to return school . So I have no time to test in my slackware 13.37.
If I test , I will write down and post here
Thanks again
 
Old 10-08-2012, 01:00 AM   #10
boy_China
LQ Newbie
 
Registered: Oct 2012
Location: China
Posts: 19

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by wildwizard View Post
No that line is what should be in the pkgconfig file.

1. Have you located the sigc++ pkgconfig file?
2. Does it have that line at the end? or something similar?
3. Did you check the path out and see if the includes are actually there?

Some things to consider doing is to restart the build by removing the installed packages and rebuilding them again. And watching them as they build to make sure they don't break, I had one here the other day that broke part way through but it still created a package which was useless as there was no executable just a bunch of text files.
1.The file named "sigc++.h" locate in /usr/include/sigc++-2.0/sigc++/slot.h

2.Yes,I fond something similar.Look this:
Code:
Name: cairomm
Description: C++ binding for the cairo graphics library
Version: 1.9.8
URL: http://www.cairographics.org/cairomm/
Requires: cairo >= 1.10.0 sigc++-2.0
Libs: -L${libdir} -lcairomm-1.0
Cflags: -I${includedir}/cairomm-1.0 -I${libdir}/cairomm-1.0/include
Is there help for solving this problem ? Thanks

Last edited by boy_China; 10-08-2012 at 01:08 AM. Reason: wrong spell
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
how to find out download/upload speed of each slot lemon09 Linux - Networking 2 04-14-2010 01:06 AM
How to find whether interface is buitin(onboard) or external(attached on pci slot )?? luvtux Linux - Networking 4 02-22-2010 01:58 PM
Can't install "glibmm" library. "configure" script can't find "sigc++-2.0&q kornerr Linux - General 4 05-10-2005 02:32 PM
GTKmm and SigC stonehurstX11 Programming 4 05-04-2005 02:17 PM
sigc++-2.0 paul62 Linux - Software 0 10-01-2004 10:51 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:27 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration