<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#993399">
Sisyphus wrote:
<blockquote cite="mid:9C9B1D1504D94288AF5F16078602ECD2@desktop2"
 type="cite"><br>
----- Original Message ----- From: "Duke Hound"
<a class="moz-txt-link-rfc2396E" href="mailto:dukethek9@gmail.com">&lt;dukethek9@gmail.com&gt;</a>
  <br>
To: <a class="moz-txt-link-rfc2396E" href="mailto:gmp-discuss@swox.com">&lt;gmp-discuss@swox.com&gt;</a>
  <br>
Sent: Saturday, June 21, 2008 11:32 AM
  <br>
Subject: GMP build issues
  <br>
  <br>
  <br>
  <blockquote type="cite">[Sorry if this is the second time this
message got sent to the group (i
    <br>
sent the first one before subscribing - doh!)]
    <br>
    <br>
Hello,
    <br>
    <br>
I am trying to build the gmp-4.2.2 library; however, I am receiving
    <br>
errors during the 'make check' step.&nbsp; I am using a windows XP SP2
    <br>
machine with MinGW (gcc version 3.4.5 (mingw-vista special)) that came
    <br>
as part of the IDE CodeBlocks.
    <br>
    <br>
  </blockquote>
  <br>
It might simply be that you need to run 'make' before running 'make
check'.
  <br>
  <br>
On Windows, if I run 'make check' straight after configure (without
first running 'make') I, too, get an error - though in my case the
error I'm getting is that libgmp.la cannot be found. (This error is to
be expected since libgmp.la, which gets built during the 'make' step,
has not yet been created.)
  <br>
  <br>
By running './configure' (without any additional arguments), you'll be
building a dynamic (dll) gmp library and, for me, 'make check' is
failing all tests with such builds. I don't know why that happens.
Afaict, there's nothing wrong with the dll that gets built - the apps
that I build using that dll always work as they should.
  <br>
  <br>
I'd be interested to know if 'make check' succeeds for you (after
you've run 'make').
  <br>
  <br>
The problem applies only to dynamic builds. If I build a static gmp
library (by starting with './configure --disable-shared
--enable-static') there's no problem with 'make check'.
  <br>
  <br>
Cheers,
  <br>
Rob <br>
</blockquote>
<br>
Hello,<br>
I decided to reinstall msys and start again.<br>
Details: <br>
-Windows XP SP2<br>
-I have MinGW (gcc version 3.4.5 (mingw-vista special)) at <br>
C:\Program Files\CodeBlocks\MinGW\<br>
-I have MSYS 1.0.10 at<br>
C:\msys\1.0\<br>
-In C:\msys\1.0\etc\fstab i have the following mount setting:<br>
"c:/progra~1/codeblocks/mingw /mingw"<br>
-I have unzipped GMP 4.2.2 to<br>
C:\msys\1.0\home\dan\gmp-4.2.2<br>
<br>
======PART 1 BUILD ===========<br>
[note: the msys make is 3.79.1 built for i686-pc-msys , whereas the
mingw32-make is GNU Make 3.81 built for i386-pc-mingw32]<br>
<br>
my commands (with the new setup as described above) (output of these
commands are attached in the .zip)<br>
./configure --enable-cxx<br>
make<br>
make check<br>
<br>
When I build this I do not get any DLL files, even though I do not
provide the '--disable-shared --enable-static' switches.&nbsp; Please
explain?<br>
During the make I receive the following warnings which i think are
related to PART 2 of this email.<br>
<br>
libtool: link: warning: undefined symbols not allowed in
athlon-pc-mingw32 shared libraries<br>
libtool: link: warning: undefined symbols not allowed in
athlon-pc-mingw32 shared libraries<br>
<br>
make check seemed to pass.<br>
<br>
======PART 2 Linking Libary Issues===========<br>
<br>
Now, I am trying to use the library that i just built.<br>
<br>
Here is the simple code<br>
#include &lt;gmpxx.h&gt;<br>
using namespace std;<br>
int main() {<br>
mpz_class a;<br>
a = 1234;<br>
cout &lt;&lt; a &lt;&lt; endl;<br>
return 0;<br>
}<br>
<br>
Here is the output from the build log<br>
-------------- Build: Debug in stringmath ---------------<br>
<br>
mingw32-g++.exe&nbsp; -o bin\Debug\stringmath.exe obj\Debug\main.o
obj\Debug\files\sint.o&nbsp;&nbsp;&nbsp;
E:\mysql++-3.0.3\include_lib_a_def\libmysqlclient.a
E:\mysql++-3.0.3\include_lib_a_def\libmysqlpp.a
E:\C++\codeblocks\libraries\libmapm.a
E:\C++\codeblocks\libraries\gmp\msys\libgmp.a
E:\C++\codeblocks\libraries\gmp\msys\libgmpxx.a
E:\C++\codeblocks\libraries\gmp\msys\libcxx.a <br>
E:\C++\codeblocks\libraries\gmp\msys\libgmpxx.a(osmpz.o):osmpz.cc:(.text+0x39):
undefined reference to `___gmpz_get_str'<br>
E:\C++\codeblocks\libraries\gmp\msys\libgmpxx.a(osdoprnti.o):osdoprnti.cc:(.text+0x9d):
undefined reference to `___gmp_doprnt_integer'<br>
E:\C++\codeblocks\libraries\gmp\msys\libgmpxx.a(osdoprnti.o):osdoprnti.cc:(.text+0xa9):
undefined reference to `___gmp_asprintf_final'<br>
E:\C++\codeblocks\libraries\gmp\msys\libgmpxx.a(osfuns.o):osfuns.cc:(.rdata+0x4):
undefined reference to `___gmp_asprintf_memory'<br>
E:\C++\codeblocks\libraries\gmp\msys\libgmpxx.a(osfuns.o):osfuns.cc:(.rdata+0x8):
undefined reference to `___gmp_asprintf_reps'<br>
<br>
I do not receive the undefined reference errors when I comment out the
cout line.<br>
<br>
After doing some reading online, I think (I could be absolutely off the
mark though) these link errors have to do with the make procedure using
the cygwin c++ runtime libraries instead of mingw32 c++ runtime
libraries.&nbsp; (I do not have cygwin installed, just the msys).&nbsp; I think
this has to do with the -mno-cygwin switch during the make process
above.<br>
<br>
The output from the configure/make/make check commands are attached.<br>
<br>
How do I resolve these undefined reference errors.&nbsp; Thanks.<br>
<br>
Thanks for walking/talking through this with me.<br>
<br>
</body>
</html>