Author Topic: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)  (Read 102157 times)

Offline TDragon

  • Lives here!
  • ****
  • Posts: 943
    • TDM-GCC
Re: TDM-GCC 4.5 series (Latest: 4.5.1 & LTO support)
« Reply #90 on: September 17, 2010, 02:13:16 pm »
xunxun1982, if you could be bothered to read the release notice you're replying to, it's fairly clear.
https://jmeubank.github.io/tdm-gcc/ - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

Offline xunxun

  • Almost regular
  • **
  • Posts: 187
Re: TDM-GCC 4.5 series (Latest: 4.5.1 & LTO support)
« Reply #91 on: September 17, 2010, 05:08:31 pm »
xunxun1982, if you could be bothered to read the release notice you're replying to, it's fairly clear.
Oh, I'm sorry. And How do you solve this problem?
I make one gcc4.5.1 static edition (http://code.google.com/p/pcxprj/downloads/list, 32bit, lto, static), and I use the patch to undo the change by nathan (http://forums.codeblocks.org/index.php/topic,12183.msg85066.html#msg85066), which solves the Enormous increase in object files size.
That can compile wxWidgets smoothly now.
« Last Edit: September 17, 2010, 05:13:15 pm by xunxun1982 »
Regards,
xunxun

Offline TDragon

  • Lives here!
  • ****
  • Posts: 943
    • TDM-GCC
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #92 on: March 28, 2011, 04:51:07 am »
Greetings!

TDM-GCC 4.5.2 is now available!
The latest release of TDM-GCC incorporates GCC 4.5.2 in 32-bit and 32/64-bit editions, and includes LTO support.

The TDM release of GCC 4.5.2 is now available for download. As always, I've tested it on wxWidgets (2.8.11) and Code::Blocks SVN (7071) to ensure good compatibility.

  • This GCC release includes a patch toward better toolchain relocatability -- that is, it no longer searches X:\mingw (X being your installation drive letter) by default, but bases every search path on the location of the toolchain executables.
  • As with previous releases, GCC now includes support for LTO on MinGW and MinGW-w64 targets, so it's enabled in TDM-GCC.
  • Also as with previous releases, I've maintained the *reversal* of the GCC change that caused an out-of-memory problem building wxWidgets due to the forced emission of class inline functions in DLL code. This means you shouldn't have to perform any unusual steps when building wxWidgets.


TDM-GCC is available in TWO editions:
Along with the classic MinGW 32-bit edition, a new TDM64 edition is also available. This edition is based on the MinGW-w64 runtime API and the x86_64-w64-mingw32 GCC target, and can create both 32-bit and 64-bit code, with the "-m32"/"-m64" compiler flags. Please be aware, if you build Code::Blocks yourself, that it only works as 32-bit code ("-m32") on Windows, currently -- though that will hopefully change soon. Also, please never mix 32-bit object files (.o), libraries (.a), DLLs, or EXEs with 64-bit versions, and don't report it as a bug if you inadvertently do.

More information and downloads are available at <http://tdm-gcc.tdragon.net/>. TDM-GCC includes support for C, C++, Fortran, Objective-C/C++, and Ada (MinGW edition only), as well as support for the OpenMP multithreading extensions, packaged in a simple Windows installer.


Disclaimer:
As always, please remember:
  • TDM-GCC is not formally affiliated with or endorsed by the MinGW project.
  • No level of support for TDM-GCC is in any way guaranteed (although a best effort is made to fix bugs as they are found or forward them to GCC Bugzilla).

Cheers,
John E. / TDM
« Last Edit: March 28, 2011, 04:59:47 am by TDragon »
https://jmeubank.github.io/tdm-gcc/ - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #93 on: March 28, 2011, 06:44:19 am »
@John E. / TDM
thank you very much for your great work!!! I will try it :D.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5490
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #94 on: March 28, 2011, 07:43:54 am »
this is great, as always.

The fact that 64 bit build currently is not possible of wx/CB, is that something you can influence, or is this a mingw or wxwidgets issue ?

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #95 on: March 28, 2011, 09:23:18 am »
Thank you John, excellent work, as usual. 8)
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline ptDev

  • Almost regular
  • **
  • Posts: 222
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #96 on: March 28, 2011, 10:12:49 am »
Excellent! Thank you for your hard work, you're a life saver!

Offline ptDev

  • Almost regular
  • **
  • Posts: 222
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #97 on: March 28, 2011, 10:16:33 am »
this is great, as always.

The fact that 64 bit build currently is not possible of wx/CB, is that something you can influence, or is this a mingw or wxwidgets issue ?

I believe that this is a wxWidgets issue. There are some people working on it, but nobody there promised any 64-bit support prior to 3.0.
« Last Edit: March 28, 2011, 10:19:51 am by ptDev »

Offline byuu

  • Single posting newcomer
  • *
  • Posts: 2
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #98 on: March 28, 2011, 10:47:54 am »
Hi, thank you very much for the 4.5.2 release, as well as for your previous releases.

I hate to nag, but have you had any luck with the std::thread support in this new release? Or is there an alternative to utilize this functionality with your builds?
I have a few applications that desperately need threading support, but I am averse to writing non-portable code to do it.

Thanks again for putting this package together for everyone!

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #99 on: March 28, 2011, 11:13:27 am »
You can use boost.threads + something like:

Code
namespace mine 
{
#ifdef HAS_CPP_THREADS
using std::thread;
#else
using boost::thread;
#endif
}

Then in you code you use mine::thread and you have some flexibility.  :lol:
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #100 on: March 28, 2011, 12:11:19 pm »
One annoyance I found...

If you install the packages selectively (skipping ADA and Object C) then when you try to compile something you get the error (freely translated from German):
---------------------------
as.exe - Component not found
---------------------------
Application could not be started as libintl-8.dll could not be found. A re-installation of the application may resolve this issue.
---------------------------
OK   
---------------------------

Which is the right pre-requisite you would recommend to install (unpack)? From MinGW.org?
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline ptDev

  • Almost regular
  • **
  • Posts: 222
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #101 on: March 28, 2011, 01:52:32 pm »
One annoyance I found...

If you install the packages selectively (skipping ADA and Object C) then when you try to compile something you get the error (freely translated from German):
---------------------------
as.exe - Component not found
---------------------------
Application could not be started as libintl-8.dll could not be found. A re-installation of the application may resolve this issue.
---------------------------
OK   
---------------------------

Which is the right pre-requisite you would recommend to install (unpack)? From MinGW.org?

This happened to me before as well. I could fix it with this package from mingw.org.

Offline TDragon

  • Lives here!
  • ****
  • Posts: 943
    • TDM-GCC
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #102 on: March 28, 2011, 02:48:03 pm »
Ugh... apparently since MinGW's binutils is now being compiled with NLS (native language support), it's introduced a libintl dependency on non-EN-US systems that I can't reproduce.

You want libintl-0.17-1-mingw32-dll-8.tar.lzma, from the gettext package. You'll get it automatically in the installer if you choose the mingw32-make package; I'll make it a prereq on the binutils package as well, shortly. Please also let me know if there is a dependency on the libiconv DLL (libiconv-1.13.1-1-mingw32-dll-2.tar.lzma).

byuu:
I seem to recall seeing some noise on a mailing list about a patch for GCC's gthreads code to let this work. Unfortunately that didn't make it into this release. My only alternative would be to support it with pthreads, but that would mean either forcing pthreads-w32 and the GPL license on every C++ user (definitely not going to happen), or creating yet another alternate distribution (probably not going to happen).
« Last Edit: March 28, 2011, 02:57:05 pm by TDragon »
https://jmeubank.github.io/tdm-gcc/ - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #103 on: March 28, 2011, 03:22:59 pm »
libintl-0.17-1-mingw32-dll-8.tar.lzma
That did it. I was guessing that's the one needed, now I am sure. Thanks! :D

libiconv-1.13.1-1-mingw32-dll-2.tar.lzma
Nope, that seems not to be needed, compiling large project seems to work now.

BTW: These packages:
  • gettext-0.17-1-mingw32-bin.tar.lzma
  • gettext-0.17-1-mingw32-dev.tar.lzma
  • libexpat-2.0.1-1-mingw32-dll-1.tar.gz
  • libexpat-2.0.1-1-mingw32-dev.tar.gz
  • libintl-0.17-1-mingw32-dll-8.tar.lzma
...and probably even those:
  • libcharset-1.13.1-1-mingw32-dll-1.tar.lzma
  • libiconv-1.13.1-1-mingw32-bin.tar.lzma
  • libiconv-1.13.1-1-mingw32-dev.tar.lzma
  • libiconv-1.13.1-1-mingw32-dll-2.tar.lzma
...are usually wise to install in addition to avoid common compilation errors with third party libraries (missing dependencies etc...). As you have links/dependencies on none-self-built libraries anyway, I could imagine adding these as an info/option for convenience on the webpage would help some people.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline Xaviou

  • Regular
  • ***
  • Posts: 402
    • X@v's wxStuff
Re: TDM-GCC 4.5 series (Latest: 4.5.2 - 2011-03-27)
« Reply #104 on: April 04, 2011, 03:15:08 pm »
Hi
TDM-GCC 4.5.2 is now available!
Thank you very much for this, TDragon.


Can you confirm that 32-bits libs build with the 32/64-bits edition are compatibles with the 32-bits only edition ?

As always, I've tested it on wxWidgets (2.8.11)
I've tried with the 2.8.12, and encountered problems :
  • Installed the 32/64 bits edition
  • Patched the wxWidgets's gcc makefiles (added $(RCFLAGS) to all windres commands)
  • Launched the compilation with the following command-line :
    mingw32-make.exe -f makefile.gcc LDFLAGS="-m32" CPPFLAGS="-m32" RCFLAGS="-F pe-i386" BUILD=xxxx UNICODE=x MONOLITHIC=x SHARED=x USE_OPENGL=1 USE_ODBC=1 USE_QA=1
The compilation fails if UNICODE=0 (tried Debug/Release, Static/Shared, Multi-lib/Monolithic).
All the 8 configurations with UNICODE=0 give the same error :
Quote from: compiler
../../src/common/filefn.cpp: In function 'bool wxMkdir(const wxString&, int)':
../../src/common/filefn.cpp:1253:30: error: '_mkdir' was not declared in this scope
../../src/common/filefn.cpp: In function 'bool wxRmdir(const wxString&, int)':
../../src/common/filefn.cpp:1278:37: error: '_rmdir' was not declared in this scope
../../src/common/filefn.cpp:1280:1: warning: control reaches end of non-void function
mingw32-make.exe: *** [gcc_mswddll\monodll_filefn.o] Error 1

If UNICODE=1, all works fine.

Is there something I missed, or is this confirmed ?

Thank-you in advance.

Regards

Xav'
The french wxWidgets site : http://www.wxdev.fr
My wxWidgets's stuff : https://wxstuff.xaviou.fr/