Summary: | dev-util/coccinelle-1.0.6 : sandbox issue | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | cJ-gentoo, emilianmedve, gabemarcano, naota |
Priority: | Normal | Keywords: | PMASKED |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Deadline: | 2020-09-02 | ||
Attachments: |
emerge-info.txt
dev-util:coccinelle-1.0.6:20170802-165318.log emerge-history.txt environment etc.portage.tbz2 logs.tbz2 sandbox-10062.log temp.tbz2 coccinelle_pcre.patch |
Description
Toralf Förster
![]() Created attachment 487730 [details]
emerge-info.txt
Created attachment 487732 [details]
dev-util:coccinelle-1.0.6:20170802-165318.log
Created attachment 487734 [details]
emerge-history.txt
Created attachment 487736 [details]
environment
Created attachment 487738 [details]
etc.portage.tbz2
Created attachment 487740 [details]
logs.tbz2
Created attachment 487742 [details]
sandbox-10062.log
Created attachment 487744 [details]
temp.tbz2
*** Bug 626904 has been marked as a duplicate of this bug. *** I can confirm this on my system - for anyone else landing here looking for a workaround - setting USE=-pcre will avoid the issue. [ebuild R ] dev-util/coccinelle-1.0.6::gentoo USE="ocamlopt python vim-syntax -doc -emacs -ocaml -pcre* {-test}" PYTHON_TARGETS="python2_7" 0 KiB Thanks, Malcolm, for the workaround. It looks like the Makefile might be trying to compile ocaml's pcre.mli and thus replace pcre.cmi: make[5]: Entering directory '/var/tmp/portage/dev-util/coccinelle-1.0.6/work/coccinelle-1.0.6/globals' /usr/bin/ocamlopt.opt -unsafe -I ../commons -I /usr/lib64/ocaml/pcre -c config.ml /usr/bin/ocamlopt.opt -unsafe -I ../commons -I /usr/lib64/ocaml/pcre -c flag.ml /usr/bin/ocamlc.opt -unsafe -I ../commons -I /usr/lib64/ocaml/pcre -c iteration.mli /usr/bin/ocamlc.opt -unsafe -I ../commons -I /usr/lib64/ocaml/pcre -c /usr/lib64/ocaml/pcre/pcre.mli * ACCESS DENIED: open_wr: /usr/lib64/ocaml/pcre/pcre.cmi File "/usr/lib64/ocaml/pcre/pcre.mli", line 1: Error: I/O error: /usr/lib64/ocaml/pcre/pcre.cmi: Permission denied Note the last command was on pcre.mli, while all the others were on files within coccinelle's globals directory. Within the Makefile, it generates ".depend" file with: /usr/bin/ocamldep -I ../commons -I /usr/lib64/ocaml/pcre *.mli *.ml > .depend This generates the following dependency: > regexp_pcre.cmo : /usr/lib64/ocaml/pcre/pcre.cmi > regexp_pcre.cmx : /usr/lib64/ocaml/pcre/pcre.cmi While we have /usr/lib64/ocaml/pcre/pcre.cmi from dev-ml/pcre-ocaml, due to the order of installation and a rule in coccinelle/globals/Makefile (.mli.cmi), "make" try to re-generate "pcre.cmi" from "/usr/.../pcre.mli". Thanks to the ebuild dependency, we are sure that "/usr/.../pcre.cmi" exists. So we can safely filter out the dep to "/usr/.../pcre.cmi" using e.g. "sed 's!/.*/pcre.cmi!!'" and make the process won't touch the file. ... or more sophisticated solution would be separating local vs global dependency as in this commit: https://github.com/coccinelle/coccinelle/commit/984eba5c98b0ac2fdc7f13b059837a6328c56697 Created attachment 523912 [details, diff] coccinelle_pcre.patch I've made a patch based on the one linked to in comment 12. I haven't verified that it didn't break any functionality, but it does allow for compilation to proceed and finish. package removed. |