This seems a bug... mkdir MacPorts sudo mv MacPorts /usr/local cd MacPorts-1.4.0 ./configure --prefix=/usr/local/MacPorts \ --with-install-user=$USER \ --with-install-group=$USER make && make install ... /usr/bin/install -c -o geo -g geo -m 444 portstyle.7 /usr/local/MacPorts/share/man/man7 /usr/bin/install -c -o geo -g geo -m 444 porthier.7 /usr/local/MacPorts/share/man/man7 /usr/bin/install -c -o geo -g geo -m 444 portgroup.7 /usr/local/MacPorts/share/man/man7 ===> making install in src ===> making install in src/darwinports1.0 /usr/bin/install -c -d -o geo -g geo -m 0775 /Library/Tcl/darwinports1.0 install: mkdir /Library/Tcl/darwinports1.0: Permission denied make[2]: *** [install] Error 71 make[1]: *** [install] Error 1 make: *** [install] Error 1 what happend to the prefix setting? Am I missing a configure option? // George -- George Georgalis, systems architect, administrator <IXOYE><
AFAIK, The darwinports1.0 Tcl Library needs to be in /Library as that is the allowed magic directory for system-wide available frameworks (per Apple). On 27 Mar 2007, at 17:29, George Georgalis wrote:
This seems a bug...
mkdir MacPorts sudo mv MacPorts /usr/local cd MacPorts-1.4.0 ./configure --prefix=/usr/local/MacPorts \ --with-install-user=$USER \ --with-install-group=$USER make && make install ... /usr/bin/install -c -o geo -g geo -m 444 portstyle.7 /usr/local/ MacPorts/share/man/man7 /usr/bin/install -c -o geo -g geo -m 444 porthier.7 /usr/local/ MacPorts/share/man/man7 /usr/bin/install -c -o geo -g geo -m 444 portgroup.7 /usr/local/ MacPorts/share/man/man7 ===> making install in src ===> making install in src/darwinports1.0 /usr/bin/install -c -d -o geo -g geo -m 0775 /Library/Tcl/ darwinports1.0 install: mkdir /Library/Tcl/darwinports1.0: Permission denied make[2]: *** [install] Error 71 make[1]: *** [install] Error 1 make: *** [install] Error 1
what happend to the prefix setting? Am I missing a configure option?
// George
-- George Georgalis, systems architect, administrator <IXOYE>< _______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-dev
Randall Wood rhwood@mac.com "The rules are simple: The ball is round. The game lasts 90 minutes. All the rest is just philosophy."
On Mar 27, 2007, at 16:29, George Georgalis wrote:
This seems a bug...
mkdir MacPorts sudo mv MacPorts /usr/local cd MacPorts-1.4.0 ./configure --prefix=/usr/local/MacPorts \ --with-install-user=$USER \ --with-install-group=$USER make && make install ... /usr/bin/install -c -o geo -g geo -m 444 portstyle.7 /usr/local/ MacPorts/share/man/man7 /usr/bin/install -c -o geo -g geo -m 444 porthier.7 /usr/local/ MacPorts/share/man/man7 /usr/bin/install -c -o geo -g geo -m 444 portgroup.7 /usr/local/ MacPorts/share/man/man7 ===> making install in src ===> making install in src/darwinports1.0 /usr/bin/install -c -d -o geo -g geo -m 0775 /Library/Tcl/ darwinports1.0 install: mkdir /Library/Tcl/darwinports1.0: Permission denied make[2]: *** [install] Error 71 make[1]: *** [install] Error 1 make: *** [install] Error 1
what happend to the prefix setting? Am I missing a configure option?
No... MacPorts just needs to write some things in /Library/Tcl/ darwinports1.0, that's all. But I don't know why it thinks it needs to do that.
On Tue, Mar 27, 2007 at 05:35:48PM -0400, Randall Wood wrote:
AFAIK, The darwinports1.0 Tcl Library needs to be in /Library as that is the allowed magic directory for system-wide available frameworks (per Apple).
well I don't want system-wide I want MacPorts contained... so per the other message, this installed and I presume it will work mkdir -p MacPorts/Library/Tcl sudo mv MacPorts /usr/local cd MacPorts-1.4.0 ./configure --prefix=/usr/local/MacPorts \ --with-tclpackage=/usr/local/MacPorts//Library/Tcl \ --with-install-user=$USER --with-install-group=$USER make && make install humm... installed okay but port selfupdate can't find package darwinports while executing "package require darwinports" (file "/usr/local/MacPorts/bin/port" line 42) ...it looks like configure --with-tclpackage didn't do all the magic I was hopeing for in the binaries. sudo chmod 1777 /Library/Tcl/ mv /usr/local/MacPorts/Library/Tcl/darwinports1.0/ /Library/Tcl/ rm -rf /usr/local/MacPorts/Library/Tcl ln -s /Library/Tcl /usr/local/MacPorts/Library That works well enough for now. Thanks for all the quick responses. BTW, just because MacPorts is sponsored by apple, my feeling is packages (ports, whatever) should be separate from the OS install. cf NetBSD + pkgsrc, and pkgsrc doc, "Chapter 7. Directory layout of the installed files" ...separation is a good thing. Cheers, // George -- George Georgalis, systems architect, administrator <IXOYE><
On Mar 27, 2007, at 14:37, Ryan Schmidt wrote:
No... MacPorts just needs to write some things in /Library/Tcl/ darwinports1.0, that's all. But I don't know why it thinks it needs to do that.
MacPorts uses the system-supplied Tcl interpreter, and /Library/Tcl is the standard location for application-provided Tcl packages. This was originally done to allow API clients that were not installed with DarwinPorts -- such as original PortsManager -- to find the darwinports1.0 libraries without hard-coding a prefix. -landonf
On Tue, Mar 27, 2007 at 04:44:47PM -0700, Landon Fuller wrote:
On Mar 27, 2007, at 14:37, Ryan Schmidt wrote:
No... MacPorts just needs to write some things in /Library/Tcl/ darwinports1.0, that's all. But I don't know why it thinks it needs to do that.
MacPorts uses the system-supplied Tcl interpreter, and /Library/Tcl is the standard location for application-provided Tcl packages. This was originally done to allow API clients that were not installed with DarwinPorts -- such as original PortsManager -- to find the darwinports1.0 libraries without hard-coding a prefix.
why does it use the system-supplied Tcl interpreter, vs MacPorts tcl package which is in the domain of MacPorts control??? Isn't MacPorts planing on being cross platform? (BTW, it was on about my third port that tcl @8.4.14_0 was installed as a dependency.) Normally when a PREFIX is set, software prepends it to ALL root paths, ie for all files not accessed via the $PATH (or similar) env. Anyway, using /Library/Tcl with a temp bit set, and the remainder of MacPorts installed as a user, teTeX fails, apparently it has root hard coded into install. geo@fuji.local:/Users/geo # port install teTeX ---> Installing teTeX 3.0_3 Error: Target com.apple.install returned: could not set group for file "/usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local/MacPorts/share/texmf-dist/tex/lambda/config/language.dat": not owner Error: Status 1 encountered during processing. geo@fuji.local:/Users/geo # dirper /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local/MacPorts/share/texmf-dist/tex/lambda/config/language.dat -rw-r--r-- geo:geo 421 21:17:06 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local/MacPorts/share/texmf-dist/tex/lambda/config/language.dat drwxr-xr-x geo:geo 102 23:21:16 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local/MacPorts/share/texmf-dist/tex/lambda/config drwxr-xr-x geo:geo 136 21:42:12 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local/MacPorts/share/texmf-dist/tex/lambda drwxr-xr-x geo:geo 374 21:42:11 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local/MacPorts/share/texmf-dist/tex drwxr-xr-x geo:geo 680 23:20:41 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local/MacPorts/share/texmf-dist drwxrwxr-x geo:geo 204 21:35:38 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local/MacPorts/share drwxrwxr-x geo:geo 204 21:35:33 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local/MacPorts drwxr-xr-x geo:geo 102 21:35:28 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr/local drwxrwxr-x geo:geo 102 21:35:28 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3/usr drwxr-xr-x geo:geo 102 21:35:28 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX/3.0_3 drwxr-xr-x geo:geo 102 21:35:28 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software/teTeX drwxr-xr-x geo:geo 1190 21:35:28 27 Mar 2007 /usr/local/MacPorts/var/db/dports/software drwxrwxr-x geo:geo 272 18:29:47 27 Mar 2007 /usr/local/MacPorts/var/db/dports drwxrwxr-x geo:geo 102 17:10:24 27 Mar 2007 /usr/local/MacPorts/var/db drwxrwxr-x geo:geo 102 17:10:24 27 Mar 2007 /usr/local/MacPorts/var drwxrwxr-x geo:geo 408 17:48:51 27 Mar 2007 /usr/local/MacPorts drwxr-xr-x root:wheel 204 17:04:58 27 Mar 2007 /usr/local drwxr-xr-x root:wheel 374 02:58:36 30 Nov 2005 /usr drwxr-xr-x root:admin 1394 19:00:33 31 Dec 1969 / so I decided to give it a try as root... that worked fine. // George -- George Georgalis, systems architect, administrator <IXOYE><
On Mar 28, 2007, at 11:12 AM, George Georgalis wrote:
why does it use the system-supplied Tcl interpreter, vs MacPorts tcl package which is in the domain of MacPorts control??? Isn't MacPorts planing on being cross platform? (BTW, it was on about my third port that tcl @8.4.14_0 was installed as a dependency.)
Because MacPorts is itself written in Tcl, so you'd have a bit of a bootstrapping problem if you had to build and install Tcl from macports before you could use macports. Sure, it could probably be worked around by having some set of binary tcl distributions to start from, but since Tcl is well-supported by the system, why go to all the extra trouble? Also, MacPorts isn't really planning on being cross-platform so much anymore. There were some early experiments with this, and no one is deliberately trying to stop people from using it on, say, Linux or FreeBSD, but no work has really gone into this area either and many many ports just assume they're running on a Mac (not even "vanilla Darwin" is supported anymore). - Jordan
On Wed, Mar 28, 2007 at 04:09:29PM -0700, Jordan K. Hubbard wrote:
Sure, it could probably be worked around by having some set of binary tcl distributions to start from, but since Tcl is well-supported by the system, why go to all the extra trouble?
there is also the file ${prefix}/var/db/dports/.tclpackage which stores where the tcl-package is stored - if you installed darwinports a few years ago it was in /Library/Tcl which is now stored in this variable and will be re-stored in that directory on a selfupdate - on the other hand if you do make install in base into a clean /opt system it will install the tcl-package in /opt/local/share/darwinports/Tcl for reasons Ive never seen an explanation of - and installing darwinports1.0 in /opt/local/share/darwinports/Tcl seems to work on OS X at least for me.
Also, MacPorts isn't really planning on being cross-platform so much anymore. There were some early experiments with this, and no one is deliberately trying to stop people from using it on, say, Linux or FreeBSD, but no work has really gone into this area either and many many ports just assume they're running on a Mac (not even "vanilla Darwin" is supported anymore).
can you expand on "vanilla darwin" not supported? this would seem to be a very important statement to make David
On Mar 29, 2007, at 11:46 AM, David Osguthorpe wrote:
can you expand on "vanilla darwin" not supported? this would seem to be a very important statement to make
It's not something that the developers explicitly target (I don't think any of us have a 'plain' version of darwin installed to test on anyway). Where 'plain' version of darwin == just the opensource bits (ie, not a Mac OS X install). -- Daniel J. Luke +========================================================+ | *---------------- dluke@geeklair.net ----------------* | | *-------------- http://www.geeklair.net -------------* | +========================================================+ | Opinions expressed are mine and do not necessarily | | reflect the opinions of my employer. | +========================================================+
participants (7)
-
Daniel J. Luke
-
David Osguthorpe
-
George Georgalis
-
Jordan K. Hubbard
-
Landon Fuller
-
Randall Wood
-
Ryan Schmidt