On 3/19/09 11:29 PM, "erfon haubenstock" <m...@erfon.com> wrote:

> 
> Hi again.  Thanks for trying to help me by the way : D
> 
> I tried relauching terminal and even restarting my computer, but to no
> avail.
> 
> I'm not totally sure I understand when you say:
> 
> One common pitfall here is that you must open a new shell for the port
> command to be recognised (or re-export the correct PATH). This seems likely
> as the default location for the port command is /opt/local/bin/port, which
> is not in your PATH.
> 
> Do I need to change my PATH?
> 
> thanks!
> 
> erfon
> 

OK. The short answer is STFW, namely
http://lmgtfy.com/?q=macports+and+the+shell . Now let me expand on it for
you.

In the terminal, the 'which' command followed by another command will tell
you *which* file is executed when you run it. For example for me:

> JDMBook:~ $ which sqlite3
> /usr/bin/sqlite3
> JDMBook:~ $ which port
> /opt/local/bin/port

As you can see, sqlite3 is in /usr/bin/, while port is elsewhere, namely
/opt/local/bin. Let's check with ls:

> JDMBook:~ $ ls -la /usr/bin/sq*
> -rwxr-xr-x  1 root  wheel  94144 Dec  9  2007 /usr/bin/sqlite3
> JDMBook:~ $ ls -la /opt/local/bin/p*
> -r-xr-xr-x  1 root  admin  106140 Dec 14 03:42 /opt/local/bin/port
> lrwxr-xr-x  1 root  admin       4 Feb 13 17:22 /opt/local/bin/portf -> port
> -r-xr-xr-x  1 root  admin    4497 Dec 14 03:42 /opt/local/bin/portindex
> -r-xr-xr-x  1 root  admin    2557 Dec 14 03:42 /opt/local/bin/portmirror

If I type any command in the terminal without its full path, the shell will
look for the executable file in a number of places, which are determined by
the PATH environment variable. Here is the value of PATH for me:

> JDMBook:~ $ echo $PATH
> /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Volumes/Prune/Us
> ers/klee:/usr/local/bin:/usr/X11/bin

Now, why is the shell able to run sqlite3 when I type 'sqlite3'? Because its
directory /usr/bin/ is listed in my PATH. In the same way, the 'port'
command works because its directory /opt/local/bin/ is listed in my PATH.

So my configuration looks good. What about yours? I'm not sure because you
only gave us your PATH. I noticed that your PATH does not include
/opt/local/bin/. So what could explain that? Here are a few possibilities:

- MacPorts is not installed at all. But you said you installed it.
- MacPorts is not installed in its default directory. I don't know but you
did not suggest anything like that.
- MacPorts is not "fully" installed, where "fully" means "including altering
the PATH".

Since you didn't tell us how you installed MacPorts, I can only guess and
give a few suggestions:

1) Do you have the port command in its default location?
To check that, type the command 'ls -la /opt/local/bin/' as above.
If the answer to that question is yes, then you can see the shell *cannot*
execute it because its location is not in your PATH.

2) Did you install MacPorts using the pkg in the disk image as
http://www.macports.org/install.php suggests?
If you did so, the installer should have updated your .profile shell startup
script. As documented, that may not be good enough if you have a customized
shell setup. In any case, here is my .profile:

> JDMBook:~ $ cat .profile
> 
> # MacPorts Installer addition on 2009-02-13_at_17:22:24: adding an appropriate
> PATH variable for use with MacPorts.
> export PATH=/opt/local/bin:/opt/local/sbin:$PATH
> # Finished adapting your PATH environment variable for use with MacPorts.
> 
> 
> # MacPorts Installer addition on 2009-02-13_at_17:22:24: adding an appropriate
> MANPATH variable for use with MacPorts.
> export MANPATH=/opt/local/share/man:$MANPATH
> # Finished adapting your MANPATH environment variable for use with MacPorts.

If you installed MacPorts differently, then the MacPorts documentation tells
you that you need to manually do something along those lines.

3) Did you customize your terminal environment in any way?
This could have been for example through .profile, .bashrc, .bash_login,
.bash_profile etc...

If so, you might have to adjust your settings manually as described in TFM.

4) Installation
Assuming you have not changed anything in your terminal environment:
Quit Terminal.app, then execute the MacPorts .pkg installer, then relaunch
Terminal. Using the command shown above, verify that the port command exists
in its default location, and that the default location is in your PATH.
If not, alter your PATH as described.

5) Don't be shy.
In my previous answers I suggested you use the which command. Don't be shy.
Do it. If you expect to be helped, it's better to show that you tried a few
things... So if you *did* it, report the output.

Cheers,

Jean-Denis

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to