From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050920 Firefox/1.0.7 Description of problem: When I install the pre-built package and try to send a message, I get the following error at the 'what now' prompt: [uckelman@charybdis ~]$ comp What now? s spost: can't exec no: No such file or directory send: message not delivered to anyone What now? However, when I build the package myself from the source RPM---without changing anything in the spec file---sending messages works as expected. Building the SRPM in two different places on the same architecture ought to produce the same result. The same thing happens on my other FC4 box, and this same problem has existed with every version of nmh that's been in extras to date. Version-Release number of selected component (if applicable): nmh-1.1-10.fc4 How reproducible: Always Steps to Reproduce: 1. Install the prebuilt package. 2. Try to send a message. Actual Results: I got the error message seen above. Expected Results: The message should be sent. Additional info:
Can you please provide the output of: rpm -q --requires nmh for your rebuilt packages. This sounds like a missing dependency issue.
(Wow, that was fast.) [uckelman@charybdis i386]$ rpm -q --requires nmh /bin/sh config(nmh) = 1.1-10.fc4 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libgdbm.so.2 libtermcap.so.2 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
The problem here is that nmh's configure script is broken and does something silly if sendmail isn't installed during the build. I'll fix the problem upstream, and added sendmail as a buildrequires for the Fedora Extras packages. It's a hackish solution, but will work. This should be fixed properly when nmh-1.2 is released. New packages have been submitted to the build system, sometime in the near future nmh-1.1-11.fc4 should show up. Please reopen this bug if the problem persists.
Hold on, that doesn't make sense to me. I *don't* have sendmail installed on my machine, and the local build works correctly---from which I would conclude that sendmail is *not* required in order to have a working build. But it appears that you've concluded the opposite. Have I misunderstood the proposed solution?
While you may not have sendmail installed, when configure is run it looks for something called sendmail. You should have something installed on your system called sendmail (check /usr/sbin/sendmail). Here is the macro in question: dnl Look for `sendmail' pathtmp=/usr/lib:/usr/sbin:/usr/etc:/usr/ucblib:/usr/bin:/bin AC_PATH_PROG(sendmailpath, sendmail, no, [$pathtmp]) What happens is if configure can't find a program called sendmail somewhere on the system, it defaults to using "no", which doesn't exist. The upstream fix changes "no" to /usr/sbin/sendmail, which will be used as default and should exist on most systems (postfix for example has an executable which pretends to be sendmail).
Aha! Thanks so much for the explanation. Now I get why the error was so incomprehensible.
A further suggestion: The new package now has BuildRequires: sendmail but it isn't really sendmail that's required. Any MTA which provides sendmail emulation via /usr/sbin/senmail would do. So why not make it BuildRequires: /usr/sbin/sendmail instead?