Bug 178256 - >=dev-lang/ocaml-3.09 keywords dropped
Bug#: 178256 Product:  Gentoo Linux Version: 2006.1 Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: arm@gentoo.org Reported By: aballier@gentoo.org
Component: Applications
URL: 
Summary: >=dev-lang/ocaml-3.09 keywords dropped
Keywords:  
Status Whiteboard: 
Opened: 2007-05-12 22:29 0000
Description:   Opened: 2007-05-12 22:29 0000
3.09 release of ocaml apparently had keywords dropped for your arch, I couldn't
find any reason nor any trace of a notification about it.

Could you please have a look at it ? And if there is a problem, please report
it, perhaps we can arrange something ;)

------- Comment #1 From Raúl Porcel 2007-05-13 20:52:49 0000 -------
Works fine on ~ia64,

~ia64 done.

------- Comment #2 From Jeroen Roovers 2007-05-14 15:39:21 0000 -------
Marked the greatest version ~hppa.

------- Comment #3 From Jeroen Roovers 2007-05-14 18:45:39 0000 -------
Build failure on this system, probably because configure needs to be patched
yet again:

Mon May 14 20:44:32 CEST 2007
Portage 2.1.2.7 (default-linux/hppa/2006.1, gcc-4.1.1, glibc-2.3.6-r5,
2.6.19.1-pa0-JeR parisc)
=================================================================
System uname: 2.6.19.1-pa0-JeR parisc PA8700 (PCX-W2)
Gentoo Base System release 1.12.9
Timestamp of tree: Mon, 14 May 2007 15:50:01 +0000
distcc 2.18.3 hppa2.0-unknown-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
ccache version 2.4 [disabled]
dev-lang/python:     2.3.5-r3, 2.4.4-r4, 2.5.1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17.50.0.12
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="hppa"
AUTOCLEAN="yes"
CBUILD="hppa2.0-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mschedule=8000 -march=2.0 -ggdb -Wall"
CHOST="hppa2.0-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/spool/PBS
/var/bind /var/www/localhost/htdocs/wordpress/wp-config.php"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache1-php4/ext-active/
/etc/php/apache1-php5/ext-active/ /etc/php/apache2-php4/ext-active/
/etc/php/apache2-php5/ext-active/ /etc/php/cgi-php4/ext-active/
/etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/
/etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo
/etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -mschedule=8000 -march=2.0 -ggdb -Wall"
DISTDIR="/keeps/gentoo/distfiles"
FEATURES="autoaddcvs buildpkg cvs distlocks fixpackages notitles sandbox
sfperms splitdebug strict"
GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/
http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/
http://ftp.rhnet.is/pub/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo "
LC_ALL="en_US.UTF-8"
LINGUAS="en nl he"
MAKEOPTS="-j2"
PKGDIR="/keeps/gentoo/packages/elmer"
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="/dev/shm"
PORTDIR="/keeps/gentoo/portage"
PORTDIR_OVERLAY="/keeps/gentoo/local"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="7zip X Xaw3d a52 aac aalib accessibility alsa amr ao aoss apache2 ares
arts asf audiofile avahi avfs bash-completion berkdb bidi bitmap-fonts
bittorrent bl bzip2 c++ cairo caps catalogs cdb cddb cdparanoia cdr chardet cjk
cli cpudetection cracklib crypt cups curl custom-cflags dbus dcraw dga directfb
doc domainkeys dts dv dvd dvdread dxr3 edl elf enca encode esd examples exif
expat fam fame fastbuild fastcgi fbcon ffmpeg firefox flac foomaticdb fortran
ftp gd gdbm ggi gif gimpprint glitz glut gmp gnome gnutls gphoto2 gpm gs gtk
gtk2 gtkhtml hal hesiod hppa icecast iconv idn imagemagick imlib immqt-bc
inquisitio ipv6 isdnlog javascript jingle jpeg jpeg2k kde kdeenablefinal
kerberos lcms ldap libcaca libnotify libsamplerate libwww logrotate lua lzo mad
matroska memcache mhash midi mikmod mmap mng modplug motif mozbranding mp3
mudflap musepack mysql nas ncurses netpbm nfs nls offensive ogg openexr opengl
oss pam pango pbs pch pcre pdf perl php pic plotutils plugins png portaudio
postgres povray pppd pulseaudio python qt3 qt3support readline recode
reflection rpc rrdtool rtc ruby samba sasl scanner scim sdl session sid slang
slp sndfile snmp speex spell spl sqlite ssl startup-notification suhosin svg
sysfs tcl tcpd tetex tga theora threads thunar-vfs tidy tiff timidity tk
truetype truetype-fonts twolame type1-fonts udev unicode unzip usb userlocales
utempter utf v4l v4l2 vanim vcd vidix vim-syntax vorbis wavpack webdav
webinstall wlan wma wmf xanim xattr xchattext xcomposite xface xml xml2 xmpi
xorg xrandr xscreensaver xv xvid xvmc zeroconf zip zlib" ALSA_CARDS="ad1889
usb-audio" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse
evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216
lcdm001 mtxorb ncurses text" LINGUAS="en nl he" USERLAND="GNU"
VIDEO_CARDS="stifb fbdev matrox"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS,
PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Excerpt from build log to follow as attachment.

------- Comment #4 From Jeroen Roovers 2007-05-14 18:46:16 0000 -------
Created an attachment (id=119245) [details]
HPPA build log

