Quantcast

Question: libgmp-10.dll not found?

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Question: libgmp-10.dll not found?

Marcus Szanto
I don't know if this mailing list is for support, but it's the only place I could find where I can contact people who know about MinGW.
I am getting an error when running g++.exe. The error is "The program can't start because libgmp-10.dll is missing from your computer. Try reinstalling the program to fix this problem.".
I have libgmp-10.dll in the bin folder, yet it still is getting that error. Any idea?
Thanks!

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question: libgmp-10.dll not found?

Greg Chicares
On 2012-04-06 17:23Z, Marcus Szanto wrote:
>
> I am getting an error when running g++.exe. The error is "The program
> can't start because libgmp-10.dll is missing from your computer. Try
> reinstalling the program to fix this problem.".
> I have libgmp-10.dll in the bin folder, yet it still is getting that
> error. Any idea?

Is the compiler's bin/ directory on the PATH?

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question: libgmp-10.dll not found?

Earnie Boyd
In reply to this post by Marcus Szanto
On Fri, Apr 6, 2012 at 1:23 PM, Marcus Szanto <[hidden email]> wrote:
> I don't know if this mailing list is for support, but it's the only place I

Yes, this is the correct mailing list for MinGW support.

> could find where I can contact people who know about MinGW.
> I am getting an error when running g++.exe. The error is "The program can't
> start because libgmp-10.dll is missing from your computer. Try reinstalling
> the program to fix this problem.".

Are you using MSYS or cmd.exe?

> I have libgmp-10.dll in the bin folder, yet it still is getting that error.
> Any idea?

Is g++ in the same bin folder as libgmp-10.dll?  How is your PATH
constructed, are you sure g++ is being found in the expected bin
directory?

--
Earnie
-- https://sites.google.com/site/earnieboyd

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question: libgmp-10.dll not found?

Earnie Boyd
In reply to this post by Greg Chicares
On Fri, Apr 6, 2012 at 6:47 PM, Greg Chicares <[hidden email]> wrote:
> On 2012-04-06 17:23Z, Marcus Szanto wrote:
>>
>> I am getting an error when running g++.exe. The error is "The program
>> can't start because libgmp-10.dll is missing from your computer. Try
>> reinstalling the program to fix this problem.".
>> I have libgmp-10.dll in the bin folder, yet it still is getting that
>> error. Any idea?
>
> Is the compiler's bin/ directory on the PATH?

It doesn't have to be if the .exe and dependent .dll is in the same
directory.  Windows by default looks in the directory the program is
executed from for any dependent startup .dll.

--
Earnie
-- https://sites.google.com/site/earnieboyd

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question: libgmp-10.dll not found?

Greg Chicares
On 2012-04-09 12:15Z, Earnie Boyd wrote:

> On Fri, Apr 6, 2012 at 6:47 PM, Greg Chicares <[hidden email]> wrote:
>> On 2012-04-06 17:23Z, Marcus Szanto wrote:
>>>
>>> I am getting an error when running g++.exe. The error is "The program
>>> can't start because libgmp-10.dll is missing from your computer. Try
>>> reinstalling the program to fix this problem.".
>>> I have libgmp-10.dll in the bin folder, yet it still is getting that
>>> error. Any idea?
>>
>> Is the compiler's bin/ directory on the PATH?
>
> It doesn't have to be if the .exe and dependent .dll is in the same
> directory.  Windows by default looks in the directory the program is
> executed from for any dependent startup .dll.

We expect dlls to be found that way, yet g++ at first appears not to
meet that expectation. Having dug into the issue now, I believe I can
explain what's going on and suggest a fix.

First, to reproduce the issue that the OP reports, I install MinGW
gcc afresh, using 'mingw-get-inst-20111118.exe' (the latest), into
F:\MinGW-20111118\ . I use CMD.EXE to rule out any MSYS effect, and
I do *not* change %PATH%. When I invoke g++ with its full path:

C:\tmp>type C:\tmp\hello.cpp
#include <iostream>
#include <ostream>
int main() {std::cout << "Hello, world!" << std::endl;}
C:\tmp>F:\MinGW-20111118\bin\g++ C:\tmp\hello.cpp

it fails, and a messagebox appears:
  cc1plus.exe - Unable To Locate Component
  This application has failed to start because libgmp-10.dll was not found.
  Re-installing the application may fix this problem.

