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.
Erm, how about that you run revrep-rebuild instead...
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.
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.
(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.
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.
(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.
(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.
(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...
Just noticed this bug was marked "Resolved", but it is not. This is just to re-open it.
Run revdep-rebuild to fix your linking.
(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.
closed