From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [feature/native-comp] breakage on build Date: Sat, 06 Feb 2021 09:32:54 +0200 Message-ID: <83y2g1odll.fsf@gnu.org> References: <87lfca7lsb.fsf@russet.org.uk> <83im7e8icf.fsf@gnu.org> <838s8a8adr.fsf@gnu.org> <83sg6h6s6d.fsf@gnu.org> <8335yf7qtf.fsf@gnu.org> <831rdy5i2r.fsf@gnu.org> <87y2g5p0q8.fsf@russet.org.uk> <87im7799s9.fsf@russet.org.uk> <83o8gzrgsi.fsf@gnu.org> <87eehv7ru1.fsf@russet.org.uk> <83ft2brebq.fsf@gnu.org> <87lfc3mvi1.fsf@telefonica.net> <834kirr2b2.fsf@gnu.org> <87a6sjmqpc.fsf@telefonica.net> <83k0rmpwca.fsf@gnu.org> <875z36mv11.fsf@telefonica.net> <874kiq42zy.fsf@russet.org.uk> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23377"; mail-complaints-to="usenet@ciao.gmane.io" Cc: ofv@wanadoo.es, emacs-devel@gnu.org To: Phillip Lord Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Feb 06 08:36:44 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l8I95-0005zi-ME for ged-emacs-devel@m.gmane-mx.org; Sat, 06 Feb 2021 08:36:43 +0100 Original-Received: from localhost ([::1]:33112 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l8I94-0000Dh-LZ for ged-emacs-devel@m.gmane-mx.org; Sat, 06 Feb 2021 02:36:42 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60620) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l8I5O-0007e9-Tg for emacs-devel@gnu.org; Sat, 06 Feb 2021 02:32:55 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:35720) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l8I5N-0004P7-5g; Sat, 06 Feb 2021 02:32:53 -0500 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1164 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1l8I5J-0004d3-2E; Sat, 06 Feb 2021 02:32:52 -0500 In-Reply-To: <874kiq42zy.fsf@russet.org.uk> (message from Phillip Lord on Fri, 05 Feb 2021 21:29:53 +0000) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:264040 Archived-At: > From: Phillip Lord > Date: Fri, 05 Feb 2021 21:29:53 +0000 > Cc: emacs-devel@gnu.org > > Second, is native-comp. It appears that, as well as the DLLs, libgccjit > also needs some tools locally (as, ld at least). I don't know what those > all are yet, and that is going to need some working out. I think libgccjit assumes that the user has a fully-functional installation of GCC, Binutils, and runtime libraries in the "usual places". The library names you saw in the error message you posted earlier (the names which begin with "-l", like -lmingw32 and -lgcc_s, and object files like crtbegin.o), are the set of the runtime libraries and object files needed for native-compilation. As for their places, GCC on Windows generally looks for its files relatively to the parent directory of the directory where its executable gcc.exe lives. Which means you will have to have directories like lib/, libexec/, and share/ under the same parent directory where you have bin/libgccjit-0.dll, and you will need to populate those by the programs and libraries GCC uses when compiling. For example, I assume you will have to have libexec/gcc/mingw32/10.0.0/cc1.exe (assuming your GCC version is 10.0.0). Is this the kind of tree you have there? In any case, an important command to see if you have a required file in place is "gcc -print-file-name=LIBRARY". If this shows a full absolute file name, you are set with regards to that LIBRARY; if it just echoes LIBRARY as you typed it, it means GCC cannot find it.