Has g++ failed to find 'libgmp-10.dll' even though both reside in
the same bin/ directory? No. The title of the messagebox identifies
the program that couldn't find that dll: not g++, but 'cc1plus.exe'.
And that program isn't in bin/; it's here:
  F:\MinGW-20111118\libexec\gcc\mingw32\4.6.1\cc1plus.exe
but the dll is in bin/, with g++, the program that *spawned* cc1plus.
And the OS's dll search looks in the directory of the program that's
running--not of the program that spawned it.

If I copy
  libgmp-10.dll       (required by cc1plus.exe)
  libmpc-2.dll        (required by cc1plus.exe)
  libmpfr-1.dll       (required by cc1plus.exe)
into F:\MinGW-20111118\libexec\gcc\mingw32\4.6.1\ (where 'cc1plus.exe'
resides), and
  libgcc_s_dw2-1.dll  (required by as.exe)
  libiconv-2.dll      (required by as.exe)
  libintl-8.dll       (required by as.exe)
into F:\MinGW-20111118\mingw32\bin (where 'as.exe' resides), then the
test case above works as originally hoped. (There's another copy of
'as.exe' in bin/, but apparently g++ or cc1plus invokes the one in
mingw32/bin/ .)

Should that copying be done in the MinGW distribution? Already there
are 7.4 MB of copied .exe's in mingw32/bin/, and the six dlls above
add up to an extra 1.9 MB; that would make a C++ installation only
one percent larger. The benefit is that invoking the compiler driver
(by its fully-qualified filename, like 'F:\MinGW-20111118\bin\g++')
will just work, with no PATH change required. That's handy if you're
switching between different versions, and safer, too, in this case:
  PATH=F:\MinGW-20111118\bin;%PATH%
  F:\MinGW-20111118\bin\g++ foo.cpp
  # ...an unexpected error occurs, so back up one version
  F:\MinGW-20110802\bin\g++ foo.cpp
  # ...oops, that uses the newest version's dlls

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question: libgmp-10.dll not found?

Earnie Boyd
On Fri, Apr 13, 2012 at 6:11 AM, Greg Chicares wrote:

> First, to reproduce the issue that the OP reports, I install MinGW
> gcc afresh, using 'mingw-get-inst-20111118.exe' (the latest), into
> F:\MinGW-20111118\ . I use CMD.EXE to rule out any MSYS effect, and
> I do *not* change %PATH%. When I invoke g++ with its full path:
>
> C:\tmp>type C:\tmp\hello.cpp
> #include <iostream>
> #include <ostream>
> int main() {std::cout << "Hello, world!" << std::endl;}
> C:\tmp>F:\MinGW-20111118\bin\g++ C:\tmp\hello.cpp
>
> it fails, and a messagebox appears:
>  cc1plus.exe - Unable To Locate Component
>  This application has failed to start because libgmp-10.dll was not found.
>  Re-installing the application may fix this problem.
>
> Has g++ failed to find 'libgmp-10.dll' even though both reside in
> the same bin/ directory? No. The title of the messagebox identifies
> the program that couldn't find that dll: not g++, but 'cc1plus.exe'.
> And that program isn't in bin/; it's here:
>  F:\MinGW-20111118\libexec\gcc\mingw32\4.6.1\cc1plus.exe
> but the dll is in bin/, with g++, the program that *spawned* cc1plus.
> And the OS's dll search looks in the directory of the program that's
> running--not of the program that spawned it.
>
> If I copy
>  libgmp-10.dll       (required by cc1plus.exe)
>  libmpc-2.dll        (required by cc1plus.exe)
>  libmpfr-1.dll       (required by cc1plus.exe)
> into F:\MinGW-20111118\libexec\gcc\mingw32\4.6.1\ (where 'cc1plus.exe'
> resides), and
>  libgcc_s_dw2-1.dll  (required by as.exe)
>  libiconv-2.dll      (required by as.exe)
>  libintl-8.dll       (required by as.exe)
> into F:\MinGW-20111118\mingw32\bin (where 'as.exe' resides), then the
> test case above works as originally hoped. (There's another copy of
> 'as.exe' in bin/, but apparently g++ or cc1plus invokes the one in
> mingw32/bin/ .)
>
> Should that copying be done in the MinGW distribution? Already there
> are 7.4 MB of copied .exe's in mingw32/bin/, and the six dlls above
> add up to an extra 1.9 MB; that would make a C++ installation only
> one percent larger. The benefit is that invoking the compiler driver
> (by its fully-qualified filename, like 'F:\MinGW-20111118\bin\g++')
> will just work, with no PATH change required. That's handy if you're
> switching between different versions, and safer, too, in this case:
>  PATH=F:\MinGW-20111118\bin;%PATH%
>  F:\MinGW-20111118\bin\g++ foo.cpp
>  # ...an unexpected error occurs, so back up one version
>  F:\MinGW-20110802\bin\g++ foo.cpp
>  # ...oops, that uses the newest version's dlls

