emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir
@ 2012-09-10 19:42 John Hendy
  2012-09-10 20:02 ` John Hendy
  2012-09-10 20:04 ` Achim Gratz
  0 siblings, 2 replies; 8+ messages in thread
From: John Hendy @ 2012-09-10 19:42 UTC (permalink / raw)
  To: emacs-orgmode

I'm starting a new thread for this issue. My process:

- git pull

- cd into ~/path/org.git/mk

- run Worg compile command from cmd utility:
#+begin_src cmd
C:\path\to\emacs-23.3\bin\emacs.exe -batch -Q -L lisp -l
../mk/org-fixup -f org-make-autoloads-compile
#+end_src

- get following error
,-----
| Cannot open load file: ../mk/org-fixup
`-----

- check working dir with =dir=
,-----
| Directory of C:\path\to\org.git\mk
`-----

- added \path\to\emacs-23.3\bin to Windows path variable

- verified that from cmd utility, 'emacs' indeed opens emacs

- redid the above

Now, I recalled the Worg command being `emacs -batch ... -l
../mk/org-fixup.el ...` (not the ".el"). When I try that, it tries but
fails:
,-----
| Symbol's function definition is void: org-find-library-dir
`-----

This is *with* emacs in the path. I wondered if starting emacs from
cmd with a path would somehow evaluate it using the emacs bin
directory as the "home base" and for that reason not realize it should
be operating in ../path/to/org.git/mk, but with it in $PATH, I'm
thinking that isn't an issue.

org-find-library-dir is called here in org-fixup.el:
#+begin_src lisp
(defun org-make-autoloads (&optional compile force)
  "Make the files org-install and org-version.el in the install directory.
Finds the install directory by looking for library \"org\".
Optionally byte-compile lisp files in the install directory or
force re-compilation.  This function is provided for easier
manual install when the build system can't be used."
  (let* ((origin default-directory)
	 (dirlisp (org-find-library-dir "org"))
	 (dirorg (concat dirlisp "../" ))
	 (dirodt (if (boundp 'org-odt-data-dir)
		     org-odt-data-dir
		   (concat dirorg "etc/"))))
    (unwind-protect
	(progn
	  (cd dirlisp)
	  (org-fixup)
	  (org-make-org-version (org-release) (org-git-version) dirodt)
	  (org-make-org-install)
	  (when compile (byte-recompile-directory dirlisp 0 force)))
      (cd origin))))
#+end_src

I get no completions in emacs trying to run =M-x org-find-library-dir=.

I tried replacing = (dirlisp (org-find-library-dir "org"))= with
=(dirlisp (concat "C:/path/to/org.git"))= and it *seemed* to compile.
I got a final report of:
,-----
| Done (Total of 66 files compiled, 18 failed, 5 skipped in 7 directories)
`-----

Any suggestions?


Thanks,
John

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir
  2012-09-10 19:42 Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir John Hendy
@ 2012-09-10 20:02 ` John Hendy
  2012-09-10 20:04 ` Achim Gratz
  1 sibling, 0 replies; 8+ messages in thread
From: John Hendy @ 2012-09-10 20:02 UTC (permalink / raw)
  To: emacs-orgmode

