Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 749149 - =dev-ml/camomile-0.8.5-r2 doesn't compile with =dev-lang/ocaml-4.11.1
Summary: =dev-ml/camomile-0.8.5-r2 doesn't compile with =dev-lang/ocaml-4.11.1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: ocaml-4.10
  Show dependency tree
 
Reported: 2020-10-14 19:52 UTC by PhobosK
Modified: 2020-12-30 09:52 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description PhobosK 2020-10-14 19:52:12 UTC
The =dev-ml/camomile-0.8.5-r2 doesn't compile with =dev-lang/ocaml-4.11.1 :

> .depend

ocamldep -slash -pp "camlp4o -I /usr/lib64/ocaml" -I internal -I public -I toolslib -I . \
tools/tools/parse_unidata.ml tools/parse_uniset.ml tools/camomilecharmap.ml tools/parse_specialcasing.ml tools/parse_casefolding.ml tools/parse_scripts.ml tools/parse_allkeys.ml mappings/gen_mappings.ml tools/parse_age.ml tools/camomilelocaledef.ml tools/camomilestringprep.ml >> .depend
ocamlc.opt -c -noassert -unsafe-string -I internal -I public -I toolslib -I . public/uChar.mli
ocamlc.opt: OCaml has been configured with -force-safe-string: -unsafe-string is not available.

dev-lang/ocaml-4.11.1:0/4.11.1::gentoo  USE="latex ocamlopt -emacs -flambda -spacetime -xemacs"

Worked OK with =dev-lang/ocaml-4.09.0

Reproducible: Always
Comment 1 Luke A. Guest 2020-10-16 17:52:59 UTC
Can confirm
Comment 2 Hank Leininger 2020-10-17 00:00:34 UTC
Confirmed; ocaml-4.09 allowed forcing safe strings with ./configure --enable-force-safe-string, but 4.10 and up default to enabling it and require ./configure --disable-force-safe-string to get the old behavior back:

/var/tmp/portage/dev-lang $ diff -u \
  <(egrep '^[^#]*force-safe-string' ocaml-4.09.0/work/ocaml-4.09.0/configure) \
  <(egrep '^[^#]*force-safe-string' ocaml-4.10.0/work/ocaml-4.10.0/configure)
--- /dev/fd/63  2020-10-16 17:14:37.009920117 -0600
+++ /dev/fd/62  2020-10-16 17:14:37.009920117 -0600
@@ -1 +1 @@
-  --enable-force-safe-string
+  --disable-force-safe-string

camomile-0.8.5 requires building with -unsafe-string. There are newer camomile releases that include fixes for this, but they've never been packaged. They use a different build system, using jbuilder, but we have plenty of other dev-ml/* packages that use jbuilder, so that should not be a showstopper.

dev-ml/ocaml-gettext has a similar issue - need to update to the latest 0.4.2 to get safe-string support, but that too has changed build systems, to dune.

Both camomile and ocaml-gettext are maintainer-needed. It would probably be nontrivial to update and test w/the new build systems; I can't spell ocaml, so not it.

In the meantime, either ocaml-4.1[01]* ebuilds could be updated to include --disable-force-safe-string (by default, or w/a USE flag, that these dev-ml/ packages depend on?), or dev-ml/camomile's RDEPEND for ocaml could be updated to =dev-lang/ocaml-4.0* to exclude 4.10+.

I see there is a tracker for breakage with >=ocaml-4.09: https://bugs.gentoo.org/737154

Perhaps there needs to be another for >=ocaml-4.10, with both this and ocaml-gettext (at least).
Comment 3 Larry the Git Cow gentoo-dev 2020-10-17 01:01:50 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3153572fb621a666c0c9fc109e8fcadfc9e47015

commit 3153572fb621a666c0c9fc109e8fcadfc9e47015
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2020-10-17 00:43:46 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2020-10-17 01:01:29 +0000

    dev-ml/camomile: bump to 1.0.2 (fix >=4.10.0 compat)
    
    Closes: https://bugs.gentoo.org/749149
    Package-Manager: Portage-3.0.8, Repoman-3.0.1
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-ml/camomile/Manifest              |  1 +
 dev-ml/camomile/camomile-1.0.2.ebuild | 26 ++++++++++++++++++++++++++
 2 files changed, 27 insertions(+)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=236ecc6da4bf3ffe0986bd2f2014e61225a2c095

commit 236ecc6da4bf3ffe0986bd2f2014e61225a2c095
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2020-10-17 01:00:57 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2020-10-17 01:01:33 +0000

    dev-ml/ocaml-gettext: bump to 0.4.2 (fix >=4.10.0 compat)
    
    Bug: https://bugs.gentoo.org/749149
    Package-Manager: Portage-3.0.8, Repoman-3.0.1
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-ml/ocaml-gettext/Manifest                   |  1 +
 dev-ml/ocaml-gettext/ocaml-gettext-0.4.2.ebuild | 36 +++++++++++++++++++++++++
 2 files changed, 37 insertions(+)
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-10-17 04:24:46 UTC
(In reply to Hank Leininger from comment #2)

Thanks again Hank. We meet again re OCaml!

> I see there is a tracker for breakage with >=ocaml-4.09:
> https://bugs.gentoo.org/737154
> 
> Perhaps there needs to be another for >=ocaml-4.10, with both this and
> ocaml-gettext (at least).

Filed bug 749606 and fixed camomile, ocaml-gettext. :)
Comment 5 Hank Leininger 2020-10-18 23:18:48 UTC
Thanks, that worked!

...with one wrinkle, when building the new ocaml-gettext, but I'll file a separate bug about that.
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-10-18 23:46:51 UTC
(In reply to Hank Leininger from comment #5)
> Thanks, that worked!
> 
> ...with one wrinkle, when building the new ocaml-gettext, but I'll file a
> separate bug about that.

I'm waiting eagerly! I'll have you joining and reviving ml@ next.
Comment 7 Hank Leininger 2020-10-19 03:20:13 UTC
OK, I isolated the problem - and found that maaaaybe it's already fixed; created: https://bugs.gentoo.org/749149

Thanks!
Comment 8 Kamil Dudka 2020-12-28 15:51:19 UTC
I am not sure whether this bug or fix is related, I just found the reference in the following commit:

    https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=236ecc6d

app-emulation/libguestfs-1.38.6-r100 fails to build with the ocaml use flag against dev-ml/ocaml-gettext-0.4.2.  The build fails with:

    ocamlfind: Package `gettext-stub' not found

Downgrading to dev-ml/ocaml-gettext-0.3.7-r2 fixes the build failure.
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-12-28 21:52:25 UTC
(In reply to Kamil Dudka from comment #8)
> I am not sure whether this bug or fix is related, I just found the reference
> in the following commit:
> 
>     https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=236ecc6d
> 
> app-emulation/libguestfs-1.38.6-r100 fails to build with the ocaml use flag
> against dev-ml/ocaml-gettext-0.4.2.  The build fails with:
> 
>     ocamlfind: Package `gettext-stub' not found
> 
> Downgrading to dev-ml/ocaml-gettext-0.3.7-r2 fixes the build failure.

Could you file a new bug just to make it easier to keep track? Thank you!
Comment 10 Kamil Dudka 2020-12-30 09:52:02 UTC
Sure, filed as bug #762613.