Skip to content
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

bech32, cardano-{address,tx} release executables don't work on macOS without nix #2134

Closed
Anviking opened this issue Sep 11, 2020 · 1 comment · Fixed by #2135
Closed

bech32, cardano-{address,tx} release executables don't work on macOS without nix #2134

Anviking opened this issue Sep 11, 2020 · 1 comment · Fixed by #2135
Labels
Bug SEVERITY:LOW Small defects which does not prevent any crucial functionality to work.

Comments

@Anviking
Copy link
Member

Anviking commented Sep 11, 2020

Context

https://input-output-rnd.slack.com/archives/GBT05825V/p1599837130089800?thread_ts=1599834710.084500&cid=GBT05825V

Information -
Version multiple ?
Platform macOS
Installation Github Release

Steps to Reproduce

  1. Download and extract a release archive
  2. otool -L ./cardano-address (and cardano-addres, bech32)

Expected behavior

The dylib paths are relative to @executable_path, like for cardano-wallet

./cardano-wallet:
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
	@executable_path/libz.dylib (compatibility version 1.0.0, current version 1.2.11)
	@executable_path/libsodium.23.dylib (compatibility version 27.0.0, current version 27.0.0)
	@executable_path/libiconv.dylib (compatibility version 7.0.0, current version 7.0.0)
	@executable_path/libgmp.10.dylib (compatibility version 15.0.0, current version 15.0.0)
	@executable_path/libffi.7.dylib (compatibility version 9.0.0, current version 9.0.0)

Actual behavior

otool -L ./cardano-address
./cardano-address:
	/nix/store/f573hx6rga70hx5xjqrvqa58jkdxdl91-Libsystem-osx-10.12.6/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
	/nix/store/p95rm5rlv4fmi0k81nr0l29ax57dw1r0-zlib-1.2.11/lib/libz.dylib (compatibility version 1.0.0, current version 1.2.11)
	/nix/store/m3yqw7xcmhvd0cmm3jh3b469kxf3yhfp-libiconv-osx-10.12.6/lib/libiconv.dylib (compatibility version 7.0.0, current version 7.0.0)
	/nix/store/hrmqighslwzk32rmz00k1lw5k53f5jr3-gmp-6.2.0/lib/libgmp.10.dylib (compatibility version 15.0.0, current version 15.0.0)
	/nix/store/w1v69v7w418nvsc3rxndp4cq59110bzj-libffi-3.3/lib/libffi.7.dylib (compatibility version 9.0.0, current version 9.0.0)

Reported by @piotr-iohk to cause the binaries to be un-runnable on a macOS without nix installed (and you'd need the .dylibs to actually be in the store somehow, not just to have nix installed)


Resolution


QA

@Anviking Anviking added the Bug label Sep 11, 2020
@KtorZ KtorZ added the SEVERITY:LOW Small defects which does not prevent any crucial functionality to work. label Sep 11, 2020
@Anviking
Copy link
Member Author

Anviking commented Sep 11, 2020

rvl added a commit that referenced this issue Sep 12, 2020
rvl added a commit that referenced this issue Sep 12, 2020
rvl added a commit that referenced this issue Sep 14, 2020
rvl added a commit that referenced this issue Sep 14, 2020
iohk-bors bot added a commit that referenced this issue Sep 16, 2020
2135: Fix dylib references of bundled programs on macOS r=rvl a=rvl

### Issue Number

Resolves #2134

### Overview

- On macOS rewrite dylib references from `/nix/store` to `@executable_path` - for every executable in the bundle.
- Add linking tests to `check-bundle.rb` for macOS and Linux.


Co-authored-by: Rodney Lorrimar <[email protected]>
iohk-bors bot added a commit that referenced this issue Sep 17, 2020
2125: CLI: Add option "cardano-wallet transaction create --metadata=JSON" r=rvl a=rvl

### Issue Number

ADP-307 / #2076

### Overview

- Adds `--metadata=JSON` option to transaction create and fee estimate commands.

### Comments

Will update the CLI wiki page after merging.


2135: Fix dylib references of bundled programs on macOS r=rvl a=rvl

### Issue Number

Resolves #2134

### Overview

- On macOS rewrite dylib references from `/nix/store` to `@executable_path` - for every executable in the bundle.
- Add linking tests to `check-bundle.rb` for macOS and Linux.


2141: Make Jörmungandr tests pass again r=rvl a=piotr-iohk

# Issue Number

<!-- Put here a reference to the issue this PR relates to and which requirements it tackles -->


# Overview

- 3665332
  Disable STAKE_POOLS_* tests due to #2140
  
- 6e276af
  Remove hard-coded mnemonics in case not necessary in integration tests
  
- 038c365
  Remove Shelley specific transaction suite. Add few more basic transaction tests to Jormungandr suite.
  
- 6e98d4b
  BYRON_MIGRATE_01 - make Jormungandr big wallet for migration smaller (the same as Shelley one) and adjust to pass on both backends
  
- e3d6a55
  adjust genMnemonics to be more standard



# Comments

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Rodney Lorrimar <[email protected]>
Co-authored-by: Piotr Stachyra <[email protected]>
iohk-bors bot added a commit that referenced this issue Sep 17, 2020
2135: Fix dylib references of bundled programs on macOS r=rvl a=rvl

### Issue Number

Resolves #2134

### Overview

- On macOS rewrite dylib references from `/nix/store` to `@executable_path` - for every executable in the bundle.
- Add linking tests to `check-bundle.rb` for macOS and Linux.


2141: Make Jörmungandr tests pass again r=rvl a=piotr-iohk

# Issue Number

<!-- Put here a reference to the issue this PR relates to and which requirements it tackles -->


# Overview

- 3665332
  Disable STAKE_POOLS_* tests due to #2140
  
- 6e276af
  Remove hard-coded mnemonics in case not necessary in integration tests
  
- 038c365
  Remove Shelley specific transaction suite. Add few more basic transaction tests to Jormungandr suite.
  
- 6e98d4b
  BYRON_MIGRATE_01 - make Jormungandr big wallet for migration smaller (the same as Shelley one) and adjust to pass on both backends
  
- e3d6a55
  adjust genMnemonics to be more standard



# Comments

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Rodney Lorrimar <[email protected]>
Co-authored-by: Piotr Stachyra <[email protected]>
iohk-bors bot added a commit that referenced this issue Sep 17, 2020
2135: Fix dylib references of bundled programs on macOS r=rvl a=rvl

### Issue Number

Resolves #2134

### Overview

- On macOS rewrite dylib references from `/nix/store` to `@executable_path` - for every executable in the bundle.
- Add linking tests to `check-bundle.rb` for macOS and Linux.


Co-authored-by: Rodney Lorrimar <[email protected]>
iohk-bors bot added a commit that referenced this issue Sep 18, 2020
2135: Fix dylib references of bundled programs on macOS r=Anviking a=rvl

### Issue Number

Resolves #2134

### Overview

- On macOS rewrite dylib references from `/nix/store` to `@executable_path` - for every executable in the bundle.
- Add linking tests to `check-bundle.rb` for macOS and Linux.


Co-authored-by: Rodney Lorrimar <[email protected]>
@iohk-bors iohk-bors bot closed this as completed in 9e7bbf5 Sep 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug SEVERITY:LOW Small defects which does not prevent any crucial functionality to work.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants