Need find "DBus-c++ libraries"

Hi,

I’m attempting to compile SFLphone 1.0.2


> (https://projects.savoirfairelinux.com/attachments/download/2865/sflphone-1.0.2.tar.gz)

and I’m stuck at this requisite, I can’t identify the library it means:


> configure:17237: checking for DBUSCPP
> configure:17244: $PKG_CONFIG --exists --print-errors "dbus-c++-1"
> Package dbus-c++-1 was not found in the pkg-config search path.
> Perhaps you should add the directory containing `dbus-c++-1.pc'
> to the PKG_CONFIG_PATH environment variable
> No package 'dbus-c++-1' found
> configure:17247: $? = 1
> configure:17260: $PKG_CONFIG --exists --print-errors "dbus-c++-1"
> Package dbus-c++-1 was not found in the pkg-config search path.
> Perhaps you should add the directory containing `dbus-c++-1.pc'
> to the PKG_CONFIG_PATH environment variable
> No package 'dbus-c++-1' found
> configure:17263: $? = 1
> configure:17276: result: no
> No package 'dbus-c++-1' found
> configure:17292: error: You need the DBus-c++ libraries (version 0.6.0-pre1 or better)

I have several dbus libraries, but I see no -devel package that is not
installed that matches that name. I’ve tried libdconf-dbus-devel,
dbus-1-glib-devel, and dbus-1-devel-32bit, no go.

I tried to search in “pin” for the file “dbus-c+±1.pc”, got nothing. And
of course, the package search can find no files for anything, and webpin
has been broken for years :frowning:


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Hi
You will need to build libdbus-c++


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 3.0.13-0.27-default
up 2 days 0:32, 2 users, load average: 0.07, 0.04, 0.05
CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU

On 2012-02-28 04:29, malcolmlewis wrote:
> Hi
> You will need to build libdbus-c++
> http://sourceforge.net/projects/dbus-cplusplus/

Wow :frowning:

What about 12.1? It doesn’t use it, apparently. No… I’ll have to build it.

Ok, trying to build it. But it needs “ecore”, which I can’t find, either.
This is neverending :frowning:


> configure:15647: checking for ecore
> configure:15655: $PKG_CONFIG --exists --print-errors "ecore"
> Package ecore was not found in the pkg-config search path.
> Perhaps you should add the directory containing `ecore.pc'
> to the PKG_CONFIG_PATH environment variable
> No package 'ecore' found
> configure:15658: $? = 1
> configure:15673: $PKG_CONFIG --exists --print-errors "ecore"
> Package ecore was not found in the pkg-config search path.
> Perhaps you should add the directory containing `ecore.pc'
> to the PKG_CONFIG_PATH environment variable
> No package 'ecore' found
> configure:15676: $? = 1
> No package 'ecore' found
> configure:15714: error: Package requirements (ecore) were not met:
>


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 2012-02-28 05:03, Carlos E. R. wrote:
> Ok, trying to build it. But it needs “ecore”, which I can’t find, either.
> This is neverending :frowning:

It is not in sourceforge by that name.

I googled for ecore.pc, it seems to be part of enlightement e17. Then it is
hopeless :frowning:


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 2012-02-28 05:13, Carlos E. R. wrote:
> I googled for ecore.pc, it seems to be part of enlightement e17. Then it is
> hopeless :frowning:

It is indeed ecore, and is part of “enlightement”, but this one has a repo
that has it:


>
http://download.opensuse.org/repositories/X11:/Enlightenment:/Staging/openSUSE_11.4/

and ecore-devel brings all these:

ecore-devel
eet
eet-devel
eina-devel
evas-devel
evas-modules
libecore1
libeet1
libeina1
libevas1

I managed to build dbuss-c++. Pffff!

But now I get a fatal error:


make[3]: Entering directory
`/home1/cer/Compilaciones/phone/sflphone/daemon/src/history'
CXX    historyitem.lo
CXX    history.lo
history.cpp: In member function ‘bool History::load(int)’:
history.cpp:64:26: error: variable ‘std::ifstream infile’ has initializer
but incomplete type
compilation terminated due to -Wfatal-errors.

And this is indeed fatal. I did not expect broken code :-/


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Hi
It doesn’t need all that… take a break and I’ll check it out tomorrow
for you…


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 3.0.13-0.27-default
up 2 days 2:04, 3 users, load average: 0.00, 0.01, 0.05
CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU

On 2012-02-28 05:59, malcolmlewis wrote:

> Hi
> It doesn’t need all that… take a break and I’ll check it out tomorrow
> for you…

Ok, thanks…

Meanwhile I wrote them, and they said:

+++·············
This compilation error may be due to a missing include directive in history.cpp
It was overlooked because it didn’t cause any compilation failures on the
distros we’ve tested.
Please try again with the latest git. If you have any other issues
compiling on openSUSE, you can post them to this ticket:
https://projects.savoirfairelinux.com/issues/8977
·············+±

So I’m attempting to download the git source, for which I had to install
git first, and try to find what include could be missing by comparison of
both files, and hoping there are no more broken codes :frowning:

I guess they are building with an old gcc which gives less warnings.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 2012-02-28 13:48, Carlos E. R. wrote:
> So I’m attempting to download the git source, for which I had to install
> git first, and try to find what include could be missing by comparison of
> both files, and hoping there are no more broken codes :frowning:

Futile hope.

I looked at the “src/history/history.cpp” source code, and “backported” a
change:


#include <fstream>

Then attempted compile. And I got this:


> main.cpp: In function ‘int main(int, char**)’:
> main.cpp:85:91: warning: deprecated conversion from string constant to ‘char*’
>   CXXLD  libsflphone.la
>   CXXLD  sflphoned
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjnath-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjsua-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjsip-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjmedia-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjsip-simple-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjsip-ua-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjlib-util-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpj-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libpthread.a when searching for -lpthread
> collect2: ld returned 1 exit status
> make[3]: *** [sflphoned] Error 1
> make[3]: Leaving directory `/home1/cer/Compilaciones/phone/sflphone/daemon/src'
&gt; make[2]: *** [all-recursive] Error 1
&gt; make[2]: Leaving directory `/home1/cer/Compilaciones/phone/sflphone/daemon/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home1/cer/Compilaciones/phone/sflphone/daemon'
&gt; make: *** [all] Error 2

So I guess the configure forgot to check and request another bunch of
libraries :frowning:

Uh, no, the configure said something I thought I had done but perhaps not:


configure: Configuration done! Please make sure that pjsip library
(libs/pjproject) has already been compiled. Run `make' to build the software.

The INSTALL text says:


# Go to the root of the application core directory
cd daemon
# Compile pjsip
cd libs/pjproject
./configure
make

Make, but not install? It is indeed built. Ok, running install, creating an
rpm for it (checkinstall), installing the rpm… fails again:


>   CXXLD  sflphoned
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjnath-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjsua-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjsip-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjmedia-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjsip-simple-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjsip-ua-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpjlib-util-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpj-x86_64-suse-linux-gnu
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread
> /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libpthread.a when searching for -lpthread
> collect2: ld returned 1 exit status
> make[3]: *** [sflphoned] Error 1

Same errors :frowning:

But they are installed:


/usr/local/lib/libpjnath-x86_64-unknown-linux-gnu.a

Or I’m mistaken.

I’m not very surprised the telephony repo is staying with an old version
and not compiling the current one. With so many dependencies and so many
problems…


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Carlos E. R. wrote:
> Make, but not install?

There’s usually another step between:

make
test
install
!

On 2012-02-28 14:31, Dave Howorth wrote:
> Carlos E. R. wrote:
>> Make, but not install?
>
> There’s usually another step between:
>
> make
> test
> install
> !

And how can I test a library? I’m not a programmer from that project, I can
not test arbitrary libraries.

And those libraries are needed to build the program, which I can not build
because the make process does not find the libraries I just built and
installed.

Hold on… wasn’t a “depmod” needed to tell the system about changed
libraries? No, it is not depmod, it is something else I can’t remember.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Hi
It’s ldconfig you need to run.


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 3.0.13-0.27-default
up 2 days 11:17, 4 users, load average: 0.50, 0.48, 0.34
CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU

Carlos E. R. wrote:
> On 2012-02-28 14:31, Dave Howorth wrote:
>> Carlos E. R. wrote:
>>> Make, but not install?
>> There’s usually another step between:
>>
>> make
>> test
>> install
>> !
>
> And how can I test a library? I’m not a programmer from that project, I can
> not test arbitrary libraries.

Normally, they should come with a bunch of tests, so you just type
“make test” or similar. But I have no knowledge of the specific project.

On 2012-02-28 15:12, malcolmlewis wrote:
>

> Hi
> It’s ldconfig you need to run.

That was it. But nevertheless, I get the same error.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 2012-02-28 15:38, Carlos E. R. wrote:
> On 2012-02-28 15:12, malcolmlewis wrote:

>> It’s ldconfig you need to run.
>
> That was it. But nevertheless, I get the same error.

I got this response from them:

+++················
You don’t need to install pjsip, it just needs to be built. When you build
the daemon, it should link against the pjsip libs in your source tree. I’m
not sure why the linking stage is failing on your machine, maybe the
LD_LIBRARY_PATH variable needs to be adjusted.
················+±

Go figure…


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Hi
This works for me building via osc (rpm spec file) and version 1.0.2;


cd daemon/libs/pjproject
../configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu
--program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin
--sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share
--includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/lib
--localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man
--infodir=/usr/share/info --enable-libsamplerate
make dep
make


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 3.0.13-0.27-default
up 2 days 12:38, 3 users, load average: 0.57, 0.50, 0.32
CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU

On 02/28/2012 04:33 PM, malcolmlewis wrote:

> Hi
> This works for me building via osc (rpm spec file) and version 1.0.2;
>


> cd daemon/libs/pjproject
> ./configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu
> --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin
> --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share
> --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/lib
> --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-libsamplerate
> make dep
> make
> 

Ah, thanks, that’s the easy one. The problematic one is two directory
levels above, the daemon. Apparently it should find the pjproject
libraries without installing them, but they are not, even if installed.


Cheers / Saludos
Carlos E. R.

Hi
So build first, then you need to run autogen.sh so it finds them;


cd daemon
../autogen.sh
configure ....(all the stuff above if you want)
make
[/ODE]

--
Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 3.0.13-0.27-default
up 2 days 13:37, 3 users, load average: 0.01, 0.03, 0.05
CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU

On 02/28/2012 05:34 PM, malcolmlewis wrote:
> [/QUOTE]
> Hi
> So build first, then you need to run autogen.sh so it finds them;
>


&gt; cd daemon
&gt; ./autogen.sh
&gt; configure ....(all the stuff above if you want)
&gt; make
&gt; [/ODE]

I'll try when I get back home, but I think that I already did that.

--
Cheers / Saludos
Carlos E. R.

On 2012-02-28 20:51, Carlos E. R. wrote:
> On 02/28/2012 05:34 PM, malcolmlewis wrote:

> I’ll try when I get back home, but I think that I already did that.
>

Same result, no difference. I got another reply from them:

+++······················
> The linking path for PJSIP are specified in sflphone/daemon/globals.mak.
>
> PJSIP_LIBS=
> -L$(src)/libs/pjproject/pjnath/lib/
> -L$(src)/libs/pjproject/pjsip/lib/
> -L$(src)/libs/pjproject/pjlib/lib/
> -L$(src)/libs/pjproject/pjlib-util/lib/
> -L$(src)/libs/pjproject/pjmedia/lib/
> -lpjnath-$(target)
> -lpjsua-$(target)
> -lpjsip-$(target)
> -lpjmedia-$(target)
>
> As a suggestion, make sure the $(target) variable corresponds to the one of your system.

······················+±

I don’t know how to check that.

I see that the file
"/home1/cer/Compilaciones/phone/sflphone/daemon/libs/pjproject/pjnath/lib/libpjnath-x86_64-unknown-linux-gnu.a
does exist. Hold on… the build is searching for
“libpjnath-x86_64-suse-linux-gnu”, so that’s the problem. It is not
unknown, it is suse.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Hi
Well it builds fine here, so not suse, just your build environment. I’m
using osc, which does some of the setup in the background.


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 3.0.13-0.27-default
up 2 days 18:55, 3 users, load average: 1.76, 1.04, 0.78
CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU