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 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 portgraphviz +ruby: mtree violation by /System

Can you show me what got installed in /System?

port contents graphviz | grep /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.

comment:2 in reply to:  1 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 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 in reply to:  3 ; 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 in reply to:  4 ; 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+xrootd

I 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:7 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:8 in reply to:  5 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+xrootd

I 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 Changed 3 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 in reply to:  10 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)

Note: See TracTickets for help on using tickets.