Hi guys, I'm just trying to install phenix on a students new macbook pro running OS10.8.2, and want to get phenix.refine working on the command line. I've put in: alias setphenix="source /Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/phenix_env.sh" in the .bashrc which seems to execute OK (and already pointed the .bash_profile to .bashrc) however whenever I then type phenix.refine I get command not found. As this is the same setup that I have running on my own machine I am a bit confused as to what is happening! Thanks! Simon
Hi Simon, Just to be clear; did you actually exectute the alias command before attempting to run phenix.refine? rob On Jan 29 2013, Simon Kolstoe wrote:
Hi guys,
I'm just trying to install phenix on a students new macbook pro running OS10.8.2, and want to get phenix.refine working on the command line. I've put in:
alias setphenix="source /Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/phenix_env.sh"
in the .bashrc which seems to execute OK (and already pointed the .bash_profile to .bashrc) however whenever I then type phenix.refine I get command not found. As this is the same setup that I have running on my own machine I am a bit confused as to what is happening!
Thanks!
Simon
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
-- Robert Oeffner, Ph.D. Research Associate, The Read Group Department of Haematology, University of Cambridge Cambridge Institute of Medical Research Wellcome Trust / MRC Building, Hills Road, Cambridge, CB2 0XY www-structmed.cimr.cam.ac.uk, tel:01223763234, mobile:07712 887162
yes! On 29 Jan 2013, at 14:55, R.D. Oeffner wrote:
Hi Simon,
Just to be clear; did you actually exectute the alias command before attempting to run phenix.refine?
rob
On Jan 29 2013, Simon Kolstoe wrote:
Hi guys,
I'm just trying to install phenix on a students new macbook pro running OS10.8.2, and want to get phenix.refine working on the command line. I've put in:
alias setphenix="source /Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/phenix_env.sh"
in the .bashrc which seems to execute OK (and already pointed the .bash_profile to .bashrc) however whenever I then type phenix.refine I get command not found. As this is the same setup that I have running on my own machine I am a bit confused as to what is happening!
Thanks!
Simon
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
-- Robert Oeffner, Ph.D. Research Associate, The Read Group Department of Haematology, University of Cambridge Cambridge Institute of Medical Research Wellcome Trust / MRC Building, Hills Road, Cambridge, CB2 0XY www-structmed.cimr.cam.ac.uk, tel:01223763234, mobile:07712 887162
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
You need to use .profile not .bashrc on a Mac
As a test run the source command yourself directly and then try running phenix.refine etc
Hope that helps
Kip
On Jan 29, 2013, at 10:16 AM, Simon Kolstoe
yes!
On 29 Jan 2013, at 14:55, R.D. Oeffner wrote:
Hi Simon,
Just to be clear; did you actually exectute the alias command before attempting to run phenix.refine?
rob
On Jan 29 2013, Simon Kolstoe wrote:
Hi guys,
I'm just trying to install phenix on a students new macbook pro running OS10.8.2, and want to get phenix.refine working on the command line. I've put in:
alias setphenix="source /Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/phenix_env.sh"
in the .bashrc which seems to execute OK (and already pointed the .bash_profile to .bashrc) however whenever I then type phenix.refine I get command not found. As this is the same setup that I have running on my own machine I am a bit confused as to what is happening!
Thanks!
Simon
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
-- Robert Oeffner, Ph.D. Research Associate, The Read Group Department of Haematology, University of Cambridge Cambridge Institute of Medical Research Wellcome Trust / MRC Building, Hills Road, Cambridge, CB2 0XY www-structmed.cimr.cam.ac.uk, tel:01223763234, mobile:07712 887162
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
On Tue, Jan 29, 2013 at 10:54 AM, Kip Guja
You need to use .profile not .bashrc on a Mac
Actually that's not true. In the case of bash, a login shell will read /etc/profile, ~/.bash_profile, ~/.bash_login, and ~/.profile in that order. A subshell, i.e. an interactive shell that is not a login shell, will read ~/.bashrc. In the traditional UNIX windowing environment of X11, the X11 session will invoke a login shell, reading one or all of the various profile files, and all subsequent shells started via terminal emulators and the like will usually be subshells, which will read your ~/.bashrc. If you look at /Applications/Utilities/XQuartz.app/Contents/MacOS/X11, you'll see that the Xorg ported to OS X does exactly this. A snippet: case $(basename "${SHELL}") in bash) exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;; Where users get tripped up on OS X is that many of them will use Terminal.app as their terminal emulator, and since it's not an X11 application, it uses a login shell as the default shell in its interface. The solution is to just follow the Bash FAQ suggestion to have your ~/.bash_profile contain: test -f ~/.bashrc && . ~/.bashrc Which will ensure you always pick up your base shell environment regardless of how the shell is started. Hopefully some of that explanation helps you, Simon, but if you're still stuck, you can run 'bash -x' to put the shell into debug mode as it interprets your shell start up files. It should give you some clues as to what's going wrong. Annoyingly that option is not documented in the manpage on this machine. Here is some additional explanation: http://wiki.bash-hackers.org/scripting/debuggingtips#use_shell_debug_output -ben
Ben, an excellent explanation. I work with Mac.
Recently I experienced a problem with a new version of HKL2000. X11 window showing the diffraction frame stayed on for a very short time
before being closed. Somehow problem was sorted out by changing wireless environment to constant internet connection in my office.
But I suspect that, as I usually open automatically 8 tabs in a Terminal window, not all of them where doing the same procedure not completing
some X11 activation, stamp or sort of these things. I work with tcsh and not with bash from historical reasons. I hope that all you have written about bash
environment is true with some modifications also for tcsh. Anyhow it was very inspiring to read your message.
As there are less and less IT support for unix around we have to go back to school ourself and to learn or refresh essentials :-)
My best regards
FF
Dr Felix Frolow
Professor of Structural Biology and Biotechnology, Department of Molecular Microbiology and Biotechnology
Tel Aviv University 69978, Israel
Acta Crystallographica F, co-editor
e-mail: [email protected]
Tel: ++972-3640-8723
Fax: ++972-3640-9407
Cellular: 0547 459 608
On Jan 30, 2013, at 03:08 , Ben Eisenbraun
On Tue, Jan 29, 2013 at 10:54 AM, Kip Guja
wrote: You need to use .profile not .bashrc on a Mac
Actually that's not true.
In the case of bash, a login shell will read /etc/profile, ~/.bash_profile, ~/.bash_login, and ~/.profile in that order. A subshell, i.e. an interactive shell that is not a login shell, will read ~/.bashrc.
In the traditional UNIX windowing environment of X11, the X11 session will invoke a login shell, reading one or all of the various profile files, and all subsequent shells started via terminal emulators and the like will usually be subshells, which will read your ~/.bashrc.
If you look at /Applications/Utilities/XQuartz.app/Contents/MacOS/X11, you'll see that the Xorg ported to OS X does exactly this. A snippet:
case $(basename "${SHELL}") in bash) exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;;
Where users get tripped up on OS X is that many of them will use Terminal.app as their terminal emulator, and since it's not an X11 application, it uses a login shell as the default shell in its interface.
The solution is to just follow the Bash FAQ suggestion to have your ~/.bash_profile contain:
test -f ~/.bashrc && . ~/.bashrc
Which will ensure you always pick up your base shell environment regardless of how the shell is started.
Hopefully some of that explanation helps you, Simon, but if you're still stuck, you can run 'bash -x' to put the shell into debug mode as it interprets your shell start up files. It should give you some clues as to what's going wrong. Annoyingly that option is not documented in the manpage on this machine. Here is some additional explanation:
http://wiki.bash-hackers.org/scripting/debuggingtips#use_shell_debug_output
-ben _______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
On Tue, Jan 29, 2013 at 11:50 PM, Felix Frolow
As there are less and less IT support for unix around we have to go back to school ourself and to learn or refresh essentials :-)
Well, we (software developers) also need to design our software for use by ordinary mortals and not Unix sysadmins - there's no good reason, aside from legacy software, why you should need to be a computer expert to be a productive crystallographer. -Nat
Thanks for the help, The student isn't in again until the end of the week however I'm sure my little typo is the cause of the problem. I always find it interesting how, in my career, I've sat on the boundary between computer science, chemistry and physics, only really knowing enough or finding out enough of each to get the specific experiment done that I am working on at the time. I suppose if I were a programer making a mistake in a script like I have it would be unforgivable, but as a scientist I don't mind looking foolish so long as the damn thing works and I get to analyse my structure (or at least my student does)! As I can't be an expert in all areas, I really appreciate the help from those of you who write and maintain all the software and have an eye for the detail in lines of text scripts! Simon On 30 Jan 2013, at 16:01, Nathaniel Echols wrote:
On Tue, Jan 29, 2013 at 11:50 PM, Felix Frolow
wrote: As there are less and less IT support for unix around we have to go back to school ourself and to learn or refresh essentials :-)
Well, we (software developers) also need to design our software for use by ordinary mortals and not Unix sysadmins - there's no good reason, aside from legacy software, why you should need to be a computer expert to be a productive crystallographer.
-Nat _______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
Thanks for the help. I tried also pointing the .bash_profile and .bash_login to the .bashrc and now get the following. ---------- [~]bash -x + export 'PS1=[\w]' + PS1='[\w]' + alias 'll=ls -lrt' + export PHENIX_OVERWRITE_ALL=true + PHENIX_OVERWRITE_ALL=true + alias setphenix=/Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/phenix_env.sh + alias 'setccp4=source /Applications/ccp4-6.3.0/bin/ccp4.setup-sh' [~]setphenix + /Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/phenix_env.sh [~]phenix.refine + phenix.refine bash: phenix.refine: command not found [~] ------------- I am wondering if something in the phenix_env.sh is wrong? I found phenix.refine in the directory and sure enough it works if run here: /Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/build/mac-intel-osx-x86_64/bin Thanks! Simon On 30 Jan 2013, at 01:08, Ben Eisenbraun wrote:
On Tue, Jan 29, 2013 at 10:54 AM, Kip Guja
wrote: You need to use .profile not .bashrc on a Mac
Actually that's not true.
In the case of bash, a login shell will read /etc/profile, ~/.bash_profile, ~/.bash_login, and ~/.profile in that order. A subshell, i.e. an interactive shell that is not a login shell, will read ~/.bashrc.
In the traditional UNIX windowing environment of X11, the X11 session will invoke a login shell, reading one or all of the various profile files, and all subsequent shells started via terminal emulators and the like will usually be subshells, which will read your ~/.bashrc.
If you look at /Applications/Utilities/XQuartz.app/Contents/MacOS/X11, you'll see that the Xorg ported to OS X does exactly this. A snippet:
case $(basename "${SHELL}") in bash) exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;;
Where users get tripped up on OS X is that many of them will use Terminal.app as their terminal emulator, and since it's not an X11 application, it uses a login shell as the default shell in its interface.
The solution is to just follow the Bash FAQ suggestion to have your ~/.bash_profile contain:
test -f ~/.bashrc && . ~/.bashrc
Which will ensure you always pick up your base shell environment regardless of how the shell is started.
Hopefully some of that explanation helps you, Simon, but if you're still stuck, you can run 'bash -x' to put the shell into debug mode as it interprets your shell start up files. It should give you some clues as to what's going wrong. Annoyingly that option is not documented in the manpage on this machine. Here is some additional explanation:
http://wiki.bash-hackers.org/scripting/debuggingtips#use_shell_debug_output
-ben _______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
participants (6)
-
Ben Eisenbraun
-
Felix Frolow
-
Kip Guja
-
Nathaniel Echols
-
R.D. Oeffner
-
Simon Kolstoe