New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Full Distribution" Download Can't find opml.root #9

Closed
tedchoward opened this Issue Apr 27, 2018 · 7 comments

Comments

Projects
None yet
3 participants
@tedchoward
Owner

tedchoward commented Apr 27, 2018

For some reason, the "Full Distribution" download is unable to find opml.root.

Steps:

  • Download OPML-full-distribution.dmg
  • Double-click OPML-full-distribution.dmg
  • Drag OPML folder to /Applications
  • Double-click /Applications/OPML.app

Expected behavior:

  • OPML editor launches and starts working

Actual behavior:
screen shot 2018-04-27 at 5 28 53 pm

Workaround (launch from terminal):

  • Launch Terminal.app
  • type cd and drag the /Applications/OPML folder to the terminal window
  • type ./OPML.app/Contents/MacOS/OPML
  • Press return

I don't know why he workaround works and double-clicking the app bundle doesn't.

FWIW: The release works fine on my machine until I upload to Github. The files I download from Github have this problem.

@mrDarcyMurphy

This comment has been minimized.

Show comment
Hide comment
@mrDarcyMurphy

mrDarcyMurphy Apr 29, 2018

@tedchoward https://gist.github.com/mrDarcyMurphy/bc488c261883866ac504062ecc163bb3

I saw the same thing, so ran the app a few different ways and posted the logs to the gist above. Hope it helps.

mrDarcyMurphy commented Apr 29, 2018

@tedchoward https://gist.github.com/mrDarcyMurphy/bc488c261883866ac504062ecc163bb3

I saw the same thing, so ran the app a few different ways and posted the logs to the gist above. Hope it helps.

@tedchoward

This comment has been minimized.

Show comment
Hide comment
@tedchoward

tedchoward Apr 30, 2018

Owner

@mrDarcyMurphy Thanks! I appreciate that.

I have a new workaround:

  1. Download the "Full Distribution" DMG
  2. Double-click OPML-full-distribution.dmg
  3. Drag OPML folder somewhere (e.g. /Applications, the desktop)
  4. Double-click OPML folder
  5. Drag OPML.app to the Desktop
  6. Drag OPML.app back to the OPML folder
  7. Double-click OPML.app
Owner

tedchoward commented Apr 30, 2018

@mrDarcyMurphy Thanks! I appreciate that.

I have a new workaround:

  1. Download the "Full Distribution" DMG
  2. Double-click OPML-full-distribution.dmg
  3. Drag OPML folder somewhere (e.g. /Applications, the desktop)
  4. Double-click OPML folder
  5. Drag OPML.app to the Desktop
  6. Drag OPML.app back to the OPML folder
  7. Double-click OPML.app
@mrDarcyMurphy

This comment has been minimized.

Show comment
Hide comment
@mrDarcyMurphy

mrDarcyMurphy Apr 30, 2018

@tedchoward Cool. I'll try it out when I get the chance. In the meantime, I noticed you may have a hard coded path. Check this line.

mrDarcyMurphy commented Apr 30, 2018

@tedchoward Cool. I'll try it out when I get the chance. In the meantime, I noticed you may have a hard coded path. Check this line.

@tedchoward

This comment has been minimized.

Show comment
Hide comment
@tedchoward

tedchoward Apr 30, 2018

Owner
  • I had a theory that the application bundle was getting the wrong path.
  • How does the kernel find the root database file?
    • Short answer: It looks in the same directory as the running application bundle.
  • I published v10.2d4 which logs out the path to the application bundle when it tries to find the root database.
    • It confirmed my suspicions
Apr 30 11:46:24 TedBook-Pro OPML[10764]: bundle url = file://localhost/var/folders/rw/2xy3lr9d0l7gvxprcm9vblth0000gn/T/AppTranslocation/FCD3E2C1-7C19-4010-896E-29F986FF2821/d/OPML.app/
  • It appears that macOS is copying the application to a "secure" location before executing it.
  • Therefore the application can't find the root database file
  • For some reason, copying the application bundle to a new location, and then copying it back causes macOS to stop doing this.
Owner

tedchoward commented Apr 30, 2018

  • I had a theory that the application bundle was getting the wrong path.
  • How does the kernel find the root database file?
    • Short answer: It looks in the same directory as the running application bundle.
  • I published v10.2d4 which logs out the path to the application bundle when it tries to find the root database.
    • It confirmed my suspicions
Apr 30 11:46:24 TedBook-Pro OPML[10764]: bundle url = file://localhost/var/folders/rw/2xy3lr9d0l7gvxprcm9vblth0000gn/T/AppTranslocation/FCD3E2C1-7C19-4010-896E-29F986FF2821/d/OPML.app/
  • It appears that macOS is copying the application to a "secure" location before executing it.
  • Therefore the application can't find the root database file
  • For some reason, copying the application bundle to a new location, and then copying it back causes macOS to stop doing this.
@tedchoward

This comment has been minimized.

Show comment
Hide comment
@tedchoward

tedchoward Apr 30, 2018

Owner

The "Security Feature" causing this headache is called App Translocation, and is part of macOS's Gatekeeper as of macOS 10.12 (Sierra)

https://weblog.rogueamoeba.com/2016/06/29/sierra-and-gatekeeper-path-randomization/

Owner

tedchoward commented Apr 30, 2018

The "Security Feature" causing this headache is called App Translocation, and is part of macOS's Gatekeeper as of macOS 10.12 (Sierra)

https://weblog.rogueamoeba.com/2016/06/29/sierra-and-gatekeeper-path-randomization/

@tedchoward

This comment has been minimized.

Show comment
Hide comment
@tedchoward

tedchoward Apr 30, 2018

Owner

I'm going to close this issue, because there's nothing I can do about it.

I have updated the README.md file with instructions to download the OPML folder separately from the application bundle. This effectively works around the problem.

I have also removed all "Full Distribution" downloads from the Releases page.

Owner

tedchoward commented Apr 30, 2018

I'm going to close this issue, because there's nothing I can do about it.

I have updated the README.md file with instructions to download the OPML folder separately from the application bundle. This effectively works around the problem.

I have also removed all "Full Distribution" downloads from the Releases page.

@remorse

This comment has been minimized.

Show comment
Hide comment
@remorse

remorse Aug 28, 2018

I commented on another ticket about this, but in case it helps someone looking for a solution, you can do something like:

Command to remove translocation from an application in Mac OS High Sierra

	xattr -dr com.apple.quarantine "/Applications/[application].app"

to remove the app translocation from the application bundle. (Obviously, you would replace [application] with the name of the actual application...)

remorse commented Aug 28, 2018

I commented on another ticket about this, but in case it helps someone looking for a solution, you can do something like:

Command to remove translocation from an application in Mac OS High Sierra

	xattr -dr com.apple.quarantine "/Applications/[application].app"

to remove the app translocation from the application bundle. (Obviously, you would replace [application] with the name of the actual application...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment