emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Where is the eln search path defined


From: Alex Bennée
Subject: Re: Where is the eln search path defined
Date: Sun, 17 May 2020 12:00:15 +0100
User-agent: mu4e 1.4.5; emacs 28.0.50

Andrea Corallo <address@hidden> writes:

> Alex Bennée <address@hidden> writes:
>
>> Andrea Corallo <address@hidden> writes:
>>
>>> Alex Bennée <address@hidden> writes:
>>>
>>>> Andrea Corallo <address@hidden> writes:
>>>>
>>>>> Alex Bennée <address@hidden> writes:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I thought it was about time I started getting the native-comp branch
>>>>>> running on some of my aarch64 machines. The bionic version of libgccjit
>>>>>> for aarch64 failed so I ended up having to build the latest from master
>>>>>> and adding it to the search path.
>>>>>>
>>>>>> Emacs seems to have built fine but when I run it I get:
>>>>>>
>>>>>>   08:41:58 [alex@qemu-test:~/s/emacs] $ emacs -nw
>>>>>>   emacs: 
>>>>>> /usr/bin/../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln:
>>>>>>  cannot open shared object file: No such file or directory
>>>> <snip>
>>>>>> Any pointers?
>>>>>
>>>>> Hi Alex,
>>>>>
>>>>> Emacs thinks the binary is installed in '/usr/bin/' and the relative path
>>>>> to find the eln from there is expected to be
>>>>> '../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln'.
>>>>
>>>> Hmm it was configured:
>>>>
>>>>   ./configure --prefix=/home/alex/src/emacs/install \
>>>>               --with-x-toolkit=no --with-modules \
>>>>               --with-nativecomp --with-xpm=ifavailable \
>>>>               --with-gif=ifavailable --with-tiff=ifavailable
>>>
>>> Mmh I see.  Would be interesting if you could check the DESTDIR value
>>> (if any) in your build environment.
>>
>> Definitely not in env:
>>
>>   19:55:42 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ + env | grep 
>> DESTDIR
>>   19:56:31 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ 1 +
>>
>>>>> I believe of the two information the first is wrong in this case.  This
>>>>> is coming from the DESTDIR value while compiling.  Is it possible that
>>>>> Emacs was compiled with a certain DESTDIR value and then installed using
>>>>> a different one?
>>>>
>>>> I can't quite follow where the automake magic sets DESTDIR but in the
>>>> main Makefile I certainly have:
>>>>
>>>>   # The default location for installation.  Everything is placed in
>>>>   # subdirectories of this directory.  The default values for many of
>>>>   # the variables below are expressed in terms of this one, so you may
>>>>   # not need to change them.  This defaults to /usr/local.
>>>>   prefix=/home/alex/src/emacs/install
>>>>
>>>> Where is DESTDIR defined during the build?
>>>
>>> That is a very good question.
>>
>> I can't see it set, although LISP and BIN DESTDIRS are set:
>>
>>   19:58:13 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ + remake
>>   remake -C lib all
>>   remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/lib'
>>   remake[1]: Nothing to be done for 'all'.
>>   remake[1]: Leaving directory '/home/alex/src/emacs/emacs.git/lib'
>>   remake -C lib-src all
>>   remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/lib-src'
>>   remake[1]: Nothing to be done for 'all'.
>>   remake[1]: Leaving directory '/home/alex/src/emacs/emacs.git/lib-src'
>>   remake -C src VCSWITNESS='$(srcdir)/../.git/logs/HEAD' 
>> BIN_DESTDIR='/home/alex/src/emacs/install/bin/' \
>>            
>> LISP_DESTDIR='/home/alex/src/emacs/install/share/emacs/28.0.50/lisp/' all
>>   remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/src'
>
> Regardless the DESTDIRS Unix mystery (!?) BIN_DESTDIR and LISP_DESTDIR
> are set correctly.  But looking at you original error apparently Emacs
> is convinced to start from '/usr/bin/' and not
> '/home/alex/src/emacs/install/bin/'.
>
> This '/usr/bin/' should be the value of `invocation-directory' while
> executing pdumper.c:5312.  Is this value wrong or we are missing
> something else?

Heh - so I patched pdumper to dump the variables at that point and
re-built:

  dump_do_dump_relocation: installation_state:2  ivoncation_dir:

and now the built emacs boots up fine. So I'm guessing there
must have been a stale pdumper.o that didn't get built for some reason.

Sorry for the noise.

-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]