Opened 11 years ago
Last modified 3 years ago
#39265 new defect
graphviz +ruby: mtree violation by /System
Reported by: | angelo.graziosi@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.3 |
Keywords: | Cc: | cooljeanius (Eric Gallager) | |
Port: | graphviz |
Description
I have upgraded a few minutes ago:
$ sudo port selfupdate Password: ---> Updating MacPorts base sources using rsync MacPorts base version 2.1.3 installed, MacPorts base version 2.1.3 downloaded. ---> Updating the ports tree ---> MacPorts base is already the latest version The ports tree has been updated. To upgrade your installed ports, you should run port upgrade outdated $ sudo port outdated The following installed ports are outdated: cctools 836_0 < 839_0 cctools-headers 836_1 < 839_0 glib2 2.36.2_0 < 2.36.2_1 graphviz 2.30.1_0 < 2.30.1_1 ld64 134.9_1 < 136_1 xorg-libXau 1.0.7_0 < 1.0.8_0 xorg-xproto 7.0.23_0 < 7.0.24_0
but graphviz upgrade produces very strange "Warnings":
$ sudo port upgrade outdated [...] ---> Computing dependencies for graphviz ---> Fetching archive for graphviz ---> Attempting to fetch graphviz-2.30.1_1+pangocairo+ruby+x11.darwin_11.x86_64.tbz2 from http://lil.fr.packages.macports.org/graphviz ---> Attempting to fetch graphviz-2.30.1_1+pangocairo+ruby+x11.darwin_11.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/graphviz ---> Attempting to fetch graphviz-2.30.1_1+pangocairo+ruby+x11.darwin_11.x86_64.tbz2 from http://packages.macports.org/graphviz ---> Fetching distfiles for graphviz ---> Verifying checksum(s) for graphviz ---> Extracting graphviz ---> Applying patches to graphviz ---> Configuring graphviz ---> Building graphviz ---> Staging graphviz into destroot Warning: violation by /System Warning: graphviz violates the layout of the ports-filesystems! Warning: Please fix or indicate this misbehavior (if it is intended), it will be an error in future releases! ---> Installing graphviz @2.30.1_1+pangocairo+ruby+x11 ---> Cleaning graphviz ---> Computing dependencies for graphviz ---> Deactivating graphviz @2.30.1_0+pangocairo+ruby+x11 ---> Cleaning graphviz ---> Activating graphviz @2.30.1_1+pangocairo+ruby+x11 ---> Cleaning graphviz ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 100.0% ---> No broken files found.
These
Warning: violation by /System Warning: graphviz violates the layout of the ports-filesystems! Warning: Please fix or indicate this misbehavior (if it is intended), it will be an error in future releases!
don't seem good to me...
What do they mean?
Do we need to worry?
Ciao, Angelo.
Change History (11)
comment:1 follow-up: 2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… removed |
---|---|
Keywords: | ports-filesystems removed |
Owner: | changed from macports-tickets@… to ryandesign@… |
Summary: | Very strange WARNINGS upgrading graphviz port → graphviz +ruby: mtree violation by /System |
comment:2 Changed 11 years ago by graziosi.angelo@…
Replying to ryandesign@…:
Can you show me what got installed in /System?
port contents graphviz | grep /System
The command you suggest prints:
$ port contents graphviz | grep /System /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin11.0/gv.so
I'll bet it has to do with the +ruby variant you selected. There are many other open tickets about graphviz's language bindings not working right; it's an area of the port I've long neglected.
Hmm.. I don't remember having selected graphviz for installation.. Probably a port (ROOT?) did this for me... :)
Ciao,
Angelo.
comment:3 follow-up: 4 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
But the +ruby variant is not a default, so you must have requested it, either by supplying it on the command line or by entering it into your variants.conf file.
The output above confirms that graphviz has installed the ruby bindings to the wrong place, or rather for the wrong ruby (for the system ruby instead of for MacPorts ruby). If you don't need the ruby bindings, then it's not a big problem. You can leave it, or you can reinstall graphviz without the +ruby variant. Hopefully I'll eventually find time to overhaul the language bindings in graphviz and fix all these types of issues.
comment:4 follow-up: 5 Changed 11 years ago by graziosi.angelo@…
Replying to ryandesign@…:
But the +ruby variant is not a default, so you must have requested it, either by supplying it on the command line or by entering it into your variants.conf file.
As I wrote, I didn't select graphviz directly for installation. I installed (about two year ago) ROOT which has the "+graphviz" variant by default and for ROOT I added also the ruby variant:
root @5.34.07_0+avahi+fftw3+fitsio+graphviz+gsl+ldap+minuit2+mysql55+odbc+opengl+postgresql92+pythia+python32+qt_mac+roofit+ruby+soversion+ssl+tmva+xml+xrootd
I think this caused the installation of graphviz with those variants..
Anyway,
The output above confirms that graphviz has installed the ruby bindings to the wrong place, or rather for the wrong ruby (for the system ruby instead of for MacPorts ruby). If you don't need the ruby bindings, then it's not a big problem. You can leave it, or you can reinstall graphviz without the +ruby variant. Hopefully I'll eventually find time to overhaul the language bindings in graphviz and fix all these types of issues.
one can wait that all things have been fixed... :)
I could also reinstall the previous version of graphviz (2.30.1_0, I haven't clean, yet) but, at this point, I am not sure that also the previous version gives the same warnings. It could be the case that in previous upgrading of graphviz I didn't notice that... :(
Ciao,
Angelo.
comment:5 follow-up: 8 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to graziosi.angelo@…:
As I wrote, I didn't select graphviz directly for installation. I installed (about two year ago) ROOT which has the "+graphviz" variant by default and for ROOT I added also the ruby variant:
root @5.34.07_0+avahi+fftw3+fitsio+graphviz+gsl+ldap+minuit2+mysql55+odbc+opengl+postgresql92+pythia+python32+qt_mac+roofit+ruby+soversion+ssl+tmva+xml+xrootdI think this caused the installation of graphviz with those variants..
Correct. MacPorts passes your requested variants down to dependencies.
I could also reinstall the previous version of graphviz (2.30.1_0, I haven't clean, yet) but, at this point, I am not sure that also the previous version gives the same warnings. It could be the case that in previous upgrading of graphviz I didn't notice that... :(
I'm fairly sure this problem has been around for years. I have no recollection of doing anything to fix the language bindings variants of graphviz in the years since I've taken over maintainership.
Since you don't seem to need graphviz's own ruby language features, the simplest way for you to avoid the warnings is to reinstall graphviz with its default variants, by running sudo port install graphviz
.
comment:6 Changed 11 years ago by cooljeanius (Eric Gallager)
(This was originally split off from #39259 for reference, btw)
comment:8 Changed 11 years ago by graziosi.angelo@…
Replying to ryandesign@…:
Replying to graziosi.angelo@…:
As I wrote, I didn't select graphviz directly for installation. I installed (about two year ago) ROOT which has the "+graphviz" variant by default and for ROOT I added also the ruby variant:
root @5.34.07_0+avahi+fftw3+fitsio+graphviz+gsl+ldap+minuit2+mysql55+odbc+opengl+postgresql92+pythia+python32+qt_mac+roofit+ruby+soversion+ssl+tmva+xml+xrootdI think this caused the installation of graphviz with those variants..
Correct. MacPorts passes your requested variants down to dependencies.
To avoid any doubt, I uninstalled (forced) ROOT and then graphviz. Then I reinstalled ROOT with all my variants and graphviz has been reinstalled with ruby variant as expected (and with all the strange warnings...).
At this point I wonder if all these things have corrupted the system installation of ruby... Now I have
$ ls -lrt /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin11.0/* -rwxr-xr-x 1 root wheel 5729 12 Giu 2012 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin11.0/sysexits.rb -rwxr-xr-x 1 root wheel 9767 12 Giu 2012 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin11.0/backuptool.rb lrwxr-xr-x 1 root wheel 42 29 Mag 15:39 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin11.0/gv.so -> /opt/local/lib/graphviz/ruby/libgv_ruby.so
is this OK?
Ciao,
Angelo.
comment:9 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Nothing has been corrupted. The graphviz port's ruby variant has merely installed something into a system location. This is an error and I will leave this ticket open until I have time to fix this. Until then, either accept the warning messages or reinstall graphviz without the ruby variant.
comment:10 follow-up: 11 Changed 4 years ago by cooljeanius (Eric Gallager)
graphviz's ruby variant no longer tries to install anything to /System for me, so I think that this ticket can be closed. (the lua variant, on the other hand, still violates the mtree...)
comment:11 Changed 3 years ago by cooljeanius (Eric Gallager)
Replying to cooljeanius:
(the lua variant, on the other hand, still violates the mtree...)
(that's bug #58286 btw)
Can you show me what got installed in /System?
I'll bet it has to do with the +ruby variant you selected. There are many other open tickets about graphviz's language bindings not working right; it's an area of the port I've long neglected.