Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 361767 - =dev-lang/ocaml-3.12.1 stable request
Summary: =dev-lang/ocaml-3.12.1 stable request
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Keywording and Stabilization (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Gentoo Team for the ML programming language family
URL: http://forums.gentoo.org/viewtopic-t-...
Whiteboard: was: ocaml 3.11.2 fails to build (new...
Keywords: STABLEREQ
: 367361 373297 383171 (view as bug list)
Depends on:
Blocks: 378485
  Show dependency tree
 
Reported: 2011-04-03 09:10 UTC by Cybertinus
Modified: 2015-05-25 04:40 UTC (History)
13 users (show)

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


Attachments
emerge --info (emerge_info.txt,15.10 KB, text/plain)
2011-04-03 09:12 UTC, Cybertinus
Details
the build.log (build.log,298.37 KB, text/plain)
2011-04-03 09:13 UTC, Cybertinus
Details
the ebuild enviroment (environment,110.21 KB, text/plain)
2011-04-03 09:13 UTC, Cybertinus
Details
.ebuild with patch for binutils 2.21 (ocaml-3.12.0-r1.ebuild,4.08 KB, text/plain)
2011-04-06 07:30 UTC, Cybertinus
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Cybertinus 2011-04-03 09:10:47 UTC
When compiling ocaml 3.11.2 the build doesn't succeed, giving me the error stated below.

And it seams that this is an important package. I've also created a topic on forums.gentoo.org about this problem. This topic can be found on the URL belonging to this bugreport.

Reproducible: Always

Steps to Reproduce:
1. Unmask ocaml 3.11.2
2. try to build it
Actual Results:  
The compile fails with the following error:
../boot/ocamlrun ../ocamlopt -warn-error A -nostdlib -g `./Compflags random.cmx` -c random.ml
/var/tmp/portage/dev-lang/ocaml-3.11.2/temp/camlasm9a7918.s: Assembler messages:
/var/tmp/portage/dev-lang/ocaml-3.11.2/temp/camlasm9a7918.s:1959: Error: .size expression with symbol `camlRandom__rawfloat_126' does not evaluate to a constant
File "random.ml", line 1, characters 0-1:
Error: Assembler error, input left in file /var/tmp/portage/dev-lang/ocaml-3.11.2/temp/camlasm9a7918.s
make[2]: *** [random.cmx] Error 2
make[2]: Leaving directory `/var/tmp/portage/dev-lang/ocaml-3.11.2/work/ocaml-3.11.2/stdlib'
make[1]: *** [libraryopt] Error 2
make[1]: Leaving directory `/var/tmp/portage/dev-lang/ocaml-3.11.2/work/ocaml-3.11.2'
make: *** [opt] Error 2
emake failed
 * ERROR: dev-lang/ocaml-3.11.2 failed (compile phase):
 *   make opt failed!
 *
 * Call stack:
 *     ebuild.sh, line  56:  Called src_compile
 *   environment, line 2797:  Called die
 * The specific snippet of code:
 *           emake -j1 opt || die "make opt failed!";
 *
 * If you need support, post the output of 'emerge --info =dev-lang/ocaml-3.11.2',
 * the complete build log and the output of 'emerge -pqv =dev-lang/ocaml-3.11.2'.
 * The complete build log is located at '/var/tmp/portage/dev-lang/ocaml-3.11.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/ocaml-3.11.2/temp/environment'.
 * S: '/var/tmp/portage/dev-lang/ocaml-3.11.2/work/ocaml-3.11.2'

Expected Results:  
ocaml 3.11.2 should have compiled without a problem
Comment 1 Cybertinus 2011-04-03 09:12:26 UTC
Created attachment 268301 [details]
emerge --info

It was to long to put in a comment field, so I've created an attachement for it.
Comment 2 Cybertinus 2011-04-03 09:13:27 UTC
Created attachment 268303 [details]
the build.log
Comment 3 Cybertinus 2011-04-03 09:13:46 UTC
Created attachment 268305 [details]
the ebuild enviroment
Comment 4 Cybertinus 2011-04-04 08:53:47 UTC
dev-lang/ocaml-3.12.0 has the same problem, I think. The error is a bit different, but I think it is close enough to indicate the same problem:

../boot/ocamlrun ../ocamlopt -warn-error A -nostdlib -g `./Compflags digest.cmx` -c digest.ml
../boot/ocamlrun ../ocamlopt -warn-error A -nostdlib -g `./Compflags random.cmx` -c random.ml
/var/tmp/portage/dev-lang/ocaml-3.12.0/temp/camlasm7e155c.s: Assembler messages:
/var/tmp/portage/dev-lang/ocaml-3.12.0/temp/camlasm7e155c.s:2017: Error: .size expression with symbol `camlRandom__rawfloat_1099' does not evaluate to a constant
File "random.ml", line 1, characters 0-1:
Error: Assembler error, input left in file /var/tmp/portage/dev-lang/ocaml-3.12.0/temp/camlasm7e155c.s
make[2]: *** [random.cmx] Error 2
make[2]: Leaving directory `/var/tmp/portage/dev-lang/ocaml-3.12.0/work/ocaml-3.12.0/stdlib'
make[1]: *** [libraryopt] Error 2
make[1]: Leaving directory `/var/tmp/portage/dev-lang/ocaml-3.12.0/work/ocaml-3.12.0'
make: *** [opt] Error 2
emake failed
 * ERROR: dev-lang/ocaml-3.12.0 failed (compile phase):
 *   make opt failed!
 * 
 * Call stack:
 *     ebuild.sh, line  56:  Called src_compile
 *   environment, line 2817:  Called die
 * The specific snippet of code:
 *           emake -j1 opt || die "make opt failed!";
 * 
 * If you need support, post the output of 'emerge --info =dev-lang/ocaml-3.12.0',
 * the complete build log and the output of 'emerge -pqv =dev-lang/ocaml-3.12.0'.
 * The complete build log is located at '/var/tmp/portage/dev-lang/ocaml-3.12.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/ocaml-3.12.0/temp/environment'.
 * S: '/var/tmp/portage/dev-lang/ocaml-3.12.0/work/ocaml-3.12.0'

>>> Failed to emerge dev-lang/ocaml-3.12.0, Log file:

>>>  '/var/tmp/portage/dev-lang/ocaml-3.12.0/temp/build.log'
Comment 5 Neil Cathey 2011-04-05 02:06:11 UTC
Upstream bug report:
http://caml.inria.fr/mantis/view.php?id=5237

It includes a patch that has been applied upstream:
http://caml.inria.fr/cgi-bin/viewcvs.cgi?rev=10980&view=rev
Comment 6 Cybertinus 2011-04-06 07:30:58 UTC
Created attachment 268673 [details]
.ebuild with patch for binutils 2.21

I've created a new ebuild which applies the patch for binutils-2.21 always. Even if you have an older version of binutils.
Also you will need to download the patch yourself first and give it the correct name, which can be done with the following command:
cd /usr/portage/dev-lang/ocaml/files && wget http://caml.inria.fr/mantis/file_download.php?file_id=418&type=bug && mv 0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch fix-binutils-2.21.patch

After that ocaml-3.12.0 should compile without problem when you have binutils-2.21.

I know it is a very simple change in the ebuild, but it works for me. I'm pretty sure a real Gentoo dev can improve my ebuild to make it worthy of the Portage tree :).
Comment 7 Marcel Partap 2011-05-07 15:17:09 UTC
> I know it is a very simple change in the ebuild, but it works for me. I'm
> pretty sure a real Gentoo dev can improve my ebuild to make it worthy of the
> Portage tree :).
well at least it works, thanks.
Comment 8 Andreis Vinogradovs ( slepnoga ) 2011-05-13 13:45:22 UTC
confirm this bug in ~amd64-linux profile
Comment 9 Rafał Mużyło 2011-05-15 14:18:52 UTC
*** Bug 367361 has been marked as a duplicate of this bug. ***
Comment 10 Rafał Mużyło 2011-06-28 12:08:25 UTC
*** Bug 373297 has been marked as a duplicate of this bug. ***
Comment 11 Octavio Ruiz (Ta^3) 2011-06-29 01:13:10 UTC
Masked package dev-lang/ocaml-3.12.1_rc1 arleady includes the patch for the incorrect .size directives generated for x86-32 and x86-64 issue.

#echo ">=dev-lang/ocaml-3.12.1_rc1" >> /etc/portage/package.unmask ; emerge -av =dev-lang/ocaml-3.12.1_rc1
Comment 12 Viktor Yu. Kovalskii 2011-07-06 08:47:44 UTC
Similar problem with =dev-lang/ocaml-3.12.0-r1 and =sys-devel/binutils-2.21.1

Unmasked =dev-lang/ocaml-3.12.1 successfully built with =sys-devel/binutils-2.21.1
Comment 13 Alexis Ballier gentoo-dev 2011-07-06 16:40:11 UTC
3.12.1 unmasked -> fixed
Comment 14 Don Bishop 2011-07-30 17:18:18 UTC
I just rean into this proble,m.  I have a fresh--sync but ocaml will not use version 3.12.1 unless I put a ~x86 flag in /etc/portage/package.keywords.  When I remove the ~x86 keyword, it wants to downgrade ocaml, which of course doesn't build:

[ebuild     UD ] dev-lang/ocaml-3.11.2 [3.12.1] USE="X gdbm ncurses ocamlopt tk -emacs -latex -xemacs" 0 kB

Any ideas why?
Comment 15 Kobboi 2011-09-04 18:27:18 UTC
(In reply to comment #13)
> 3.12.1 unmasked -> fixed

Please reopen. With binutils-2.21.* being stable (on x86 and amd64) and the only stable ocaml version being 3.11.2, the issue appears for everyone trying to do a "stable" install.

Devs, is it possible to do one of the following

* patch ocaml-3.11.2 (preferred)
* stabilize ocaml-3.12.1
Comment 16 newt 2011-09-05 11:00:46 UTC
(In reply to comment #14)
> I just rean into this proble,m.  I have a fresh--sync but ocaml will not use
> version 3.12.1 unless I put a ~x86 flag in /etc/portage/package.keywords.  When
> I remove the ~x86 keyword, it wants to downgrade ocaml, which of course doesn't
> build:
> 
> [ebuild     UD ] dev-lang/ocaml-3.11.2 [3.12.1] USE="X gdbm ncurses ocamlopt tk
> -emacs -latex -xemacs" 0 kB
> 
> Any ideas why?

The newer Ocaml is a masked package. Add it to package.unmask.
Comment 17 Marijn Schouten (RETIRED) gentoo-dev 2011-09-06 07:08:41 UTC
(In reply to comment #14)
> I just rean into this proble,m.  I have a fresh--sync but ocaml will not use
> version 3.12.1 unless I put a ~x86 flag in /etc/portage/package.keywords.  When
> I remove the ~x86 keyword, it wants to downgrade ocaml, which of course doesn't
> build:
> 
> [ebuild     UD ] dev-lang/ocaml-3.11.2 [3.12.1] USE="X gdbm ncurses ocamlopt tk
> -emacs -latex -xemacs" 0 kB
> 
> Any ideas why?

This is the way it is supposed to work. As long as version 3.12.1 is ~ you will need to keep your local keyword. If you remove it this version becomes masked again, hence the downgrade.
Comment 18 Alexis Ballier gentoo-dev 2011-09-16 15:23:01 UTC
*** Bug 383171 has been marked as a duplicate of this bug. ***
Comment 19 Alexis Ballier gentoo-dev 2011-09-16 15:24:26 UTC
reopening for stabilisation
Comment 20 Alexis Ballier gentoo-dev 2011-09-16 15:26:30 UTC
since binutils stabilisation has started, we need ocaml-3.12.1 stable
Comment 21 Ian Delaney (RETIRED) gentoo-dev 2011-09-16 16:29:31 UTC
amd64:

emerges without issue, all use flags.  test pass
Comment 22 Agostino Sarubbo gentoo-dev 2011-09-16 18:48:46 UTC
amd64 ok
Comment 23 Jeff (JD) Horelick (RETIRED) gentoo-dev 2011-09-16 20:42:29 UTC
Archtested on x86: Everything seems fine
Comment 24 Andreas Schürch gentoo-dev 2011-09-18 15:48:27 UTC
x86 stable, thanks JD!
Comment 25 Markus Meier gentoo-dev 2011-09-19 21:49:54 UTC
arm stable
Comment 26 Tony Vroon (RETIRED) gentoo-dev 2011-09-20 13:10:47 UTC
+  20 Sep 2011; Tony Vroon <chainsaw@gentoo.org> libass-0.9.13.ebuild:
+  Marked stable on AMD64 based on arch testing by Agostino "ago" Sarubbo & Ian
+  "idella4" Delaney in bug #377255.
Comment 27 Raúl Porcel (RETIRED) gentoo-dev 2011-10-09 17:12:32 UTC
alpha/ia64/sparc stable
Comment 28 Jeroen Roovers (RETIRED) gentoo-dev 2011-10-17 15:20:40 UTC
Stable for HPPA.
Comment 29 Brent Baude (RETIRED) gentoo-dev 2011-11-06 13:42:11 UTC
ppc done
Comment 30 Brent Baude (RETIRED) gentoo-dev 2011-11-06 16:43:10 UTC
ppc done; closing as last arch
Comment 31 Jeroen Roovers (RETIRED) gentoo-dev 2015-05-25 04:40:29 UTC
Stable for PPC64.
Comment 32 Jeroen Roovers (RETIRED) gentoo-dev 2015-05-25 04:40:43 UTC
Closing.