Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 145718 - cyrus-imapd missing deps
Summary: cyrus-imapd missing deps
Status: VERIFIED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: High normal
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-31 08:25 UTC by Angelo Babudro
Modified: 2006-08-31 13:28 UTC (History)
1 user (show)

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 Angelo Babudro 2006-08-31 08:25:20 UTC
I am running a mostly stable AMD64 system.  When I emerged cyrus-imapd 2.2.12-r4 on three of my servers it installed only this package, no other dependencies.  However, it did not start from /etc/init.d/cyrus and I got no error messages I could find telling me why (neither in /var/logs nor on screen).

I looked in /etc/init.d/cyrus and started /usr/lib/cyrus/master manually.  The error message was that it was missing libnetsnmpmibs.so.9

I looked and saw I had only libnetsnmpmibs.so.5, so I entered "net-analyzer/net-snmp ~amd64" in my package.keywords, emerged net-snmp, and then cyrus loaded.

A second issue, I tried to run the "imtest" routine and it told me it needed libdb-4.3.  Like the above, I had libdb-4.2 and had to put "sys-libs/db" in my package.keywords then re-emerge "db" to get this library.  Once I did that it worked.

So it seems that cyrus-imapd should depend on >db-4.3 and >net-snmp-5.2.2.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-08-31 08:37:22 UTC
Erm, how about that you run revrep-rebuild instead...
Comment 2 Angelo Babudro 2006-08-31 11:35:32 UTC
Running revdep-rebuild would not address the issue I'm bringing up.

When I emerged cyrus-imapd, I believe it should not have let me emerge a stable build (2.2.12-r4) which relied on unstable libraries without telling me first.  Seems I have seen this behaviour with other packages, so why not with this one, too?  I might have not tried to use it if I knew it needed unstable libs.
Comment 3 Angelo Babudro 2006-08-31 11:47:59 UTC
I just tried emerging cyrus-imapd-2.2.12-r4 on another AMD64 box which does not have the requisite unstable libraries to look for more clues and I noticed this error fly by:

>>> checking cyrus-imapd-2.2.12.tar.gz ;-)
 * net-analyzer/net-snmp found
 * "net-analyzer/net-snmp" has been emerged with "tcpd" USE flag
 * /usr/bin/net-snmp-config is found and executable.
 * NSC_AGENTLIBS="-L/usr/lib64 -lnetsnmpagent -lnetsnmpmibs -lnetsnmphelpers -lnetsnmp -ldl -lcr                      ypto -lm -lsensors -rdynamic /usr/lib/perl5/5.8.7/x86_64-linux/auto/DynaLoader/DynaLoader.a -L/u                      sr/lib/perl5/5.8.7/x86_64-linux/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc -lwrap"
 * DYNALOADER_PATH="/usr/lib/perl5/5.8.7/x86_64-linux/auto/DynaLoader/DynaLoader.a"
 * "/usr/lib/perl5/5.8.7/x86_64-linux/auto/DynaLoader/DynaLoader.a" is not found.
 * Have you upgraded "perl" after
 * you emerged "net-snmp". Please re-emerge
 * "net-snmp" then try again. Bug #67411.

!!! ERROR: net-mail/cyrus-imapd-2.2.12-r4 failed.
Call stack:
  ebuild.sh, line 1555:   Called dyn_setup
  ebuild.sh, line 668:   Called pkg_setup
  cyrus-imapd-2.2.12-r4.ebuild, line 134:   Called net-snmp_check
  cyrus-imapd-2.2.12-r4.ebuild, line 121:   Called die

!!! "/usr/lib/perl5/5.8.7/x86_64-linux/auto/DynaLoader/DynaLoader.a" is not found.
!!! If you need support, post the topmost build error, and the call stack if relevant.

It then proceeded to do the final clean-up and told me the package was merged successfully.  When I tried to emerge it a second time, it showed me that the package was already installed, but then it failed and refused to complete the merge, stopping at the above error.  revdep-rebuild lists a couple of screen-fulls of Cyrus elements which are missing the requisite unstable BerkeleyDB and net-snmp libraries, but that is all.  This server was recently "revdep-rebuilt" so everything else was in order before Cyrus-imapd was put in.

