First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 202304
Alias:
Product:
Component:
Status: RESOLVED
Resolution: UPSTREAM
Assigned To: Gentoo Science Mathematics related packages <sci-mathematics@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Artemii <aaaaaa111111@list.ru>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 202304 depends on: Show dependency tree
Bug 202304 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2007-12-14 19:27 0000
[ebuild   R   ] sys-cluster/mpich2-1.0.6  USE="crypt cxx doc fortran mpe pvfs2
romio threads -debug -fast -mpe-sdk" 0 kB
[ebuild   R   ] sci-libs/hdf5-1.6.6  USE="fortran mpi ssl threads zlib -cxx
-debug -szip" 0 kB
[ebuild     U ] sci-mathematics/octave-2.9.18 [2.9.17] USE="doc fftw* hdf5
readline zlib -curl -debug -emacs" 0 kB [1]

octave don't compile with hdf5 compiled with mpi support. Last error is:

In file included from /usr/include/mpi.h:1110,
                 from /usr/include/H5public.h:54,
                 from /usr/include/hdf5.h:24,
                 from ov.h:34,
                 from oct-obj.h:33,
                 from Cell.h:32,
                 from Cell.cc:29:
/usr/include/mpicxx.h:26:2: error: #error "SEEK_SET is #defined but must not be
for the C++ binding of MPI"
/usr/include/mpicxx.h:30:2: error: #error "SEEK_CUR is #defined but must not be
for the C++ binding of MPI"
/usr/include/mpicxx.h:35:2: error: #error "SEEK_END is #defined but must not be
for the C++ binding of MPI"

comment from mpicxx.h:

// There is a name conflict between stdio.h and the MPI C++ binding
// with respect to the names SEEK_SET, SEEK_CUR, and SEEK_END.  MPI
// wants these in the MPI namespace, but stdio.h will #define these
// to integer values.  #undef'ing these can cause obscure problems
// with other include files (such as iostream), so we instead use
// #error to indicate a fatal error.  Users can either #undef
// the names before including mpi.h or include mpi.h *before* stdio.h
// or iostream.

#ifndef MPICH_IGNORE_CXX_SEEK
#ifdef SEEK_SET
#error "SEEK_SET is #defined but must not be for the C++ binding of MPI"
//#undef SEEK_SET
#endif
#ifdef SEEK_CUR
#error "SEEK_CUR is #defined but must not be for the C++ binding of MPI"
//#undef SEEK_CUR
#endif
#ifdef SEEK_END
//#undef SEEK_END
#error "SEEK_END is #defined but must not be for the C++ binding of MPI"
#endif
#endif


P.S. octave-2.9.19 have the same problem

Reproducible: Always

------- Comment #1 From Artemii 2007-12-14 19:32:40 0000 -------
emerge --info

