Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 156537 - net-im/twinkle and net-libs/ccrtp have incorrect dependencies that can cause packages to get built out of order
Summary: net-im/twinkle and net-libs/ccrtp have incorrect dependencies that can cause ...
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL: http://www.xs4all.nl/~mfnboer/twinkle...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-28 11:51 UTC by ta2002
Modified: 2006-11-28 12:35 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ta2002 2006-11-28 11:51:55 UTC
Another bug I don't feel too sure about. :)

From twinkle-0.9-r1.ebuild:

RDEPEND=">=net-libs/ccrtp-1.5.0
        >=dev-cpp/commoncpp2-1.4.1
        $(qt_min_version 3.3.0)
        arts? ( kde-base/arts )
        media-libs/libsndfile
        dev-libs/boost
        speex? ( media-libs/speex )
        ilbc? ( dev-libs/ilbc-rfc3951 )
        zrtp? ( net-libs/libzrtpcpp )"

DEPEND="${RDEPEND}
        dev-util/pkgconfig"

This setup (I believe) can cause net-libs/ccrtp to get built before
dev-cpp/commoncpp2 (at least it did in my case).

From the net-libs/ccrtp-1.5.0.ebuild:

RDEPEND=">=dev-cpp/commoncpp2-1.3.0
        dev-libs/libgcrypt"
DEPEND="${RDEPEND}
        >=dev-util/pkgconfig-0.9.0
        doc? ( app-doc/doxygen )"

ccrtp DEPENDS on commoncpp2 during the compile so commoncpp2 should (I think)
get included in DEPEND, not RDEPEND (and twinkle doesn't need to mention
commoncpp2 at all, since ccrtp requires it).

$ ldd /usr/lib64/libccrtp1-1.5.so.0.0.0
        libccgnu2-1.5.so.0 => /usr/lib/libccgnu2-1.5.so.0 (0x00002b48323b0000)
        libdl.so.2 => /lib/libdl.so.2 (0x00002b48324f6000)
        librt.so.1 => /lib/librt.so.1 (0x00002b48325fa000)
        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x00002b4832704000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/libstdc++.so.6 (0x00002b4832850000)
        libm.so.6 => /lib/libm.so.6 (0x00002b4832a51000)
        libc.so.6 => /lib/libc.so.6 (0x00002b4832ba8000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002b4832de9000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00002b4832ef6000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00002b483300d000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00002b4833110000)

The web page even says:

"You have to install the commoncpp2 package before the ccrtp package."
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-11-28 11:55:53 UTC
(In reply to comment #0)
> From the net-libs/ccrtp-1.5.0.ebuild:
> 
> RDEPEND=">=dev-cpp/commoncpp2-1.3.0
>         dev-libs/libgcrypt"
> DEPEND="${RDEPEND}
>         >=dev-util/pkgconfig-0.9.0
>         doc? ( app-doc/doxygen )"
> 
> ccrtp DEPENDS on commoncpp2 during the compile so commoncpp2 should (I think)
> get included in DEPEND, not RDEPEND 

It already _is_ in DEPEND... Missed the DEPEND="${RDEPEND} bit, or?
Comment 2 ta2002 2006-11-28 12:35:25 UTC
I don't understand portage that well, but maybe having
both of them (net-libs/ccrtp and dev-cpp/commoncpp2)
listed in twinkle sets them up out of order.

My emerge log from "emerge -v twinkle":

1164702382:  *** emerge --verbose twinkle
1164702383:  >>> emerge (1 of 5) dev-libs/boost-1.33.1 to /
1164702383:  === (1 of 5) Cleaning (dev-libs/boost-1.33.1::/usr/portage/dev-libs/boost/boost-1.33.1.ebuild)
1164702384:  === (1 of 5) Compiling/Merging (dev-libs/boost-1.33.1::/usr/portage/dev-libs/boost/boost-1.33.1.ebuild)
1164705106:  >>> AUTOCLEAN: dev-libs/boost
1164705106:  --- AUTOCLEAN: Nothing unmerged.
1164705107:  === (1 of 5) Post-Build Cleaning (dev-libs/boost-1.33.1::/usr/portage/dev-libs/boost/boost-1.33.1.ebuild)
1164705107:  ::: completed emerge (1 of 5) dev-libs/boost-1.33.1 to /
1164705107:  >>> emerge (2 of 5) net-libs/ccrtp-1.5.0 to /
1164705107:  === (2 of 5) Cleaning (net-libs/ccrtp-1.5.0::/usr/portage/net-libs/ccrtp/ccrtp-1.5.0.ebuild)
1164705108:  === (2 of 5) Compiling/Merging (net-libs/ccrtp-1.5.0::/usr/portage/net-libs/ccrtp/ccrtp-1.5.0.ebuild)
1164705333:  >>> AUTOCLEAN: net-libs/ccrtp
1164705338: === Unmerging... (net-libs/ccrtp-1.3.6)
1164705340:  >>> unmerge success: net-libs/ccrtp-1.3.6
1164705340:  === (2 of 5) Post-Build Cleaning (net-libs/ccrtp-1.5.0::/usr/portage/net-libs/ccrtp/ccrtp-1.5.0.ebuild)
1164705340:  ::: completed emerge (2 of 5) net-libs/ccrtp-1.5.0 to /
1164705340:  >>> emerge (3 of 5) dev-cpp/commoncpp2-1.5.1-r1 to /
1164705340:  === (3 of 5) Cleaning (dev-cpp/commoncpp2-1.5.1-r1::/usr/portage/dev-cpp/commoncpp2/commoncpp2-1.5.1-r1.ebuild)
1164705341:  === (3 of 5) Compiling/Merging (dev-cpp/commoncpp2-1.5.1-r1::/usr/portage/dev-cpp/commoncpp2/commoncpp2-1.5.1-r1.ebuild)
1164705741:  >>> AUTOCLEAN: dev-cpp/commoncpp2
1164705746: === Unmerging... (dev-cpp/commoncpp2-1.3.22)
1164705748:  >>> unmerge success: dev-cpp/commoncpp2-1.3.22
1164705748:  === (3 of 5) Post-Build Cleaning (dev-cpp/commoncpp2-1.5.1-r1::/usr/portage/dev-cpp/commoncpp2/commoncpp2-1.5.1-r1.ebuild)
1164705748:  ::: completed emerge (3 of 5) dev-cpp/commoncpp2-1.5.1-r1 to /
1164705748:  >>> emerge (4 of 5) net-libs/libzrtpcpp-0.9.0 to /
1164705748:  === (4 of 5) Cleaning (net-libs/libzrtpcpp-0.9.0::/usr/portage/net-libs/libzrtpcpp/libzrtpcpp-0.9.0.ebuild)
1164705748:  === (4 of 5) Compiling/Merging (net-libs/libzrtpcpp-0.9.0::/usr/portage/net-libs/libzrtpcpp/libzrtpcpp-0.9.0.ebuild)
1164705816:  >>> AUTOCLEAN: net-libs/libzrtpcpp
1164705816:  --- AUTOCLEAN: Nothing unmerged.
1164705816:  === (4 of 5) Post-Build Cleaning (net-libs/libzrtpcpp-0.9.0::/usr/portage/net-libs/libzrtpcpp/libzrtpcpp-0.9.0.ebuild)
1164705816:  ::: completed emerge (4 of 5) net-libs/libzrtpcpp-0.9.0 to /
1164705816:  >>> emerge (5 of 5) net-im/twinkle-0.9-r1 to /
1164705816:  === (5 of 5) Cleaning (net-im/twinkle-0.9-r1::/usr/portage/net-im/twinkle/twinkle-0.9-r1.ebuild)
1164705816:  === (5 of 5) Compiling/Merging (net-im/twinkle-0.9-r1::/usr/portage/net-im/twinkle/twinkle-0.9-r1.ebuild)
1164706653:  === (5 of 5) Updating world file (net-im/twinkle-0.9-r1)
1164706653:  >>> AUTOCLEAN: net-im/twinkle
1164706658: === Unmerging... (net-im/twinkle-0.7.1)
1164706660:  >>> unmerge success: net-im/twinkle-0.7.1
1164706660:  === (5 of 5) Post-Build Cleaning (net-im/twinkle-0.9-r1::/usr/portage/net-im/twinkle/twinkle-0.9-r1.ebuild)
1164706660:  ::: completed emerge (5 of 5) net-im/twinkle-0.9-r1 to /
1164706660:  *** Finished. Cleaning up...
1164706670:  *** exiting successfully.
1164706674:  *** terminating.

Somebody else got bit by this, too:

http://forums.gentoo.org/viewtopic-p-3447386.html?#3447386

Something doesn't guarantee that commoncpp2 gets built before ccrtp
(and it should). Maybe this bug should go to portage (but I do
think that removing commoncpp2 from the twinkle ebuild would solve
the problem in this case).