emacs-devel
[Top][All Lists]
Advanced

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

Re: [feature/native-comp] breakage on build


From: Eli Zaretskii
Subject: Re: [feature/native-comp] breakage on build
Date: Sat, 06 Feb 2021 15:45:51 +0200

> From: Phillip Lord <phillip.lord@russet.org.uk>
> Cc: akrl@sdf.org,  emacs-devel@gnu.org
> Date: Sat, 06 Feb 2021 12:58:59 +0000
> 
> So, I did this:
> 
>  - Installed a fresh msys to a clean directory on my desktop.
>  - Dropped the emacs-no-deps.zip directory on top of the mingw64 directory.
>  - clicked on runemacs.exe from windows shell -- Emacs fails to launch
>    because of libgmp
>  - pacman installed all the dependencies of Emacs
>  - clicked on runemacs.exe -- Emacs launches, native-comp fails as
>    described

Fails with exactly the same error messages?  Even though now as.exe
should be on PATH and GCC should be able to find it?

>  - run mingw64 shell form the mys installation
>  - ./runemacs.exe in that shell
>  - Emacs launches, native-comp works
>  - ~/ and thus ~/.emacs.d/eln-cache is a different location with the two
>    launch methods

Please show the full environment as Emacs sees it (look in
process-environment) both when it's launched from mingw64 shell and
outside of it.

> Conclusions:
> 
>  - emacs is picking up dependencies from mingw64 run in either way,
>    because otherwise it wouldn't run at all from the shell
>  - Emacs is picking up the environment from mingw64 when launched from
>    within it, hence the differences in location of ~
>  - Native-comp has everything it needs to run, or it couldn't run at
>    all.
>  - It is missing something from the environment when run in the windows
>    shell.
> 
> This is export run inside the mingw64 window. So, lots of options there.
> [...]
> declare -x MINGW_PREFIX="/mingw64"

What is the meaning and the use of MINGW_PREFIX?

> declare -x 
> PATH="/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"

Could it be that Emacs when started from the mingw64 shell picks up
GCC components from this PATH, and thus GCC will then look for the
libraries and object files for native-comp in the "normal" mingw64
installation, not in the Emacs tree you created?  In that case the
fact that native-comp works from the mingw64 shell is not interesting,
as ll it says that your duplicate GCC installation is somehow
incomplete.

I don't see any other variable that I think could be related.  (But I
don't use MinGW64, so I could miss something.)  However, you show the
exported variables from the MSYS Bash, whereas what we need to look at
is the environment variables as seen by GCC, when it is run from
Emacs.  The value of process-environment in both cases should be a
good first step.



reply via email to

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