Opened 4 years ago
Last modified 3 years ago
#62868 new defect
arb @6.0.2: ARBHOME: unbound variable
Reported by: | Channy-736 (Chantel) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.4 |
Keywords: | Cc: | ||
Port: | arb |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
I've installed the latest version of ARB (6.0.2) through Macports (2.6.4) with Xcode (12.5) on macOS Big Sur 11.3.1. I also have xquartz installed. When I try to run arb by typing in the terminal the command:
arb
I get the following error:
/opt/local/bin/arb: line 94: ARBHOME: unbound variable
Next, I manually set the path to the location of the arb Unix Executable file, located in /opt/local/bin/arb using the following lines of code:
ARBHOME=/opt/local/bin/arb;export ARBHOME PATH=/opt/local/bin/arb:$PATH export PATH
but then once I try running arb again, I get an error different from the user's in this issue: #47262 (I don't get the Can't open display: :0 error):
chantel@MacBook-Pro-2 ~ % arb Ignoring set ARBHOME '/opt/local/bin/arb' (overridden by explicit call of '/opt/local/bin/arb') Using ARBHOME='/opt/local/bin/arb' /opt/local/bin/arb: line 55: Fusion.app/Contents/Public:/opt/X11/bin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands: No such file or directory Using properties from /Users/chantel/.arb_prop Directory /Users/chantel/.arb_prop not found - creating ... Directory /Users/chantel/.arb_pts not found - creating ... Directory /Users/chantel.arb_prop/macros not found - creating ... Directory /opt/local/bin/arb/lib/macros not found - creating ... mkdir: /opt/local/bin/arb/lib: Not a directory Please wait while the program ARB is starting ..... Waiting for '/Users/chantel/.arb_tmp/sockets/arb_launcher.62500'.. [arb_launcher[0]: Starting 'arb_ntree'..] **Fatal ERROR: Environment Variable ARBHOME not found !!!** Please set 'ARBHOME' to the installation path of ARB ARB: Loading 'ntree.arb' Environment variable 'ARBHOME' should contain the path of an existing directory. (current content '/opt/local/bin/arb' has been ignored.) **Fatal ERROR: Environment Variable ARBHOME not found !!!** Please set 'ARBHOME' to the installation path of ARB Environment variable 'ARBHOME' should contain the path of an existing directory. (current content '/opt/local/bin/arb' has been ignored.) [arb_launcher[0]: 'arb_ntree' has terminated with error 1] [arb_launcher[0]: All launched processes terminated] Session log has been stored in /Users/chantelbiegler/.arb_prop/logs/session.20210510_211933.62509.tgz and is also accessible via /Users/chantelbiegler/ARB_last_session.tgz ARB terminated abnormally
The run log has the following output:
[arb_launcher[0]: Starting 'arb_ntree'..] Fatal ERROR: Environment Variable ARBHOME not found !!! Please set 'ARBHOME' to the installation path of ARB ARB: Loading 'ntree.arb' Environment variable 'ARBHOME' should contain the path of an existing directory. (current content '/opt/local/bin/arb' has been ignored.) Fatal ERROR: Environment Variable ARBHOME not found !!! Please set 'ARBHOME' to the installation path of ARB Environment variable 'ARBHOME' should contain the path of an existing directory. (current content '/opt/local/bin/arb' has been ignored.) [arb_launcher[0]: 'arb_ntree' has terminated with error 1] [arb_launcher[0]: All launched processes terminated]
TL;DR - Clearly, there is something wrong with ARBHOME, based on the fatal error that says the environmental variable ARBHOME isn't found. I just have no idea how to fix that.
My apologies if this is a noob question - I'm brand new to ARB and I've found the installation process to be archaically difficult, but maybe that's just me. I have searched the forums, but I haven't found anything else I can try for this issue.
Thank you so much, I would really appreciate it if I could get this working!!
Attachments (1)
Change History (15)
comment:1 Changed 4 years ago by Channy-736 (Chantel)
Description: | modified (diff) |
---|
comment:2 Changed 4 years ago by kencu (Ken)
comment:3 Changed 4 years ago by kencu (Ken)
I guess these instructions need to be updated for zsh...
comment:4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | ARB removed |
---|---|
Port: | arb added |
Summary: | ARB fails to run with MacPorts Installation → arb @6.0.2: ARBHOME: unbound variable |
Are you really using arb 6.0.2 or was that a typo? We have never offered arb 6.0.2 in MacPorts. We upgraded from 6.0.1 straight to 6.0.4 in [4c9c33ce163e9e8251b266c38649680ae9d0f43e/macports-ports] in 2016 and then to 6.0.6 in [3a784a321d09f20265ea20b03c1e0df647155782/macports-ports] in 2020.
comment:5 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
comment:6 Changed 4 years ago by Channy-736 (Chantel)
Ok, apologies, I just assumed the version was 6.0.2. I am using whichever version macports automatically installed, which I'm guessing is 6.0.6.
I tried arb_macsetup, but that gives the output:
Unknown shell (zsh)! Please set your ARB compatible environment manually.
I will try option B as soon as I can, I'm just in a lab meeting right now unfortunately.
Thank you for looking into this!
comment:7 Changed 4 years ago by Channy-736 (Chantel)
So with option B, as I mentioned before, I just typed in the path location for the arb unix executable file and entered the following in my terminal:
ARBHOME=/opt/local/bin/arb;export ARBHOME PATH=/opt/local/bin/arb:$PATH export PATH
The . ~/.profile command does nothing:
.: no such file or directory: /Users/chantel/.profile
As Ken mentioned, these instructions are not updated for zsh, so I'm guessing the bash commands don't work here.
comment:8 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
You're setting ARBHOME to /opt/local/bin/arb but the instructions say to set it to /opt/local/share/arb.
comment:9 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
And you're adding /opt/local/bin/arb to PATH, but the instructions say to add /opt/local/share/arb/bin to PATH.
comment:10 follow-up: 11 Changed 4 years ago by Channy-736 (Chantel)
Okay thank you. My apologies, I thought I was supposed to set the directory to where my Unix file is located. I see now that there is a directory for that. Now I am getting the same error as in post #47262. That post's solutions were to either have Xquartz or xorg-server installed. I had xquartz installed and gave it a try, with the error output below. Then I installed xorg-server via the command
sudo port install xorg-server
but this produced the same error output below too. I'm not sure what to do from here.
chantel@MacBook-Pro-2 ~ % arb Ignoring set ARBHOME '/opt/local/share/arb' (overridden by explicit call of '/opt/local/bin/arb') Using ARBHOME='/opt/local/share/arb' /opt/local/bin/arb: line 55: Fusion.app/Contents/Public:/opt/X11/bin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands: No such file or directory Using properties from /Users/chantel/.arb_prop Please wait while the program ARB is starting ..... Waiting for '/Users/chantelbiegler/.arb_tmp/sockets/arb_launcher.4000'.. [arb_launcher[0]: Starting 'arb_ntree'..] Using properties from '/opt/local/share/arb/lib/arb_default/status.arb' Using properties from '/opt/local/share/arb/lib/arb_default/ntree.arb' Error: Can't open display: :0 Error: Can't open display: :0 ARB: Loading 'ntree.arb' ARB: Loading '/opt/local/share/arb/lib/arb_default/ntree.arb' done [arb_launcher[0]: 'arb_ntree' has terminated with error 1] [arb_launcher[0]: Still have 1 arb processes..] [arb_launcher[0]: All launched processes terminated]
Thank you again for all the support. I feel like I'm really close, I just need one more fix!
comment:11 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to Channy-736:
/opt/local/bin/arb: line 55: Fusion.app/Contents/Public:/opt/X11/bin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands: No such file or directory
Your PATH contains a value containing spaces, specifically /Applications/VMware Fusion.app/Contents/Public, and the arb launch script contains a bug that causes it to be unable to handle that.
They fixed this last year:
http://bugs.arb-home.de/changeset/18439
but the last version of arb that was released is from 5 years ago, so this fix is not in MacPorts yet.
I don't know how much of a problem this is. It does not prevent the program from launching when I try it on my system.
The real problem in your case is:
Error: Can't open display: :0 Error: Can't open display: :0
The display should not be ":0". It should be a randomly generated path that, when accessed, causes X11.app to launch.
The xinit port should have set this up for you if you followed the steps it displayed:
$ port notes xinit ---> xinit has the following notes: To use MacPorts' X11 as the default server, install xorg-server, log out, and log back in.
If you did do that and it's still not working due to trying to use display ":0", check your shell startup file (probably ~/.zprofile but could be ~/.bashrc, ~/.bash_profile, or ~/.profile) for any line like "export DISPLAY=:0" that sets the display. If that's present, remove it. There was a bug in the MacPorts 2.6.4 installer for macOS Big Sur that caused this line to be added erroneously; see #61649. The MacPorts 2.7.0 installer will no longer make that mistake, but it will not clean up the mistake previously made by the 2.6.4 installer if you had used it.
comment:12 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
comment:13 Changed 4 years ago by Channy-736 (Chantel)
Ok how do I access my shell startup file? I've searched the web, but I can't find anything that directly states how to access that file so I can edit it. I found files for bash, zsh, etc. but not for ~/.profile.
Edit: Nevermind, I figured it out! To access the profile, use the command:
open -a TextEdit.app ~/.zprofile
Once I removed that export DISPLAY=:0 line in the text file, arb was finally able to start!!
Thank you so much, Ryan!
comment:14 Changed 3 years ago by mattcottrell
It's been several years since I stepped away from my role maintaining the arb port. But I'll chime in here to propose a patch to the arb_macsetup script to enable zsh compatibility.
I hope this helps.
--- src/arb_macsetup.orig 2021-06-05 07:00:35.000000000 -0400 +++ src/arb_macsetup 2021-06-05 11:03:51.000000000 -0400 @@ -78,6 +78,19 @@ CONF_FILE=profile fi ;; + zsh) + echo "Detected the zsh shell." + LOGIN_FLAG="--login" + ENV_COMMAND="export" + ASSIGN="=" + if [ -f ${HOME}/.zprofile ]; then + CONF_FILE=zprofile + elif [ -f ${HOME}/.zshrc ]; then + CONF_FILE=zshrc + else + CONF_FILE=zshenv + fi + ;; *) echo "Unknown shell ($USHELL)! Please set your ARB compatible environment manually."
Changed 3 years ago by mattcottrell
Attachment: | patch-ARB-arb_macsetup.diff added |
---|
patch-ARB-arb_macsetup.diff
None of this worked for you?