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: Phillip Lord
Subject: Re: [feature/native-comp] breakage on build
Date: Sat, 06 Feb 2021 12:58:59 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

>> > Alternatively, could it be that under the mingw64 shell Emacs invokes
>> > a different copy of gcc/libgccjit, the one that is in its "normal"
>> > installation tree and not in the Emacs tree?
>> 
>> Yes. I do not know how much or how little of the mingw64 install that
>> Emacs is using; it could be a missing DLL, config file anything at
>> all. But, the -no-deps version of Emacs happily does native-comp when
>> launched from inside a mingw64 shell.
>
> Then maybe you should start by duplicating the full installation of
> GCC, Binutils, and MinGW runtime under the same directory where you
> have bin/emacs.exe.  Once you install that, see if native-comp works
> outside of the mingw64 shell.  If it does, then you can start removing
> files and directories that are not needed, which will hopefully leave
> you with the minimum subset of the mingw64 installation required for
> native-comp.


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
 - 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

I believe that msys is mostly portable and a new installation is nearly
clean (except for .bashrc and such like).

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.

Phil


$ export
declare -x ACLOCAL_PATH="/mingw64/share/aclocal:/usr/share/aclocal"
declare -x ALLUSERSPROFILE="C:\\ProgramData"
declare -x APPDATA="C:\\Users\\IEUser\\AppData\\Roaming"
declare -x COMMONPROGRAMFILES="C:\\Program Files\\Common Files"
declare -x COMPUTERNAME="MSEDGEWIN10"
declare -x COMSPEC="C:\\Windows\\system32\\cmd.exe"
declare -x CONFIG_SITE="/mingw64/etc/config.site"
declare -x ChocolateyInstall="C:\\ProgramData\\chocolatey"
declare -x ChocolateyLastPathUpdate="131974685787905910"
declare -x CommonProgramW6432="C:\\Program Files\\Common Files"
declare -x DriverData="C:\\Windows\\System32\\Drivers\\DriverData"
declare -x FPS_BROWSER_APP_PROFILE_STRING="Internet Explorer"
declare -x FPS_BROWSER_USER_PROFILE_STRING="Default"
declare -x HOME="/home/IEUser"
declare -x HOMEDRIVE="C:"
declare -x HOMEPATH="\\Users\\IEUser"
declare -x HOSTNAME="MSEDGEWIN10"
declare -x INFOPATH="/usr/local/info:/usr/share/info:/usr/info:/share/info"
declare -x LC_CTYPE="en_GB.UTF-8"
declare -x LOCALAPPDATA="C:\\Users\\IEUser\\AppData\\Local"
declare -x LOGONSERVER="\\\\MSEDGEWIN10"
declare -x 
MANPATH="/mingw64/local/man:/mingw64/share/man:/usr/local/man:/usr/share/man:/usr/man:/share/man"
declare -x MINGW_CHOST="x86_64-w64-mingw32"
declare -x MINGW_PACKAGE_PREFIX="mingw-w64-x86_64"
declare -x MINGW_PREFIX="/mingw64"
declare -x MSYSCON="mintty.exe"
declare -x MSYSTEM="MINGW64"
declare -x MSYSTEM_CARCH="x86_64"
declare -x MSYSTEM_CHOST="x86_64-w64-mingw32"
declare -x MSYSTEM_PREFIX="/mingw64"
declare -x NUMBER_OF_PROCESSORS="1"
declare -x OLDPWD="/mingw64/bin"
declare -x 
ORIGINAL_PATH="/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/"
declare -x ORIGINAL_TEMP="/c/Users/IEUser/AppData/Local/Temp"
declare -x ORIGINAL_TMP="/c/Users/IEUser/AppData/Local/Temp"
declare -x OS="Windows_NT"
declare -x OneDrive="C:\\Users\\IEUser\\OneDrive"
declare -x OneDriveConsumer="C:\\Users\\IEUser\\OneDrive"
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"
declare -x PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
declare -x PKG_CONFIG_PATH="/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig"
declare -x PRINTER="OneNote for Windows 10"
declare -x PROCESSOR_ARCHITECTURE="AMD64"
declare -x PROCESSOR_IDENTIFIER="AMD64 Family 21 Model 56 Stepping 1, 
AuthenticAMD"
declare -x PROCESSOR_LEVEL="21"
declare -x PROCESSOR_REVISION="3801"
declare -x PROGRAMFILES="C:\\Program Files"
declare -x PS1="\\[\\e]0;\\w\\a\\]\\n\\[\\e[32m\\]\\u@\\h 
\\[\\e[35m\\]\$MSYSTEM\\[\\e[0m\\] \\[\\e[33m\\]\\w\\[\\e[0m\\]\\n\\\$ "
declare -x PSModulePath="C:\\Program 
Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules"
declare -x PUBLIC="C:\\Users\\Public"
declare -x PWD="/home/IEUser"
declare -x ProgramData="C:\\ProgramData"
declare -x ProgramW6432="C:\\Program Files"
declare -x SESSIONNAME="Console"
declare -x SHELL="/usr/bin/bash"
declare -x SHLVL="1"
declare -x SYSTEMDRIVE="C:"
declare -x SYSTEMROOT="C:\\Windows"
declare -x TEMP="/tmp"
declare -x TERM="xterm"
declare -x TERM_PROGRAM="mintty"
declare -x TERM_PROGRAM_VERSION="3.4.4"
declare -x TMP="/tmp"
declare -x TZ="America/Los_Angeles"
declare -x USER="IEUser"
declare -x USERDOMAIN="MSEDGEWIN10"
declare -x USERDOMAIN_ROAMINGPROFILE="MSEDGEWIN10"
declare -x USERNAME="IEUser"
declare -x USERPROFILE="C:\\Users\\IEUser"
declare -x WINDIR="C:\\Windows"
declare -x temp="C:\\Users\\IEUser\\AppData\\Local\\Temp"
declare -x tmp="C:\\Users\\IEUser\\AppData\\Local\\Temp"

  

 



reply via email to

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