Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 305251 - mail-client/mailx fails to build
Summary: mail-client/mailx fails to build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Net-Mail Packages
URL:
Whiteboard:
Keywords:
Depends on: 324127 324129
Blocks:
  Show dependency tree
 
Reported: 2010-02-15 14:15 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2010-07-14 05:56 UTC (History)
4 users (show)

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


Attachments
Build log (mailx-8.1.2.20050715-r1:20100215-044301.log,9.20 KB, text/plain)
2010-02-15 14:15 UTC, Diego Elio Pettenò (RETIRED)
Details
Mailx offsetoff patch (mailx-8.1.2.20050715-offsetoff.patch,433 bytes, patch)
2010-03-17 18:47 UTC, Maciej S. Szmigiero
Details | Diff
Mailx offsetoff ebuild patch (mailx-8.1.2.20050715-r1.ebuild.patch,351 bytes, patch)
2010-03-17 18:52 UTC, Maciej S. Szmigiero
Details | Diff
build.log (build.log,6.28 KB, text/plain)
2010-05-06 11:47 UTC, cilly
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2010-02-15 14:15:34 UTC
Portage 2.1.7.17 (default/linux/x86/10.0, gcc-4.4.3-asneeded, glibc-2.11-r1, 2.6.33-rc8 i686)
=================================================================
System uname: Linux-2.6.33-rc8-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1
Timestamp of tree: Sat, 13 Feb 2010 21:00:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p37
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.6.4-r1, 3.1.1-r1
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.4_p6-r1, 1.5-r1, 1.6.3-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc:       4.4.3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.32
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openfire/resources/security/ /opt/openjms/config /usr/lib/fax /usr/lib/tomoyo/conf /usr/share/X11/xkb /usr/share/bufrtables /usr/share/config /usr/share/qpsmtpd/plugins /var/bind /var/lib/hsqldb /var/phxd /var/spool/fax/etc /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo"
INSTALL_MASK="  /usr/share/doc  /usr/share/info"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j14"
PKGDIR="/var/spool/portage/packages"
PORTAGE_COMPRESS=""
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/cache/portage/tree-tinderbox"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 java5 java6 modules mudflap ncurses nls nostatic nptl nptlonly openmp pam pcre perl pppd python qt3support readline reflection ruby session spl ssl sysfs tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias auth_digest" ELIBC="glibc" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18 jruby ruby19" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, LC_ALL, LINGUAS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-02-15 14:15:45 UTC
Created attachment 219777 [details]
Build log
Comment 2 Kevin Pyle 2010-02-16 03:36:58 UTC
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.
Comment 3 Boney McCracker 2010-02-20 00:36:24 UTC
Well, that's unfortunate.  Maybe I can use nail instead.
Comment 4 Boney McCracker 2010-02-20 08:27:36 UTC
(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?
Comment 5 Boney McCracker 2010-02-21 06:18:50 UTC
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).
Comment 6 Boney McCracker 2010-02-21 06:42:57 UTC
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.
Comment 7 Maciej S. Szmigiero 2010-03-17 18:47:22 UTC
Created attachment 224051 [details, diff]
Mailx offsetoff patch
Comment 8 Maciej S. Szmigiero 2010-03-17 18:52:35 UTC
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.
Comment 9 Boney McCracker 2010-03-17 20:39:30 UTC
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.)
Comment 10 Maciej S. Szmigiero 2010-03-18 19:24:40 UTC
(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.
Comment 11 James L. Hammons 2010-04-08 13:09:39 UTC
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.
Comment 12 Ryan Nanney 2010-04-20 20:33:03 UTC
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.
> 

Comment 13 Stephan Kupfer 2010-05-04 10:59:35 UTC
Resolution from #8 is working.
Please put it upstream!

Thx Maciej Szmigiero!

Comment 14 cilly 2010-05-05 15:34:51 UTC
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
Comment 15 cilly 2010-05-06 11:47:25 UTC
Created attachment 230585 [details]
build.log

complete build.log
Comment 16 cilly 2010-05-12 07:59:54 UTC
@net-mail devs:

mailx is broken, does not compile, pls fix.
Comment 17 Boney McCracker 2010-05-12 08:36:41 UTC
(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.
Comment 18 Rodolphe Rocca 2010-05-23 17:53:39 UTC
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.
Comment 19 Jerry McDonald 2010-05-24 00:18:44 UTC
(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.
Comment 20 Mike Hunt 2010-06-01 01:31:54 UTC
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)                                                      
Comment 21 Mike Hunt 2010-06-01 01:42:28 UTC
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.
Comment 22 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-06-15 14:14:23 UTC
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!
Comment 23 Sebastian Pipping gentoo-dev 2010-07-11 23:18:28 UTC
+*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.
Comment 24 Boney McCracker 2010-07-14 05:56:55 UTC
(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)?