------- Comment #5 From Alexis Ballier 2007-05-14 20:09:32 0000 -------
(In reply to comment #3)
> Build failure on this system, probably because configure needs to be patched
> yet again:


hmmm that seems to be a bigger issue than configure patching

I found this : 

http://caml.inria.fr/mantis/view.php?id=4147
http://caml.inria.fr/mantis/view.php?id=3937

since xleroy is one of the head developpers, this does not seem to be good
news... 


Perhaps adding the -compact -inline 0 options could help but that just tells 
ocamlopt to optimize for size and not inlining afaik.


btw, it does work for ocaml 3.08.4  right ?


esp. the last comment in 3937 makes me think that it's probably better to not
have hppa support... what's your opinion about it ?
a workaround would be to disable make opt.opt for hppa, thus you'll get
bytecode versions of the compilers but not native code ones.

from ocaml INSTALL file : 

<quote>
5- (Optional) If you want to compile fast versions of the Objective
Caml compilers, you can compile them with the native-code compiler
(they are compiled to bytecode by default).  Just do:

        make opt.opt

Later, you can compile your programs to bytecode using ocamlc.opt
instead of ocamlc, and to native-code using ocamlopt.opt instead of
ocamlopt.  The ".opt" compilers should run faster than the normal
compilers, especially on large input files, but they may take longer
to start due to increased code size.  If compilation times are an issue on
your programs, try the ".opt" compilers to see if they make a
significant difference.
</quote>

so this shouldn't be an issue to not have 'em as other packages shouldn't
assume you have the .opt versions.

------- Comment #6 From Jeroen Roovers 2007-05-14 21:32:47 0000 -------
(In reply to comment #5)
> (In reply to comment #3)
> > Build failure on this system, probably because configure needs to be patched
> > yet again:
> 
> 
> hmmm that seems to be a bigger issue than configure patching

Yes, from the bug reports below it appears that the asm fails not just on
hppa-linux but on hppa-hpux as well.

> I found this : 
> 
> http://caml.inria.fr/mantis/view.php?id=4147
> http://caml.inria.fr/mantis/view.php?id=3937
> 
> since xleroy is one of the head developpers, this does not seem to be good
> news... 

Indeed. However, someone might still fix it at some point, if only for the
speed advantage. :)

> Perhaps adding the -compact -inline 0 options could help but that just tells 
> ocamlopt to optimize for size and not inlining afaik.

Could you provide a patch for that?

> btw, it does work for ocaml 3.08.4  right ?

ocaml-3.08.4 works fine.

> esp. the last comment in 3937 makes me think that it's probably better to not
> have hppa support... what's your opinion about it ?
> a workaround would be to disable make opt.opt for hppa, thus you'll get
> bytecode versions of the compilers but not native code ones.

Well, if the above extra options don't do it, let's not support native code.

> so this shouldn't be an issue to not have 'em as other packages shouldn't
> assume you have the .opt versions.

We will just have to make do with a slower ocaml / ml programs, then.

------- Comment #7 From Alexis Ballier 2007-05-14 23:41:49 0000 -------
Created an attachment (id=119281) [details]
patch to build on hppa ? 

------- Comment #8 From Alexis Ballier 2007-05-14 23:49:52 0000 -------
(In reply to comment #6)

> > Perhaps adding the -compact -inline 0 options could help but that just tells 
> > ocamlopt to optimize for size and not inlining afaik.
> 
> Could you provide a patch for that?

Perhaps that patch would help


> > esp. the last comment in 3937 makes me think that it's probably better to not
> > have hppa support... what's your opinion about it ?
> > a workaround would be to disable make opt.opt for hppa, thus you'll get
> > bytecode versions of the compilers but not native code ones.
> 
> Well, if the above extra options don't do it, let's not support native code.

the problem is that ocaml hppa asm generation seems bugged, and fails with "too
big" files, adding -compact -inline 0 like the above patch only tries to reduce
the size...


I've discussed with one of debian's ocaml maintainers, they dont have native
code support for hppa, m68k, mips and s390 due to non or poor support. hppa
seemed to be the closest one for good support afaik, they had called for help
on this but without much luck :(

------- Comment #9 From Jeroen Roovers 2007-05-15 06:40:16 0000 -------
(In reply to comment #7)
> Created an attachment (id=119281) [edit] [details]
> patch to build on hppa ? 

That works! Pity there is not test suite, though.

Please fit it into the ebuild as works for you and report back, then I will
check it out and will very likely keyword it for HPPA.

------- Comment #10 From Alexis Ballier 2007-05-15 09:43:05 0000 -------
(In reply to comment #9)
> (In reply to comment #7)
> > Created an attachment (id=119281) [edit] [details]
> > patch to build on hppa ? 
> 
> That works! Pity there is not test suite, though.
> 
> Please fit it into the ebuild as works for you and report back, then I will
> check it out and will very likely keyword it for HPPA.

Ok good, I've added the patch which is applied only for hppa (as this is
counter optimizations for ocamlp4).
As a test I think the best way is to test ocaml packages on the architecture.
For ocamlp4, I've found that dev-ml/ocamlnet uses it (unfortunately not
keyworded for you) there are probably other packages aswell.
Feel free to add/modify some comments in the patch or the ebuild about this if
you think mines are incorrect or can be made better ;)



Now on something different : it seems that "recent" binutils caused problems
for alpha, see : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338437
If you can trigger it, just try "use alpha && append-ldflags "-Wl,--no-relax"".
As we now support user cflags / ldflags for ocaml this should just work fine.

------- Comment #11 From Jeroen Roovers 2007-05-15 22:30:07 0000 -------
Thanks for the patch! Keyworded ~hppa again.

------- Comment #12 From Raúl Porcel 2007-05-26 16:41:58 0000 -------
~alpha done

------- Comment #13 From Alexis Ballier 2007-12-17 18:11:51 0000 -------
probably better to go directly to 3.10.0 nowadays...

------- Comment #14 From Raúl Porcel 2008-09-22 18:56:14 0000 -------
~arm added, closing