On Mon, Sep 10, 2012 at 2:42 PM, John Hendy <jw.hendy@gmail.com> wrote:
> I'm starting a new thread for this issue. My process:
>
> - git pull
>
> - cd into ~/path/org.git/mk
>
> - run Worg compile command from cmd utility:
> #+begin_src cmd
> C:\path\to\emacs-23.3\bin\emacs.exe -batch -Q -L lisp -l
> ../mk/org-fixup -f org-make-autoloads-compile
> #+end_src
>
> - get following error
> ,-----
> | Cannot open load file: ../mk/org-fixup
> `-----
>
> - check working dir with =dir=
> ,-----
> | Directory of C:\path\to\org.git\mk
> `-----
>
> - added \path\to\emacs-23.3\bin to Windows path variable
>
> - verified that from cmd utility, 'emacs' indeed opens emacs
>
> - redid the above
>
> Now, I recalled the Worg command being `emacs -batch ... -l
> ../mk/org-fixup.el ...` (not the ".el"). When I try that, it tries but
> fails:
> ,-----
> | Symbol's function definition is void: org-find-library-dir
> `-----
>
> This is *with* emacs in the path. I wondered if starting emacs from
> cmd with a path would somehow evaluate it using the emacs bin
> directory as the "home base" and for that reason not realize it should
> be operating in ../path/to/org.git/mk, but with it in $PATH, I'm
> thinking that isn't an issue.
>
> org-find-library-dir is called here in org-fixup.el:
> #+begin_src lisp
> (defun org-make-autoloads (&optional compile force)
>   "Make the files org-install and org-version.el in the install directory.
> Finds the install directory by looking for library \"org\".
> Optionally byte-compile lisp files in the install directory or
> force re-compilation.  This function is provided for easier
> manual install when the build system can't be used."
>   (let* ((origin default-directory)
>          (dirlisp (org-find-library-dir "org"))
>          (dirorg (concat dirlisp "../" ))
>          (dirodt (if (boundp 'org-odt-data-dir)
>                      org-odt-data-dir
>                    (concat dirorg "etc/"))))
>     (unwind-protect
>         (progn
>           (cd dirlisp)
>           (org-fixup)
>           (org-make-org-version (org-release) (org-git-version) dirodt)
>           (org-make-org-install)
>           (when compile (byte-recompile-directory dirlisp 0 force)))
>       (cd origin))))
> #+end_src
>
> I get no completions in emacs trying to run =M-x org-find-library-dir=.
>
> I tried replacing = (dirlisp (org-find-library-dir "org"))= with
> =(dirlisp (concat "C:/path/to/org.git"))= and it *seemed* to compile.
> I got a final report of:
> ,-----
> | Done (Total of 66 files compiled, 18 failed, 5 skipped in 7 directories)
> `-----
>
> Any suggestions?
>
>
> Thanks,
> John

As a followup, the =lispdir= variable is looking for things in my
emacs install, at least per my read of default.mk. I just compile and
leave things in the org git repo vs. actually installing them. Is the
byte compiling code from Worg trying to install or just make the
autoloads/compile? I don't want to install. Do I need to set these in
default.mk in order to compile org? There's no mention of tweaking
default.mk in Worg, though if this is required I'll definitely have to
do so since it's set up for Linux.

John

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir
  2012-09-10 19:42 Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir John Hendy
  2012-09-10 20:02 ` John Hendy
@ 2012-09-10 20:04 ` Achim Gratz
  2012-09-10 20:29   ` John Hendy
  1 sibling, 1 reply; 8+ messages in thread
From: Achim Gratz @ 2012-09-10 20:04 UTC (permalink / raw)
  To: emacs-orgmode

John Hendy writes:
> I'm starting a new thread for this issue. My process:
>
> - git pull
>
> - cd into ~/path/org.git/mk

No, please.  Just cd into ~/path/org.git…

> I tried replacing = (dirlisp (org-find-library-dir "org"))= with
> =(dirlisp (concat "C:/path/to/org.git"))= and it *seemed* to compile.
> I got a final report of:
> ,-----
> | Done (Total of 66 files compiled, 18 failed, 5 skipped in 7 directories)
> `-----
>
> Any suggestions?

Please don't.  This doesn't do what you think it is doing.  Sometimes
Emacs can be _too_ helpful.  Remove all files in ~/path/org.git/ and
check out from git (or do a fresh clone) before trying again, please.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf microQ V2.22R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir
  2012-09-10 20:04 ` Achim Gratz
@ 2012-09-10 20:29   ` John Hendy
  2012-09-10 20:52     ` Achim Gratz
  0 siblings, 1 reply; 8+ messages in thread
From: John Hendy @ 2012-09-10 20:29 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-orgmode

Copying your last response in from the other thread:

On Mon, Sep 10, 2012 at 2:58 PM, Achim Gratz <Stromeko@nexgo.de> wrote:
> John Hendy writes:
>> From what I understand of the above, it still isn't working. I tried this:
>> #+begin_src cmd
>> emacs -batch -Q -L C:\path\to\org.git lisp -l ../mk/org-fixup.el -f
>> org-make-autoloads-compile
>> #+end_src
>
> This is wrong. Try
>
> emacs -batch -Q -L lisp -l ../mk/org-fixup.el -f org-make-autoloads-compile

I don't understand. This is the default Worg command. I posted that
this was failing, and you wrote:

>>> On Fri, Sep 7, 2012 at 2:00 PM, Achim Gratz <Stromeko@nexgo.de> wrote:
>>> You can try and replace the "-L" option with "--directory".

I asked for clarification and you suggested using:
>>> On Mon, Sep 10, 2012 at 2:24 PM, Achim Gratz <Stromeko@nexgo.de> wrote:
>>> What I meant was that if you add something to load-path via this option,
>>> make sure it actually turns up _first_ in the load-path.  Like
>>>
>>> emacs -L blafasel

This is what I did above when I posted:
#+begin_src cmd
emacs -batch -Q -L C:\path\to\org.git lisp -l ../mk/org-fixup.el -f
org-make-autoloads-compile
#+end_src

I tried to add a direct path via -L.

>
> You must do a
>
> cd C:\path\to\org.git

I think my issue with this is twofold:
- the ".." in the command `emacs [snip] ../mk/org-fixup.el` seemed to
imply that I needed to be in the mk directory

- There's also this:
#+begin_quote Worg (http://orgmode.org/worg/org-hacks.html)
When you execute the commands below, your current directory must be
where org has been unpacked into,
in other words the file default.mk should be found in your current directory.
#+end_src

If default.mk is in my current directory, I'm in mk, not org.git.

If I run the command from org.git, things *do* appear to work. Perhaps
this has all been a result of not understanding Worg or Worg being
incorrect:

**Does one need to be in the top level org git dir or in the dir in
which default.mk resides (these are not the same)?**


Thanks for the persistence,
John


>
> before.
>
>
> Regards,
> Achim.
> --
> +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
>
> DIY Stuff:
> http://Synth.Stromeko.net/DIY.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir
  2012-09-10 20:29   ` John Hendy
@ 2012-09-10 20:52     ` Achim Gratz
  2012-09-10 21:12       ` John Hendy
  0 siblings, 1 reply; 8+ messages in thread
From: Achim Gratz @ 2012-09-10 20:52 UTC (permalink / raw)
  To: emacs-orgmode

John Hendy writes:
> I don't understand. This is the default Worg command. I posted that
> this was failing, and you wrote:
>
>>>> On Fri, Sep 7, 2012 at 2:00 PM, Achim Gratz <Stromeko@nexgo.de> wrote:
>>>> You can try and replace the "-L" option with "--directory".

OK, so I failed to reach you.  I meant that literally, as in replace
"-L" with "--directory".  These two are aliases, but I've heard two
reports where the long option worked, but the short option didn't.

> I asked for clarification and you suggested using:
>>>> On Mon, Sep 10, 2012 at 2:24 PM, Achim Gratz <Stromeko@nexgo.de> wrote:
>>>> What I meant was that if you add something to load-path via this option,
>>>> make sure it actually turns up _first_ in the load-path.  Like
>>>>
>>>> emacs -L blafasel

Again, I didn't seem the understand what you were asking.  I can see now
that this led you further away from the solution.

> I think my issue with this is twofold:
> - the ".." in the command `emacs [snip] ../mk/org-fixup.el` seemed to
> imply that I needed to be in the mk directory

No.  You are in "." when you start Emacs, the load-path is set up to
contain "./lisp/" and if you now want to load a file in "./mk" you
actually do that from "./lisp/", so the file is in "../mk/" from there.

> - There's also this:
> #+begin_quote Worg (http://orgmode.org/worg/org-hacks.html)
> When you execute the commands below, your current directory must be
> where org has been unpacked into,
> in other words the file default.mk should be found in your current
> directory.

