emacs-devel
[Top][All Lists]
Advanced

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

Re: MS-Windows build using Posix configury


From: Dani Moncayo
Subject: Re: MS-Windows build using Posix configury
Date: Wed, 1 May 2013 21:30:44 +0200

>> I've been trying to build the latest trunk (plus your patch) from my
>> MSYS environment, with support for the libraries I use to successfully
>> include in my w32 builds (configured with "configure.bat"): XPM, JPEG,
>> TIFF, GIF, PNG, GNUTLS and XML.
>>
>> The configure script successfully detects them, except for the last
>> two (GNUTLS and XML), and for now I've failed to see what the problem
>> is.
>
> I think it's because you didn't install pkg-config, or maybe it is not
> on PATH.  The configure script uses it (for some of the optional
> libraries, not for all of them) to find out which compiler and linker
> switches to use for each of these packages.  And configure thinks you
> don't have pkg-config, as this fragment from config.log shows:
>
>   configure:8730: checking for pkg-config
>   configure:8761: result: no
>
> Without pkg-config, configure uses the wrong compiler switches to try
> compiling test programs, which therefore fail, causing the configure
> script to decide you don't have these libraries.
>
> You can find a URL from which you can download pkg-config in
> INSTALL.MSYS.  Note: this is a native Windows port, so install it in
> the MinGW tree, not in the MSYS tree.

Indeed, I didn't have pkg-config installed, sorry (I thought that the
packages auto-installed by mingw-get were enough already).

I've downloaded and installed that package, and the configure script
does find it:

  configure:8730: checking for pkg-config
  configure:8748: found /c/usr/bin/pkg-config
  configure:8761: result: /c/usr/bin/pkg-config

> Also note that when you install GnuTLS and libxml2 from my ports, they
> also install *.pc files in lib/pkg-config/.  These are the files that
> pkg-config will consult when the configure script invokes it.
> Therefore, I suggest that you keep the directory tree in my zip files
> intact, or else you will need to manually edit these *.pc files to
> match your installation.  I'm saying that because this:
>
>>   $ CPPFLAGS='-DGLYPH_DEBUG=1 -Ic:/usr/include/gnutls
>> -Ic:/usr/include/noX -Ic:/usr/include' CFLAGS='-O0 -g3'
>> ../mybranch/nt/msysconfig.sh --prefix=c:/usr --enable-checking
>
> clearly shows that you moved the GnuTLS headers into
> usr/include/gnutls, which is not what gnutls.pc file says.  Likewise
> with the lib*.a static and import libraries: you need to have them in
> the same place where the corresponding .pc says they can be found.

No, I didn't move any file of the libraries or packages from their
original position in the zip files.  I just tried to pass that path
(c:/usr/include/gnutls) to the compiler as a desperate attempt to
solve the configure problem.

> As I wrote in INSTALL.MSYS, I suggest to install everything into a
> single tree, preserving the directories recorded in the zip.  Just
> unzip everything from the same parent directory, and you should be
> fine.

Yes, that is what I did for the libraries and packages installed
manually:  I uncompressed the zip files under one common parent
directory (c:/usr).

In fact, after installing pkg-config, the configure script now finds
the libxml library:

  configure:13773: checking for libxml-2.0 > 2.6.17
  configure:13787: result: yes CFLAGS='-Ic:/usr/include/libxml2  '
LIBS='-Lc:/usr/lib -lxml2  '


... but it still does not find a correct gnutls library:

  configure:11727: checking for gnutls >= 2.6.6
  Package p11-kit-1 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `p11-kit-1.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'p11-kit-1', required by 'GnuTLS', not found
  configure:11745: result: no
  configure:11782: checking for gnutls_certificate_set_verify_function
  configure:11782: gcc -I /c/emacs/mybranch/nt/inc -std=gnu99 -o
conftest.exe -O0 -g3  -mtune=pentium4  -DGLYPH_DEBUG=1
-Ic:/usr/include/noX -Ic:/usr/include  conftest.c    >&5
  C:\Users\dani\AppData\Local\Temp\ccGHYX1K.o: In function `main':
  c:\emacs\build/conftest.c:87: undefined reference to
`gnutls_certificate_set_verify_function'
  collect2.exe: error: ld returned 1 exit status
  configure:11782: $? = 1
  configure: failed program was:
  | /* confdefs.h */
  | #define PACKAGE_NAME "emacs"

  [...]

  | #endif
  |
  | int
  | main ()
  | {
  | return gnutls_certificate_set_verify_function ();
  |   ;
  |   return 0;
  | }
  configure:11782: result: no


After seeing the error messages, I installed the "p11-kit" package
(from your site "http://sourceforge.net/projects/ezwinports";) and now
the configure script finally does find the gnutls library:

  configure:11727: checking for gnutls >= 2.6.6
  configure:11741: result: yes CFLAGS='-Ic:/usr/include
-Ic:/usr/include/p11-kit-1  ' LIBS='-Lc:/usr/lib -lgnutls  '
  configure:11782: checking for gnutls_certificate_set_verify_function
  configure:11782: gcc -I /c/emacs/mybranch/nt/inc -std=gnu99 -o
conftest.exe -O0 -g3 -Ic:/usr/include -Ic:/usr/include/p11-kit-1
-mtune=pentium4  -DGLYPH_DEBUG=1 -Ic:/usr/include/noX -Ic:/usr/include
 conftest.c -Lc:/usr/lib -lgnutls     >&5
  configure:11782: $? = 0
  configure:11782: result: yes

Thank you so much for your help.

--
Dani Moncayo



reply via email to

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