help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Building Emacs with GnuTLS on Windows


From: Eli Zaretskii
Subject: Re: Building Emacs with GnuTLS on Windows
Date: Fri, 29 Apr 2011 12:09:41 +0300

> From: Deniz Dogan <deniz.a.m.dogan@gmail.com>
> Date: Fri, 29 Apr 2011 10:10:19 +0200
> Cc: help-gnu-emacs@gnu.org
> 
> I didn't think that PROCESSOR_ARCHITECTURE would change after
> configuring/making, so the results I got last time were from a "clean"
> cmd.exe.  Sorry about that.  The "real" value is x86.

Sorry, I still don't understand.  PROCESSOR_ARCHITECTURE doesn't
change after configuring/making, it's just that make.exe, as a 32-bit
application running on a 64-bit Windows, should see the x86 value in
that environment variable.  Windows itself takes care of that when it
constructs the environment passed to make.exe.  And since Make
automatically converts all the environment variables into Make
variables available in the Makefile, the test before line 161 should
have succeeded to detect your architecture as "x86".  Which part of
this didn't work, and why?

And what does "a clean cmd.exe" mean, anyway?

In sum, I'm still unsure how that problem happened to you and what
solved it.  I need to determine whether there's some general problem
in the Windows configury that rears its ugly head on a 64-bit Windows,
or maybe it was due to some one-time local cockpit error on your side.
Please help me understand which one is it.  If it's your local error,
please explain what did you do differently during the botched
bootstrap.  Maybe you need to try a clean bootstrap again in a fresh
tree, to reproduce the problem?

If you do succeed in reproducing it, please don't update from the
repository until we understand the reason(s), because new changes can
obscure the original problem.

TIA

> However, I'm having even more problems.  This time, when I bootstrap I get 
> this:
> 
> c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
> cannot find -lC:/gnutls/lib
> c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
> cannot find -lC:/gnutls/bin

That's because your configure arguments are incorrect:

> c:\repos\emacs-trunk\nt>configure.bat --without-png --without-jpeg
> --without-gif --without-tiff --without-xpm --prefix=C:\emacs
> --cflags="-IC:/gnutls/include" --lib=C:/gnutls/lib --lib=C:/gnutls/bin
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The --lib switch tells the compiler the _names_of_the_libraries_ it
needs to link in, not the directory where to find those libraries.
You need to use

   --ldflags=-LC:/gnutls/lib --ldflags=-LC:/gnutls/bin

instead (note: upper-case "L").  I believe the Windows configury
already knows the names of the gnutls libraries in those directories,
so you don't need to use the --lib switches in this case.

Btw, why do you make your life harder by installing support libraries
outside the main MinGW include/, lib/ and bin/ directories?  That just
doesn't make any sense: once you have these libraries installed, they
should be available to any build of any program you compile with
MinGW, without any futzing with the -I or -L compiler switches.
Install them in the standard places, and you will never again need to
use these tricksy --cflags, --ldflags etc. switches, ever.



reply via email to

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