Doesn't seem like this package should be marked "stable", at least not for AMD64.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-08-31 11:57:16 UTC
(In reply to comment #3)
>  * Have you upgraded "perl" after
>  * you emerged "net-snmp". Please re-emerge
>  * "net-snmp" then try again. Bug #67411.

Completely unrelated. And, please, read the message and do what it tells you.

> It then proceeded to do the final clean-up and told me the package was merged
> successfully.

No, it didn't - it clearly failed:

!!! ERROR: net-mail/cyrus-imapd-2.2.12-r4 failed.

Comment 5 Angelo Babudro 2006-08-31 12:10:54 UTC
I don't desire to argue with you, Jakub.  I'm just trying to help out the Gentoo community by explaining what I did, what I saw and am seeing, how I got around the problem, and how I think it could be avoided for others.

Perhaps I am misunderstanding what you are trying to say, but the package IS installed in spite of the error during emerge -- it simply did NOT stop at the error.  I hope I'm not missing something simple, but I don't think so.

The error about the Perl dependency appeared, then "emerge" proceeded to say "Merging ..." and gave all the usual messages about the files it was installing.  If I had not been watching (as I was not on the other three servers), I would never have spotted this error fly by because at the end it says "successfully emerged".

The directory /usr/lib/cyrus exists and it has 21MB of files in it, in spite of the error during emerge.
Comment 6 Tuan Van (RETIRED) gentoo-dev 2006-08-31 12:28:42 UTC
(In reply to comment #0)
> I am running a mostly stable AMD64 system.  When I emerged cyrus-imapd
> 2.2.12-r4 on three of my servers it installed only this package, no other
> dependencies.  However, it did not start from /etc/init.d/cyrus and I got no
> error messages I could find telling me why (neither in /var/logs nor on
> screen).
> 
> I looked in /etc/init.d/cyrus and started /usr/lib/cyrus/master manually.  The
> error message was that it was missing libnetsnmpmibs.so.9
> 
> I looked and saw I had only libnetsnmpmibs.so.5, so I entered
> "net-analyzer/net-snmp ~amd64" in my package.keywords, emerged net-snmp, and
> then cyrus loaded.
> 
> A second issue, I tried to run the "imtest" routine and it told me it needed
> libdb-4.3.  Like the above, I had libdb-4.2 and had to put "sys-libs/db" in my
> package.keywords then re-emerge "db" to get this library.  Once I did that it
> worked.
> 
> So it seems that cyrus-imapd should depend on >db-4.3 and >net-snmp-5.2.2.
> 

hwo did cyrus-imap got link to the higher lib if you don't have them already installed? there are some steps missing in your bug report.
Comment 7 Angelo Babudro 2006-08-31 12:35:16 UTC
(In reply to comment #4)
> (In reply to comment #3)
> >  * Have you upgraded "perl" after
> >  * you emerged "net-snmp". Please re-emerge
> >  * "net-snmp" then try again. Bug #67411.
> 
> Completely unrelated. And, please, read the message and do what it tells you.
> 

I brought up the Perl error because it points out further trouble with emerge relating to this same package.  I was not and am not asking for help with fixing the Perl dependency.  It is emerge I am discussing.
Comment 8 Angelo Babudro 2006-08-31 12:43:28 UTC
(In reply to comment #6)
> (In reply to comment #0)
> > So it seems that cyrus-imapd should depend on >db-4.3 and >net-snmp-5.2.2.
> > 
> 
> hwo did cyrus-imap got link to the higher lib if you don't have them already
> installed? there are some steps missing in your bug report.
> 

That is most of what I meant to bring up.  How did this happen?  I did "emerge --update --newuse --deep --verbose --ask", so why didn't emerge warn me?  I've emerged cyrus-imapd on two stable AMD64 machines and got the same results (the other two were flagged ~AMD64 so they didn't have the missing deps).

Just thought of another clue that might help, regarding the machine that continued in spite of the Perl error:  that one was pulling a binary that one of the other machines built.  The others all were built from source.

I'm going to build it on my old dual-P3 box (arch=x86) and see what happens - it looks like it's going to do the same thing because it's not suggesting I upgrade "db" nor "net-snmp".  I'll let you know...
Comment 9 Angelo Babudro 2006-08-31 13:05:40 UTC
Just noticed this bug was marked "Resolved", but it is not.  This is just to re-open it.
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2006-08-31 13:06:38 UTC
Run revdep-rebuild to fix your linking.
Comment 11 Angelo Babudro 2006-08-31 13:27:58 UTC
(In reply to comment #10)
> Run revdep-rebuild to fix your linking.
> 

Might as well finish this communication for anyone else it may help:

I thought I was pointing out a bug in emerge, and the advice to revdep-rebuild was not helpful since I already knew how to fix the problem.

Now I see my error was in building a binary repository from a mix of stable and unstable machines.  I thought I built from source on the machine in question, but it was a binary that must've been built on one of my ~AMD64 boxes.  The binary repository is something I just started doing and I missed this.  Sorry to have wasted everyone's time, and thanks for your rapid responses.
Comment 12 Angelo Babudro 2006-08-31 13:28:31 UTC
closed