[gnutls-devel] GnuTLS | Undefined reference to __imp_gnutls_free error with static build on MinGW (#1117)

Read-only notification of GnuTLS library development activities gnutls-devel at lists.gnutls.org
Thu Nov 12 11:42:32 CET 2020

Josué Andrade Gomes created an issue: https://gitlab.com/gnutls/gnutls/-/issues/1117

## Description of problem:

Undefined reference to __imp_gnutls_free error when linking with static build of GnuTLS.

## Version of gnutls used:


## Distributor of gnutls (e.g., Ubuntu, Fedora, RHEL)


## How reproducible:

Windows 10

Download MSYS2 from https://www.msys2.org/

Install MSYS2

Upgrade and install development packages

$ pacman -Syu
$ pacman -S autoconf automake libtool make mingw-w64-x86_64-toolchain git

$ mkdir ~/prefix`
$ export set PREFIX=/home/user/prefix
$ export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig

$ cd ~
$ curl -O https://gmplib.org/download/gmp/gmp-6.2.0.tar.xz
$ tar xf gmp-6.2.0.tar.xz
$ cd gmp-6.2.0
$ ./configure --build=x86_64-w64-mingw32 --prefix=$PREFIX --enable-static --disable-shared --enable-fat
$ make install

$ cd ~
$ curl -O https://ftp.gnu.org/gnu/nettle/nettle-3.5.1.tar.gz
$ tar xf nettle-3.5.1.tar.gz
$ cd nettle-3.5.1
$ ./configure --build=x86_64-w64-mingw32 --prefix=$PREFIX --enable-static --disable-shared --enable-fat
$ make install

$ cd ~
$ curl -O ftp://ftp.gnutls.org/gcrypt/gnutls/v3.6/gnutls-3.6.15.tar.xz
$ tar xf gnutls-3.6.15.tar.xz
$ cd gnutls-3.6.15
$ ./configure --prefix=$PREFIX --enable-static --disable-shared --build=x86_64-w64-mingw32 --with-included-libtasn1 --disable-doc --disable-guile --without-p11-kit --enable-local-libopts --disable-nls --with-included-unistring
$ make && make install

$ cd ~
$ g++ -o bug -DWIN32 -D_WIN32 -I $PREFIX/include bug.cpp -L$PREFIX/lib -lgnutls -lhogweed -lnettle -lgmp -ladvapi32 -lws2_32 -lcrypt32 -lncrypt



#include <gnutls/gnutls.h>

int main()
	gnutls_init(0, 0);


## Actual results:


D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:\msys64\tmp\ccKcC8Qw.o:bug.cpp:(.text+0x1f): undefined reference to `__imp_gnutls_free'
collect2.exe: error: ld returned 1 exit status


## Expected results:

No link error

Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/gnutls/-/issues/1117
You're receiving this email because of your account on gitlab.com.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnutls-devel/attachments/20201112/12f8744a/attachment-0001.html>

More information about the Gnutls-devel mailing list