Thanks for the work and follow-up.  My opinion is yes, the required
DLL should exist in the disparate directories to accommodate the
disparate application executables.  Once Keith has post-install
scripts working for mingw-get we could just do a copy into the
appropriate directories.  Until then the package should contain a
duplicate DLL.

--
Earnie
-- https://sites.google.com/site/earnieboyd

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question: libgmp-10.dll not found?

Keith Marshall
On 13/04/12 14:38, Earnie Boyd wrote:
> Once Keith has post-install scripts working for mingw-get ...

I already have them working, for the imminent 0.5 release, (and in the
snapshot at https://sourceforge.net/projects/keithmarshall.u/files/).

> ... we could just do a copy into the appropriate directories.

Or, for those with NTFS, linking may be preferable.  Anyone care to
specify the lua script to process a list of DLL names, and for each of
them link if possible, or copy otherwise, from %MINGW32_SYSROOT%\bin\ to
%MINGW32_SYSROOT%\libexec\gcc\mingw32\4.6.1\ ?

> Until then the package should contain a duplicate DLL.

Is it worth repackaging all of GCC to achieve this, given the imminent
availability of the script enabled mingw-get?

--
Regards,
Keith.

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question: libgmp-10.dll not found?

Cesar Strauss
On 04/13/2012 03:45 PM, Keith Marshall wrote:
> On 13/04/12 14:38, Earnie Boyd wrote:
>> ... we could just do a copy into the appropriate directories.
>
> Or, for those with NTFS, linking may be preferable.  Anyone care to
> specify the lua script to process a list of DLL names, and for each of
> them link if possible, or copy otherwise, from %MINGW32_SYSROOT%\bin\ to
> %MINGW32_SYSROOT%\libexec\gcc\mingw32\4.6.1\ ?

This should be done not only at g++ post-install, but every time one of
the DLL in the list is upgraded. Would that be possible?

>> Until then the package should contain a duplicate DLL.

In principle, I do not like the idea of bundling libgmp-10.dll in the
g++ package. If a new version of the gmp package is released, the DLL
in the g++ package becomes outdated.

Maybe the g++.exe driver could be made to update the PATH before using
CreateProcess to run cc1plus.exe.

Regards,

Cesar


------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question: libgmp-10.dll not found?

Keith Marshall
On 14/04/12 23:31, Cesar Strauss wrote:

> On 04/13/2012 03:45 PM, Keith Marshall wrote:
>> On 13/04/12 14:38, Earnie Boyd wrote:
>>> ... we could just do a copy into the appropriate directories.
>>
>> Or, for those with NTFS, linking may be preferable.  Anyone care to
>> specify the lua script to process a list of DLL names, and for each of
>> them link if possible, or copy otherwise, from %MINGW32_SYSROOT%\bin\ to
>> %MINGW32_SYSROOT%\libexec\gcc\mingw32\4.6.1\ ?
>
> This should be done not only at g++ post-install, but every time one of
> the DLL in the list is upgraded. Would that be possible?

You will have four available scripting hooks: pre-remove, post-remove,
pre-install, and post-install.  The first pair will be run on a remove
action, the final pair on an install.  Since mingw-get views upgrade as
a remove followed by an install, all four will run on each upgrade, (in
the order shown); thus yes, this will be possible.

>>> Until then the package should contain a duplicate DLL.
>
> In principle, I do not like the idea of bundling libgmp-10.dll in the
> g++ package. If a new version of the gmp package is released, the DLL
> in the g++ package becomes outdated.

Agreed, this would not be good.

> Maybe the g++.exe driver could be made to update the PATH before using
> CreateProcess to run cc1plus.exe.

Seems reasonable, if you can persuade the GCC maintainers to go along
with this, or you want to go back to maintaining local patches.

--
Regards,
Keith.

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Loading...