Portage 2.1.4_rc9 (default-linux/amd64/2007.0, gcc-4.2.2, glibc-2.7-r1,
2.6.23-gentoo-r2 x86_64)
=================================================================
System uname: 2.6.23-gentoo-r2 x86_64 AMD Athlon(tm) 64 Processor 3200+
Timestamp of tree: Thu, 13 Dec 2007 01:47:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.1.3
dev-lang/python:     2.5.1-r4
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.10-r5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=athlon64 -pipe -msse3 "
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf
/etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/
/etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo
/etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=athlon64 -pipe -msse3 "
DISTDIR="/distfiles"
FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms
strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="ru_RU.UTF-8"
LC_ALL=""
LINGUAS="ru en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude=/distfiles --exclude=/local --exclude=/packages
--filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/science /usr/local/portage"
SYNC="rsync://mirror.aiya.ru/gentoo-portage"
USE="3dnow 3dnowext 7zip X Xaw3d a52 aac acl acpi alsa amd64 amr apache2 arts
artworkextra audiofile avi berkdb bitmap-fonts bluetooth boost browserplugin
bzip2 cairo cdr clamav cli cracklib crypt css cups dbus directfb djvu dri dts
dv dvb dvd dvdr dvdread encode exif fbcon ffmpeg flac flash foomaticdb fortran
freetype2 gdbm gif gimp gphoto2 gpm gtk gtk2 guile hal hdf5 iconv ieee1394
imagemagick imlib ipv6 isdnlog jack java jpeg jpeg2k kde kdeenablefinal kipi
ladspa lame lcms ldap libsamplerate lirc lm_sensors logrotate lzw lzw-tiff mad
midi mmap mmx mmxext mng mono mozilla mp2 mp3 mp4 mpeg mudflap mysql ncurses
neXt nls nptl nptlonly nsplugin ntfs nvidia ogg oggvorbis openal openexr opengl
openmp pam pcre pdf pdflib perl png postgres ppds pppd pulseaudio python qt qt3
qt4 quicktime readline reflection reiserfs sdl sensord session slang slp
sndfile sox speex spell spl sqlite3 sse sse2 ssl svg tcpd tetex theora threads
tiff tools truetype truetype-fonts type1-fonts udev unicode usb userlocales
utf8 v4l v4l2 vcd visualization vorbis wifi wmf x264 xcb xcomposite xml xml2
xorg xpm xprint xrandr xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp
atiixp-modem bt87x ca0106 cmipci 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 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"
CAMERAS="canon fuji template ptp2 directory" ELIBC="glibc"
INPUT_DEVICES="keyboard mouse ps2mouse penmount evdev joystik" KERNEL="linux"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses
text" LINGUAS="ru en" LIRC_DEVICES="devinput" USERLAND="GNU"
VIDEO_CARDS="nvidia nv vesa radeon"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS,
PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #2 From Markus Dittrich 2007-12-15 11:27:00 0000 -------
Hi Artemij,

Please correct me if I am wrong, but I don't think that
this is a problem with octave since the latter has no
mpi support itself and doesn't therefore include any
mpi headers. Octave simply pulls in hdf5 so this is
probably something that needs to be fixed in hdf5
instead if anything.

cheers,
Markus

------- Comment #3 From Artemii 2007-12-15 12:44:36 0000 -------
This error means, that hdf5.h must be included BEFORE iostream. In Cell.cc (and
in all other sources in .../src), oct-obj.h (include hdf5) is AFTER
idx-vector.h (include iostream) included.

------- Comment #4 From Markus Dittrich 2007-12-15 13:38:25 0000 -------
Ahh, thanks for clarifying :)

This is probably something that should be fixed
upstream rather than by us. Would you mind filing
a bug upstream or even better, send them a patch
that takes care of this?

Thanks,
Markus

------- Comment #5 From Artemii 2007-12-15 14:52:05 0000 -------
I have sent bug to bug@octave.org

------- Comment #6 From Markus Dittrich 2007-12-15 15:24:06 0000 -------
Thank you very much! Please keep us in the loop about what
upstream has to say and if they will fix it.

cheers,
Markus

------- Comment #7 From Artemii 2007-12-18 18:35:07 0000 -------
Answer from upstream:

John W. Eaton

...

It seems like a really bad design decision for the MPI spec to use
SEEK_SET, SEEK_CUR, and SEEK_END for some purpose different from the
usage of the standard C library, so I don't see that this is a bug in
Octave.

jwe

------- Comment #8 From Markus Dittrich 2007-12-19 15:19:32 0000 -------
Thanks for posting John's response and that's what I
expected. I'll have a look at it, but before we can switch any
includes it has to be 100% certain that this doesn't screw
up octave's I/O in some other place since it clearly wasn't
coded with this in mind.

Thanks,
Markus

------- Comment #9 From Steve Arnold 2007-12-24 19:45:47 0000 -------
In the meantime, you can rebuild mpich2 without the cxx USE flag.  Let me know
if octave still doesn't build (but it should).

------- Comment #10 From Artemii 2007-12-24 20:40:48 0000 -------
I had compiled hdf5 without mpi support, after main stream answer. It works. I
will try other USE flag combination later...

------- Comment #11 From Ben 2008-01-24 23:49:59 0000 -------
This is a known bug in the mpi standard. 

http://www.mcs.anl.gov/research/projects/mpich2/support/index.php?s=faqs#cxxseek

------- Comment #12 From Markus Dittrich 2008-11-08 11:48:37 0000 -------
I'll close this one as WONTFIX since this really is
something that should be done by upstream not us.

Best,
Markus

First Last Prev Next    No search results available      Search page      Enter new bug