epics-extensions/EPNix

makeBaseApp.pl, eregen, etc. not available in default nix develop enviornment from template

Opened this issue · 3 comments

Description

When following the tutorial, I ran into some issues with commands not being available

To reproduce

Follow the tutorial here: https://epics-extensions.github.io/EPNix/ioc/tutorials/streamdevice.html

Specifically:

$ nix flake new -t 'github:epics-extensions/epnix' my-top
[...]
$ cd my-top
$ nix develop
[...]
$ makeBaseApp.pl -t ioc example
makeBaseApp.pl: command not found

Hey there! Thanks for your interest in EPNix!

Just to be sure, did you ran the makeBaseApp.pl command inside the nix develop environment?

I just tried these exact instructions, and it worked for me.

Could you check that:

  • epics-base is contained in your path
  • whether the makeBaseApp.pl command is inside the /nix/store/....-epics-base-.../bin directory
  • whether running /nix/store/....-epics-base-.../bin/makeBaseApp.pl -h directly works

Another potential lead: are you on a x86_64-linux machine?

Yes, I ran makeBaseApp.pl in the nix develop shell

  • Epics-base is not contained in path either
  • makeBaseApp can be run from /nix/store directly
  • This works.

I'm on x86-64-linux-NixOS via WSL2, so there may be some difficulties there. I'll see if I can recreate the same issue in a "real" NixOS vm.

hmmm, that's weird. EPnix was previously used on WSL2, and it did work. I don't have a WSL2 system on hand right now so I can't test it immediately.

You have epics-base in the nix store, so it did build it to make the development environment.

Could you show the result of nix print-dev-env from your top?

Could you also tell me your Nix version?