Summary: | mail-client/mailx fails to build | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Diego Elio Pettenò (RETIRED) <flameeyes> |
Component: | New packages | Assignee: | Net-Mail Packages <net-mail+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | sping, steffen.bergner, wschlich, z23 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 324127, 324129 | ||
Bug Blocks: | |||
Attachments: |
Build log
Mailx offsetoff patch Mailx offsetoff ebuild patch build.log |
Description
Diego Elio Pettenò (RETIRED)
![]() Created attachment 219777 [details]
Build log
Upstream created their own "offsetof" macro, with different arguments and semantics than the standard offsetof. A global sed to rename that macro not to conflict with the one in stddef.h should fix the build. Well, that's unfortunate. Maybe I can use nail instead. (In reply to comment #2) > Upstream created their own "offsetof" macro, with different arguments and > semantics than the standard offsetof. A global sed to rename that macro not to > conflict with the one in stddef.h should fix the build. > I wonder why there is no related Debian bug report? Are we using their current patch? For anyone needing a (temporary?) work-around: unmerge mailx and emerge nail with USE="-ssl -net". mail-client/nail (heirloom mailx) does work fine as a drop-in replacement for mailx. In that role, it requires absolutely no configuration or changes to existing configuration files (i.e /etc/mail.rc or ~/.mailrc), and should be emerged with USE="-ssl -net". While nail (with USE="ssl net") can send (and receive) its own email, avoiding its own dependency on a MTA, it apparently does not function as a drop-in sendmail replacement. Therefore, it does not satify dependencies on "virtual/mta" which a number of packages have (including practically any cron implementation). Sorry for all the chatter. Regarding the work-around, I must add... While no configuration is required, because it provides a good default /etc/nail.rc, you should back up your existing /etc/mail.rc (if you have customized it) and/or ~/.mailrc, to facilitate moving back to regular mailx, once it no longer fails to compile. Created attachment 224051 [details, diff]
Mailx offsetoff patch
Created attachment 224053 [details, diff]
Mailx offsetoff ebuild patch
In an attachment there is a patch for mailx-8.1.2.20050715-r1 ebuild.
This fixes the "offsetoff" emerge failure (at least for me).
Usage:
a) Place mailx-8.1.2.20050715-offsetoff.patch (previous attachment) in /usr/portage/mail-client/mailx/files directory;
b) Place mailx-8.1.2.20050715-r1.ebuild.patch in /usr/portage/mail-client/mailx directory;
c) "cd /usr/portage/mail-client/mailx" (w/o quotes);
d) Apply patch: "patch -p0 <mailx-8.1.2.20050715-r1.ebuild.patch";
e) "ebuild mailx-8.1.2.20050715-r1.ebuild digest";
f) Reemerge mailx.
Thank you Maciej. (You probably are aware those changes won't persist, but just in case you are not, I've emailed you brief instructions on how put them in a local overlay.) (In reply to comment #9) > Thank you Maciej. > > (You probably are aware those changes won't persist, but just in case you are > not, I've emailed you brief instructions on how put them in a local overlay.) > Thanks for the information, but I would prefer to have the changes commited to the Portage tree so everybody can benefit from the fix. Confirm both the same problem here and fix as posted in comments #7 & 8 applies cleanly and allows the ebuild to compile and install. My system is ~x86. Same circumstance and resolution here. (In reply to comment #11) > Confirm both the same problem here and fix as posted in comments #7 & 8 applies > cleanly and allows the ebuild to compile and install. My system is ~x86. > Resolution from #8 is working. Please put it upstream! Thx Maciej Szmigiero! mail-client/mailx-8.1.2.20050715-r1 still not working: [32;01m*[0m CPV: mail-client/mailx-8.1.2.20050715-r1 [32;01m*[0m REPO: gentoo [32;01m*[0m USE: elibc_glibc kernel_linux userland_GNU x86 >>> Unpacking source... >>> Unpacking mailx_8.1.2-0.20050715cvs.orig.tar.gz to /var/tmp/portage/mail-client/mailx-8.1.2.20050715-r1/work >>> Unpacking mailx_8.1.2-0.20050715cvs-1.diff.gz to /var/tmp/portage/mail-client/mailx-8.1.2.20050715-r1/work [32;01m*[0m Applying mailx_8.1.2-0.20050715cvs-1.diff.gz ... [A[82C [34;01m[ [32;01mok[34;01m ][0m [32;01m*[0m Applying mailx-8.1.2.20050715-nostrip.patch ... [A[82C [34;01m[ [32;01mok[34;01m ][0m >>> Source unpacked in /var/tmp/portage/mail-client/mailx-8.1.2.20050715-r1/work >>> Compiling source in /var/tmp/portage/mail-client/mailx-8.1.2.20050715-r1/work/mailx-8.1.2-0.20050715cvs.orig ... gcc -D_BSD_SOURCE -DDEBIAN -g -Wall -IEXT -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -c version.c -o version.o gcc -D_BSD_SOURCE -DDEBIAN -g -Wall -IEXT -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -c aux.c -o aux.o In file included from rcv.h:43, from aux.c:41: def.h:112:1: warning: "offsetof" redefined In file included from /usr/include/unistd.h:227, from def.h:56, from rcv.h:43, from aux.c:41: /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stddef.h:411:1: warning: this is the location of the previous definition gcc -D_BSD_SOURCE -DDEBIAN -g -Wall -IEXT -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -c cmd1.c -o cmd1.o In file included from rcv.h:43, from cmd1.c:41: def.h:112:1: warning: "offsetof" redefined In file included from /usr/include/unistd.h:227, from def.h:56, from rcv.h:43, from cmd1.c:41: /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stddef.h:411:1: warning: this is the location of the previous definition gcc -D_BSD_SOURCE -DDEBIAN -g -Wall -IEXT -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -c cmd2.c -o cmd2.o In file included from rcv.h:43, from cmd2.c:41: def.h:112:1: warning: "offsetof" redefined In file included from /usr/include/unistd.h:227, from def.h:56, from rcv.h:43, from cmd2.c:41: /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stddef.h:411:1: warning: this is the location of the previous definition gcc -D_BSD_SOURCE -DDEBIAN -g -Wall -IEXT -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -c cmd3.c -o cmd3.o In file included from rcv.h:43, from cmd3.c:41: def.h:112:1: warning: "offsetof" redefined In file included from /usr/include/unistd.h:227, from def.h:56, from rcv.h:43, from cmd3.c:41: /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stddef.h:411:1: warning: this is the location of the previous definition gcc -D_BSD_SOURCE -DDEBIAN -g -Wall -IEXT -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -c cmdtab.c -o cmdtab.o In file included from cmdtab.c:41: def.h:112:1: warning: "offsetof" redefined In file included from /usr/include/unistd.h:227, from def.h:56, from cmdtab.c:41: /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stddef.h:411:1: warning: this is the location of the previous definition gcc -D_BSD_SOURCE -DDEBIAN -g -Wall -IEXT -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -c collect.c -o collect.o In file included from rcv.h:43, from collect.c:48: def.h:112:1: warning: "offsetof" redefined In file included from /usr/include/unistd.h:227, from def.h:56, from rcv.h:43, from collect.c:48: /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stddef.h:411:1: warning: this is the location of the previous definition gcc -D_BSD_SOURCE -DDEBIAN -g -Wall -IEXT -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -c edit.c -o edit.o In file included from rcv.h:43, from edit.c:41: def.h:112:1: warning: "offsetof" redefined In file included from /usr/include/unistd.h:227, from def.h:56, from rcv.h:43, from edit.c:41: /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stddef.h:411:1: warning: this is the location of the previous definition gcc -D_BSD_SOURCE -DDEBIAN -g -Wall -IEXT -march=i686 -msse -mmmx -mfpmath=sse -Os -pipe -fomit-frame-pointer -c fio.c -o fio.o In file included from rcv.h:43, from fio.c:41: def.h:112:1: warning: "offsetof" redefined In file included from /usr/include/unistd.h:227, from def.h:56, from rcv.h:43, from fio.c:41: /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stddef.h:411:1: warning: this is the location of the previous definition fio.c:150:35: error: macro "offsetof" requires 2 arguments, but only 1 given fio.c: In function ‘setptr’: fio.c:150: error: ‘offsetof’ undeclared (first use in this function) fio.c:150: error: (Each undeclared identifier is reported only once fio.c:150: error: for each function it appears in.) fio.c:137: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result fio.c: In function ‘putline’: fio.c:191: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result make: *** [fio.o] Error 1 [31;01m*[0m ERROR: mail-client/mailx-8.1.2.20050715-r1 failed: [31;01m*[0m (no error message) [31;01m*[0m [31;01m*[0m Call stack: [31;01m*[0m ebuild.sh, line 54: Called src_compile [31;01m*[0m environment, line 2596: Called die [31;01m*[0m The specific snippet of code: [31;01m*[0m make EXTRAFLAGS="${CFLAGS}" || die [31;01m*[0m [31;01m*[0m If you need support, post the output of 'emerge --info =mail-client/mailx-8.1.2.20050715-r1', [31;01m*[0m the complete build log and the output of 'emerge -pqv =mail-client/mailx-8.1.2.20050715-r1'. [31;01m*[0m The complete build log is located at '/var/tmp/portage/mail-client/mailx-8.1.2.20050715-r1/temp/build.log'. [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/mail-client/mailx-8.1.2.20050715-r1/temp/environment'. [31;01m*[0m S: '/var/tmp/portage/mail-client/mailx-8.1.2.20050715-r1/work/mailx-8.1.2-0.20050715cvs.orig/' sorry for colored output Created attachment 230585 [details]
build.log
complete build.log
@net-mail devs: mailx is broken, does not compile, pls fix. (In reply to comment #16) > @net-mail devs: > > mailx is broken, does not compile, pls fix. > How rude. Everybody knows it doesn't compile. That's what this bug is about and why it doesn't say Resolution: FIXED. I think they are waiting for upstream to implement the fix. In the meantime, people have pointed out at least one work-around and at least one patch that you might employ. JFYI, mailx has been dead for several years. I recommend using heirloom-mailx, which is a mailx 8 fork. Unfortunately Gentoo keeps calling the fork nail, which is its former name. (In reply to comment #17) > (In reply to comment #16) > > @net-mail devs: > > > > mailx is broken, does not compile, pls fix. > > > > How rude. > > Everybody knows it doesn't compile. That's what this bug is about and why it > doesn't say Resolution: FIXED. > > I think they are waiting for upstream to implement the fix. In the meantime, > people have pointed out at least one work-around and at least one patch that > you might employ. > I think the frustration expressed here, on the duplicates, and in the forums is that a patch has been prepared, and shown to work. Why not create a "r2" ebuild and save every single person who uses mailx from having to hunt down this bug, create an overlay, download the patches, and apply the patches to a copy of the original ebuild before they can update their systems? If upstream does get around to making the changes, we can create a "r3" ebuild then, if it's even needed. Meanwhile our systems will build and you'll stop wasting everybody's time by being territorial. End rant. Still not working. /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stddef.h:411:1: warning: this is the location of the previous definition fio.c:150:35: error: macro "offsetof" requires 2 arguments, but only 1 given fio.c: In function 'setptr': fio.c:150: error: 'offsetof' undeclared (first use in this function) fio.c:150: error: (Each undeclared identifier is reported only once fio.c:150: error: for each function it appears in.) fio.c:137: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result fio.c: In function 'putline': fio.c:191: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result make: *** [fio.o] Error 1 * ERROR: mail-client/mailx-8.1.2.20050715-r1 failed: * (no error message) Ok, using heirloom-mailx aka mail-client/nail. Works fine. So WORKSFORME. Funny though, mailx builds fine on my other box, and my other one and even on another one. Just this one, no workie. Weird. Thanks. Me :) now. We'll be migrating the default install to nail as soon as all the keywords are in place. In the mean time for all the people hitting this bug, you don't need to comment, please just install nail instead of mailx, we'll be masking and removing mailx soon. Nothing in the tree needs strictly mailx, everything should work just as fine with nail. Thank you! +*mailx-8.1.2.20050715-r2 (11 Jul 2010) + + 11 Jul 2010; Sebastian Pipping <sping@gentoo.org> + +mailx-8.1.2.20050715-r2.ebuild, + +files/mailx-8.1.2.20050715-offsetof.patch: + Apply patch 225901 by Vasiliy A. Balkanov renaming internal macro + offsetof() to offsetofmailx() to fix a compile error (bug #310493) + Looks fixed to me. Please re-open if needed. (In reply to comment #23) > Looks fixed to me. Please re-open if needed. So, with this fixed, is nail still going to become the default, and will mailx still be masked and removed (per comment #22)? |