Ah.  Isn't it wonderful when files get moved around?  Thanks for
pointing that out.  I've changed that description on Worg in a way that
is hopefully less confusing and compatible with both the old and the new
directory layout.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir
  2012-09-10 20:52     ` Achim Gratz
@ 2012-09-10 21:12       ` John Hendy
  2012-09-11 17:43         ` Achim Gratz
  0 siblings, 1 reply; 8+ messages in thread
From: John Hendy @ 2012-09-10 21:12 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-orgmode

On Mon, Sep 10, 2012 at 3:52 PM, Achim Gratz <Stromeko@nexgo.de> wrote:
> John Hendy writes:
>> I don't understand. This is the default Worg command. I posted that
>> this was failing, and you wrote:
>>
>>>>> On Fri, Sep 7, 2012 at 2:00 PM, Achim Gratz <Stromeko@nexgo.de> wrote:
>>>>> You can try and replace the "-L" option with "--directory".
>
> OK, so I failed to reach you.  I meant that literally, as in replace
> "-L" with "--directory".  These two are aliases, but I've heard two
> reports where the long option worked, but the short option didn't.

That's what I originally thought when I asked for my clarification,
but I misunderstood your clarification. The joys of remote
communicating :)

>
>> I asked for clarification and you suggested using:
>>>>> On Mon, Sep 10, 2012 at 2:24 PM, Achim Gratz <Stromeko@nexgo.de> wrote:
>>>>> What I meant was that if you add something to load-path via this option,
>>>>> make sure it actually turns up _first_ in the load-path.  Like
>>>>>
>>>>> emacs -L blafasel
>
> Again, I didn't seem the understand what you were asking.  I can see now
> that this led you further away from the solution.
>
>> I think my issue with this is twofold:
>> - the ".." in the command `emacs [snip] ../mk/org-fixup.el` seemed to
>> imply that I needed to be in the mk directory
>
> No.  You are in "." when you start Emacs, the load-path is set up to
> contain "./lisp/" and if you now want to load a file in "./mk" you
> actually do that from "./lisp/", so the file is in "../mk/" from there.
>

Ah. That makes much more sense. So the `-l lisp` puts me into lisp,
and from there I call ../mk/org-fixup. Gotcha.

>> - There's also this:
>> #+begin_quote Worg (http://orgmode.org/worg/org-hacks.html)
>> When you execute the commands below, your current directory must be
>> where org has been unpacked into,
>> in other words the file default.mk should be found in your current
>> directory.
>
> Ah.  Isn't it wonderful when files get moved around?  Thanks for
> pointing that out.  I've changed that description on Worg in a way that
> is hopefully less confusing and compatible with both the old and the new
> directory layout.

Thanks for that. In the other thread, I actually mentioned that I've
been compiling successfully (or at least I thought) from org.git for
some time (a couple years?). It was only once I started looking into
the UTILITIES vs. mk folder issue and re-reading the instructions on
Worg that I realized I'd been doing it wrong by compiling from org.git
instead of from within UTILITIES/mk. As we've now discovered, I was
actually doing fine for all that time and only from following
directions did we get to have this nice long conversation.


Thanks again for hanging in there with me -- truly!
John

>
>
> Regards,
> Achim.
> --
> +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
>
> SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2:
> http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir
  2012-09-10 21:12       ` John Hendy
@ 2012-09-11 17:43         ` Achim Gratz
  2012-09-11 17:56           ` John Hendy
  0 siblings, 1 reply; 8+ messages in thread
From: Achim Gratz @ 2012-09-11 17:43 UTC (permalink / raw)
  To: emacs-orgmode

John Hendy writes:
> Ah. That makes much more sense. So the `-l lisp` puts me into lisp,
> and from there I call ../mk/org-fixup. Gotcha.

Even though this may further the confusion: "-l lisp" does not "put you
into lisp", it only sets up the load-path so that "lisp" is in front.
Now, when you say "-f ../mk/org-fixup", Emacs looks at each component of
the load-path, bolts on the requested name, tries suffixes ".elc" and
".el" (and compressed files thereof) and takes the first one that
succeeds.  In this particular case, the successful expansion will be
"lisp/../mk/org-fixup.el".


HTH,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Wavetables for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir
  2012-09-11 17:43         ` Achim Gratz
@ 2012-09-11 17:56           ` John Hendy
  0 siblings, 0 replies; 8+ messages in thread
From: John Hendy @ 2012-09-11 17:56 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-orgmode

On Tue, Sep 11, 2012 at 12:43 PM, Achim Gratz <Stromeko@nexgo.de> wrote:
> John Hendy writes:
>> Ah. That makes much more sense. So the `-l lisp` puts me into lisp,
>> and from there I call ../mk/org-fixup. Gotcha.
>
> Even though this may further the confusion: "-l lisp" does not "put you
> into lisp", it only sets up the load-path so that "lisp" is in front.
> Now, when you say "-f ../mk/org-fixup", Emacs looks at each component of
> the load-path, bolts on the requested name, tries suffixes ".elc" and
> ".el" (and compressed files thereof) and takes the first one that
> succeeds.  In this particular case, the successful expansion will be
> "lisp/../mk/org-fixup.el".

That does now make sense, and thanks for the explanation!

John

>
>
> HTH,
> Achim.
> --
> +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
>
> Wavetables for the Waldorf Blofeld:
> http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables
>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-09-11 17:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-10 19:42 Problem compiling on Windows 7: Symbol's function definition is void: org-find-library-dir John Hendy
2012-09-10 20:02 ` John Hendy
2012-09-10 20:04 ` Achim Gratz
2012-09-10 20:29   ` John Hendy
2012-09-10 20:52     ` Achim Gratz
2012-09-10 21:12       ` John Hendy
2012-09-11 17:43         ` Achim Gratz
2012-09-11 17:56           ` John Hendy

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).