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

'make compile' fails #2583

Open
basil-conto opened this issue May 27, 2020 · 7 comments · May be fixed by #2917
Open

'make compile' fails #2583

basil-conto opened this issue May 27, 2020 · 7 comments · May be fixed by #2917

Comments

@basil-conto
Copy link
Collaborator

Seen after commit 62815d9 addressing #2574:

  1. cd /path/to/swiper
  2. emacs -Q
  3. M-xcompileRET
  4. C-aC-kmake compileRET
-*- mode: compilation; default-directory: "~/.emacs.d/src/swiper/" -*-
Compilation started at Wed May 27 21:30:04

make compile
emacs -batch -l elpa.el -L . -f batch-byte-compile colir.el ivy-faces.el ivy-overlay.el ivy.el ivy-avy.el swiper.el counsel.el

In toplevel form:
ivy-avy.el:26:1: Error: Cannot open load file: No such file or directory, avy
make: *** [Makefile:18: compile] Error 1

Compilation exited abnormally with code 2 at Wed May 27 21:30:05
@ericdanan
Copy link
Contributor

I am also running into this error when trying to update ivy. Perhaps the comment by @kiennq in #2574 could be addressed by adding an autoload form for ivy-avy in ivy.el as is done for the ivy-hydra commands? And then commit 62815d9 could be reverted to fix the current issue unless there is a particular reason why ivy-avy.el needs to be compiled? (I notice that ivy-hydra.el is not compiled either and I suppose compiling it would yield a similar error for users who didn't install hydra.)

@basil-conto
Copy link
Collaborator Author

There's no reason why all files can't be byte-compiled, even when third-party packages are missing.

@ericdanan
Copy link
Contributor

@basil-conto Thanks. I thought the error meant simply that avy was not present, but indeed it can't be that since I realize that I do actually have avy installed (as a dependency of ace-window). So I don't know what the issue is. In case it's relevant I install ivy (and all other packages) through el-get.

@basil-conto
Copy link
Collaborator Author

@ericdanan The project's Makefile overrides package-user-dir, so it doesn't pick up avy installed in the usual place. See #2573.

@abo-abo
Copy link
Owner

abo-abo commented Jun 7, 2020

ivy-avy.el is already automatically tested on Travis CI.

See from .travis.yml the details of how it's done:

make deps
make test

@abo-abo
Copy link
Owner

abo-abo commented Jun 7, 2020

The reason why make compile does not depend on make deps is that make deps is a slow action, that does not need to be performed too often.

Maybe we could add a stub file in ~/.elpa/EMACS_VERSION and then check its timestamp to see if we need to do make deps.

@basil-conto
Copy link
Collaborator Author

No, the right thing would be to have all package files compilable and testable without having third-party packages installed.

As long as Avy is not listed as a package dependency, then Ivy should be cleanly compilable and testable without it.

abo-abo added a commit that referenced this issue Jun 8, 2020
astoff pushed a commit to astoff/swiper that referenced this issue Jan 1, 2021
basil-conto added a commit that referenced this issue Sep 22, 2021
For some discussion, see the following threads:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01935.html
https://lists.gnu.org/r/emacs-devel/2021-03/msg00490.html

* ivy-avy.el: Move contents to ivy.el, and move empty package...
* obsolete/ivy-avy.el: ...here.

* ivy.el: Bump package version to 0.13.5.
(ivy-define-key): Use function-put in place of put.
(ivy-minibuffer-map): Bind ivy-avy.
(ivy-avy-style): Moved from ivy-avy.el.  Add a nil option for
falling through to the default avy-styles-alist or avy-style.
(ivy--avy-candidates, ivy--avy-action, ivy--avy-handler-function)
(ivy-avy): Moved from ivy-avy.el with some cleanups.

* swiper.el: Bump package versions to 0.13.5.
Localize external variable and function declarations.
(swiper-avy): Fix error message and docstring.

* counsel.el:
* ivy-hydra.el
* doc/ivy.org: Bump package versions to 0.13.5.
* doc/ivy.texi: Regenerate.

* Makefile (compile): Don't byte-compile ivy-avy.el.
* ivy-test.el (ivy-avy):
* targets/plain.el: Don't load ivy-avy.el.

Closes #2574, closes #2583.
basil-conto added a commit that referenced this issue Sep 22, 2021
For some discussion, see the following threads:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01935.html
https://lists.gnu.org/r/emacs-devel/2021-03/msg00490.html

* ivy-avy.el: Move contents to ivy.el.  Bump package versions to
0.13.5.  Mention deprecation in Commentary and warning message.

