Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 331229 - dev-lang/open64 version bump (and even a further one from amd)
Summary: dev-lang/open64 version bump (and even a further one from amd)
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement
Assignee: Gentoo TreeCleaner Project
URL: http://developer.amd.com/cpu/open64/p...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-04 17:29 UTC by Luca Barbato
Modified: 2012-02-26 16:13 UTC (History)
7 users (show)

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


Attachments
My attempt to write an ebuild file for Open64 5.0 (open64-5.0.ebuild,1.27 KB, text/plain)
2011-11-15 13:34 UTC, matthias.grobarek
Details
files/5.0-makefile-dirfix.patch (5.0-makefile-dirfix.patch,775 bytes, patch)
2011-11-15 13:36 UTC, matthias.grobarek
Details | Diff
files/5.0-configure-dirfix.patch (5.0-configure-dirfix.patch,1.52 KB, patch)
2011-11-15 13:39 UTC, matthias.grobarek
Details | Diff
Working ebuild for open64-5.0 (open64-5.0.ebuild,1.63 KB, text/plain)
2011-12-11 11:41 UTC, matthias.grobarek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Luca Barbato gentoo-dev 2010-08-04 17:29:05 UTC
A new version is available, it requires to set the TOOLROOT as "${D}/usr" and apparently it links itself to the wrong libstdc++ (the system one) while looking for the open64 one when invoking the be executable from the toolchain.
Comment 1 Patrick Lauer gentoo-dev 2010-09-15 15:53:33 UTC
The amd fork is scary. It's not directly downloadable, and they don't seem to cooperate with open64 upstream. I'll have to ignore that one :)
Comment 2 Markus Hauschild 2010-11-22 10:57:05 UTC
Well 4.2.3 is not an AMD fork
Comment 3 Kirill Igorevich Cherniy 2011-05-16 06:31:21 UTC
4.2.4 is out already
Comment 4 Mark Loeser (RETIRED) gentoo-dev 2011-05-17 13:23:00 UTC
Treecleaner: Please mask this package for removal.  It hasn't been bumped in ages and deps on a version of bison that's been removed from the tree.  Patrick already stated on IRC that this package is difficult to maintain and may not even compile with recent versions of GCC.
Comment 5 Kirill Igorevich Cherniy 2011-06-15 02:28:26 UTC
This package compiles well with recent gcc and bison.
at least with ./configure && make -j 12
But i havent succeeded in compiling it with ebuild.
Comment 6 Markos Chandras (RETIRED) gentoo-dev 2011-07-01 11:12:12 UTC
based on the latest comment, this package seems that it may actually compile. Do you still want to punt the ebuild?
Comment 7 Kirill Igorevich Cherniy 2011-07-03 05:56:40 UTC
(In reply to comment #6)
> based on the latest comment, this package seems that it may actually compile.
> Do you still want to punt the ebuild?

At least build problems are no due to bison as it was told.

It's something wrong with package build system, it seems that it uses both 64 and 32 binaries.

maybe problem is due to gcc-4.2.0 used to bootstrap it.

../configure --prefix=/opt/open64 --with-build-compiler=GNU CC=gcc-4.2.4 CXX=g++-4.2.4 FC=gfortran-4.2.4 
and make -j 12 made it compile.

but i dont know why ebuild fails with same configure options.

maybe it's due to --target in ebuild, i'll check it.

Pls dont close this bug yet.
Comment 8 Kirill Igorevich Cherniy 2011-07-03 06:14:07 UTC
compiler also can compile itself( just tested ), though it makes lots of warnings on wrong CFLAGS.

i'll check its build system this week, maybe i'll find problem.
Comment 9 Kirill Igorevich Cherniy 2011-07-03 18:45:44 UTC
64-bit libhugetlbfs fails to build with emerge

/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: duplicate version tag `VERS_1.0'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: setup_libhugetlbfs: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: __setup_hugepage: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: hugetlbfs_unlinked_fd: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: hugetlbfs_find_path: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: hugetlbfs_test_path: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: gethugepagesize: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: failed to set dynamic section sizes: Bad value

any ideas?
Comment 10 Patrick Lauer gentoo-dev 2011-07-30 06:12:36 UTC
gcc -m32 -DKEY -DOPEN64_SPIN -DFE_GNU_4_2_0   -O2 -DTARG_X8664 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute    -DHAVE_CONFIG_H  -o cc1-dummy c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-objc-common.o c-dump.o c-pch.o c-parser.o  c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o dummy-checksum.o \
  main.o  libbackend.a ../../osprey/targdir/libspin_4_2_0/libgspin42.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a   ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a
gcc: ../../osprey/targdir/libspin_4_2_0/libgspin42.a: No such file or directory


there's some weirdness in the makefiles, building with newer gcc seems impossible
Comment 11 Kirill Igorevich Cherniy 2011-08-02 18:55:29 UTC
gcc-4.1 or 4.2 is hard dependency as i see.
Comment 12 matthias.grobarek 2011-11-15 13:34:25 UTC
Created attachment 292629 [details]
My attempt to write an ebuild file for Open64 5.0

Open64 5.0 is out. I tried to compile it on my own, using the attached ebuild, but I failed; depending on the CFLAGS used (and maybe also depending on luck), I got errors from different places. My latest build error:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../../../osprey/targdir/libspin_4_2_0/libgspin42.a(gspin-tree.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../../../osprey/targdir/libspin_4_2_0/libgspin42.a(gspin-mempool.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../../../osprey/targdir/libspin_4_2_0/libgspin42.a(gspin-io.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../../../osprey/targdir/libspin_4_2_0/libgspin42.a(gspin-tel.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../../../osprey/targdir/libspin_4_2_0/libgspin42.a(gspin-list.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Invalid operation
collect2: ld returned 1 exit status
make[4]: *** [cc1-dummy] Error 1

The ebuild has all the dependencies mentioned in the Open64 docs; although they say it needs GCC between 4.0 and 4.4, I added 4.5 as well to test it with my existing environment. Additionally, two patches are applied that I had to create to overcome some path oddities in one of the Makefiles (the same problem as in comment #10) and in one of the configure scripts.

I’ve become a bit frustrated so I gave up building it… but maybe someone else can make it run. After all, I’m not experienced with Makefile stuff and compiling compilers.

---

My environment:

Portage 2.1.10.11 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.12.2-r0, 3.1.0-gentoo x86_64)
=================================================================
System uname: Linux-3.1.0-gentoo-x86_64-AMD_Phenom-tm-_II_X4_965_Processor-with-gentoo-2.1
Timestamp of tree: Mon, 14 Nov 2011 06:30:01 +0000
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.1.4-r3
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.12.2
Repositories: gentoo spring roslin x-portage
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA @FREE ut2003 skype-eula RTCW-ETEULA dlj-1.1 PUEL teamspeak3 AdobeFlash-10 AdobeFlash-10.1"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -mfpmath=sse -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /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="-march=amdfam10 -O2 -mfpmath=sse -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs candy compress-build-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch usersync"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="nds_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en de ja ru"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="xz"
PORTAGE_COMPRESS_FLAGS="-9e"
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="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/Spring /var/lib/layman/roslin /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X Xaw3d a52 aac acl acpi aim alsa amd64 amr anthy ao apm audiofile bash-completion berkdb bidi bzip2 cairo cdda cddb cdparanoia cdr chroot cjk cli consolekit cracklib crypt css cups curl cxx dbus dri dts dvd dvdnav dvdr eds emboss enca encode exif faac faad fam fbcon ffmpeg firefox flac fontconfig foomaticdb ftp gcrypt gd gdbm gdu geoip gif gimp gloox gmp gnome gnutls gpm gs gstreamer gtk iconv icq icu id3 id3tag idn imagemagick imap imlib immqt-bc ipod ipv6 irc jabber jack java java6 javascript joystick jpeg jpeg2k kde lame lcms libcaca libnotify libsamplerate libwww lm_sensors logitech-mouse lzma lzo m17n-lib mad matroska memlimit midi mikmod mime mmap mmx mmxext mng modplug modules mp2 mp3 mp4 mpeg mplayer mudflap multilib musepack nautilus ncurses network nls nntp nptl nptlonly nsplugin offensive ogg openal opengl openmp oscar otr pam pango pcre pdf pic png policykit posix ppds pppd prime qt3support qt4 quicktime rar readline realmedia recode rss rtsp samba sasl sdl session sharedmem sndfile snmp sockets socks5 soundtouch speex sse sse2 sse3 sse4a ssl startup-notification subversion svg sysfs syslog system-sqlite sysvipc taglib tcpd theora threads tiff truetype twolame udev unicode usb vdpau videos vorbis vpx wavpack webm wma wmf x264 xcb xft xine xml xorg xpm xprint xulrunner xv xvid xvmc 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 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de ja ru" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fglrx" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS
Comment 13 matthias.grobarek 2011-11-15 13:36:35 UTC
Created attachment 292631 [details, diff]
files/5.0-makefile-dirfix.patch

This patch seems to fix the Makefile error. It looks to me as if the Open64 devs simply forget one ".." in the path.
Comment 14 matthias.grobarek 2011-11-15 13:39:54 UTC
Created attachment 292633 [details, diff]
files/5.0-configure-dirfix.patch

One of the configure scripts seems to point to the wrong location of "xgcc": the scripts omits the HOST_SUBDIR although it’s necessary.
Comment 15 matthias.grobarek 2011-12-11 11:41:26 UTC
Created attachment 295451 [details]
Working ebuild for open64-5.0

After diving deeper into how the Open64 build process and Portage itself work, I finally got a working ebuild.

In contradiction to the Portage maintainers, it builds fine with bison-2.4.3 so there is no need to hard-mask >=open64-5.0. Also, I successfully used gcc-4.5.3-r1 so you can also use GCC 4.5 (the Open64 devs advise to use something from 4.0 to 4.4)

Caveats:
* Fortran support doesn’t work because something fails in the building process (missing file), so don’t enable the +fortran USE flag. Since I don’t need Fortran support, I can get along without it. If someone knows how to fix this, please do it.
* The attached ebuild installs Open64 into /usr/local. On my system, this shouldn’t be necessary because Open64 has no file collisions with other packages. But since I’m only one Gentoo user, there may be other cases where there are collisions. Maybe setting the prefix to /opt/open64 would be a better approach.
* I’m not an expert at ebuilds so I think that some things in there might be bad style.
* I had to drop the CFLAGS and LDFLAGS variable exports to make the compile work, Open64 seems to be sensitive there. Otherwise you get an error like in comment #9. This means that your own flags from make.conf won’t be used at all. Just so you know.
Comment 16 Patrick Lauer gentoo-dev 2011-12-26 03:16:41 UTC
AR     /var/tmp/portage/dev-lang/open64-5.0/work/build/osprey/targdir_lib2/libacml_mv/libacml_mv.a
RANLIB /var/tmp/portage/dev-lang/open64-5.0/work/build/osprey/targdir_lib2/libacml_mv/libacml_mv.a
LD     /var/tmp/portage/dev-lang/open64-5.0/work/build/osprey/targdir_lib2/libacml_mv/libacml_mv.so.1
LN     /var/tmp/portage/dev-lang/open64-5.0/work/build/osprey/targdir_lib2/libacml_mv/libacml_mv.so.1
make  last
make[1]: Leaving directory `/var/tmp/portage/dev-lang/open64-5.0/work/build/osprey/targdir_lib2'
make: *** [lib2] Error 2
make: Leaving directory `/var/tmp/portage/dev-lang/open64-5.0/work/build'
 * ERROR: dev-lang/open64-5.0 failed (compile phase):
 *   emake failed

Doesn't work for me, but thanks for trying.
Comment 17 matthias.grobarek 2011-12-26 12:45:51 UTC
Patrick, could you please retry to build it with the MAKEOPTS parameter -j1 (instead of higher values)? Your snippet doesn’t contain an actual error message from the compilation, so I assume that the error happened before, in another make process.
Comment 18 Patrick Lauer gentoo-dev 2011-12-27 02:31:31 UTC
MAKE   default in /var/tmp/portage/dev-lang/open64-5.0/work/build/libhugetlbfs
         VERSION
version string: 1.3
         CC32 obj32/elflink.o
         AS32 obj32/sys-elf_i386.o
         CC32 obj32/hugeutils.o
         CC32 obj32/version.o
         CC32 obj32/init.o
         CC32 obj32/morecore.o
         CC32 obj32/debug.o
         LD32 (shared) obj32/libhugetlbfs_open64.so
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: duplicate version tag `VERS_1.0'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: setup_libhugetlbfs: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: __setup_hugepage: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: setup_libhugetlbfs: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: __setup_hugepage: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: hugetlbfs_unlinked_fd: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: hugetlbfs_find_path: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: hugetlbfs_test_path: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: gethugepagesize: undefined version: VERS_1.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: failed to set dynamic section sizes: Bad value
collect2: ld returned 1 exit status
make[3]: *** [obj32/libhugetlbfs_open64.so] Error 1
make[2]: *** [default] Error 2
make[1]: *** [libhugetlbfs] Error 2
make[1]: Leaving directory `/var/tmp/portage/dev-lang/open64-5.0/work/build/osprey/targdir_lib'
make: *** [lib] Error 2
make: Leaving directory `/var/tmp/portage/dev-lang/open64-5.0/work/build'
Comment 19 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2012-02-26 16:13:34 UTC
Removed from tree