* ivy.el: Bump package version to 0.13.5.
(ivy-define-key): Use function-put in place of put.
(ivy-minibuffer-map): Bind ivy-avy.
(ivy-avy-style): Moved from ivy-avy.el.  Add a nil option for
falling through to the default avy-styles-alist or avy-style.
(ivy--avy-candidates, ivy--avy-action, ivy--avy-handler-function)
(ivy-avy): Moved from ivy-avy.el with some cleanups.

* swiper.el: Bump package versions to 0.13.5.
Localize external variable and function declarations.
(swiper-avy): Fix error message and docstring.

* counsel.el:
* ivy-hydra.el
* doc/ivy.org: Bump package versions to 0.13.5.
* doc/ivy.texi: Regenerate.

* Makefile (compile): Don't byte-compile ivy-avy.el.
* ivy-test.el (ivy-avy):
* targets/plain.el: Don't load ivy-avy.el.

Closes #2574, closes #2583.
basil-conto added a commit that referenced this issue Sep 22, 2021
For some discussion, see the following threads:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01935.html
https://lists.gnu.org/r/emacs-devel/2021-03/msg00490.html

* ivy-avy.el: Move contents to ivy.el.  Bump package versions to
0.13.5.  Mention deprecation in Commentary and warning message.

* ivy.el: Bump package version to 0.13.5.
(ivy-define-key): Use function-put in place of put.
(ivy-minibuffer-map): Bind ivy-avy.
(ivy-avy-style): Moved from ivy-avy.el.  Add a nil option for
falling through to the default avy-styles-alist or avy-style.
(ivy--avy-candidates, ivy--avy-action, ivy--avy-handler-function)
(ivy-avy): Moved from ivy-avy.el with some cleanups.

* swiper.el: Bump package versions to 0.13.5.
Localize external variable and function declarations.
(swiper-avy): Fix error message and docstring.

* counsel.el:
* ivy-hydra.el
* doc/ivy.org: Bump package versions to 0.13.5.
* doc/ivy.texi: Regenerate.

* Makefile (compile): Don't byte-compile ivy-avy.el.
* ivy-test.el (ivy-avy):
* targets/plain.el: Don't load ivy-avy.el.

Closes #2574, closes #2583.
@basil-conto basil-conto linked a pull request Sep 22, 2021 that will close this issue
basil-conto added a commit that referenced this issue Sep 29, 2021
For some discussion, see the following threads:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01935.html
https://lists.gnu.org/r/emacs-devel/2021-03/msg00490.html

* ivy-avy.el: Move contents to ivy.el.  Bump package versions to
0.13.5.  Mention deprecation in Commentary and warning message.

* ivy.el: Bump package version to 0.13.5.
(ivy-define-key): Use function-put in place of put.
(ivy-minibuffer-map): Bind ivy-avy.
(ivy-avy-style): Moved from ivy-avy.el.  Add a nil option for
falling through to the default avy-styles-alist or avy-style.
(ivy--avy-candidates, ivy--avy-action, ivy--avy-handler-function)
(ivy-avy): Moved from ivy-avy.el with some cleanups.

* swiper.el: Bump package versions to 0.13.5.
Localize external variable and function declarations.
(swiper-avy): Fix error message and docstring.

* counsel.el:
* ivy-hydra.el
* doc/ivy.org: Bump package versions to 0.13.5.
* doc/ivy.texi: Regenerate.

* Makefile (compile): Don't byte-compile ivy-avy.el.
* ivy-test.el (ivy-avy):
* targets/plain.el: Don't load ivy-avy.el.

Closes #2574, closes #2583.
basil-conto added a commit that referenced this issue Sep 30, 2021
For some discussion, see the following threads:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01935.html
https://lists.gnu.org/r/emacs-devel/2021-03/msg00490.html

* ivy-avy.el: Move contents to ivy.el.  Bump package versions to
0.13.5.  Mention deprecation in Commentary and warning message.

* ivy.el: Bump package version to 0.13.5.
(ivy-define-key): Use function-put in place of put.
(ivy-minibuffer-map): Bind ivy-avy.
(ivy-avy-style): Moved from ivy-avy.el.  Add a nil option for
falling through to the default avy-styles-alist or avy-style.
(ivy--avy-candidates, ivy--avy-action, ivy--avy-handler-function)
(ivy-avy): Moved from ivy-avy.el with some cleanups.

* swiper.el: Bump package versions to 0.13.5.
Localize external variable and function declarations.
(swiper-avy): Fix error message and docstring.

* counsel.el:
* ivy-hydra.el
* doc/ivy.org: Bump package versions to 0.13.5.
* doc/ivy.texi: Regenerate.

* Makefile (compile): Don't byte-compile ivy-avy.el.
* ivy-test.el (ivy-avy):
* targets/plain.el: Don't load ivy-avy.el.

Closes #2574, closes #2583.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants