User forums > General (but related to Code::Blocks)

TDM-GCC 4.2.3 for MinGW

<< < (2/4) > >>

Ceniza:
I also tried your 4.3.0 release and it complains about CreateProcess not being found whenever I try to build a program. Mr. Thomas told me to rename it, but it didn't work. More or less like Mr. T, I'm too stupid to make it work.

asdz:

--- Quote from: TDragon on February 04, 2008, 04:52:11 am ---With GCC 4.2.3 now released, I've created the usual TDM binary distribution for MinGW. As always, binary packages are available as drop-in replacements for the MinGW project's official gcc packages.

I haven't deviated from my standard build process in creating this release, so I don't expect any problems. I always test every release to ensure that it can successfully build the latest version of wxWidgets and Code::Blocks SVN -- however, I haven't yet done so for this release because the majority of my CPU is currently occupied in a different build process. As soon as that's finished, I'll finish testing and confirm that everything works as expected.
Update:
Yes, C::B SVN and wxWidgets work fine with this release.

Full details are at http://www.tdragon.net/recentgcc/ .

Disclaimer:

You should only use this build if you need the features or bugfixes done since GCC 4.2.1. If you don't need them or aren't sure, you should instead use the official MinGW GCC 4.2.1 Technology Preview, or (most preferably) the official MinGW GCC 3.4.5 stable release.

Cheers,
John E. / TDM

--- End quote ---
Why while compiling an OpenMP program with your GCC distribution... it seems to recognize only one core?
(The program that i tested works fine on Linux and used flag -fopenmp)

TDragon:
thomas:

--- Quote from: thomas on March 19, 2008, 07:52:32 pm ---By the way, TD... I tried your 4.3.0 build too, very much appreciated (because I'm too stupid to build myself, for some reason it never works).

--- End quote ---
Yeah...let's just say that while the process is indeed as simple as "configure, make, install", when things go wrong it's confoundedly hard to figure out why. Apparently, buying your sacrificial chickens from the correct vendor plays an important role.


--- Quote ---Unluckily, it seems like the GCC team still has to do some serious overhauling on the optimizer before 4.3.0 becomes usable. I had it move code which wasn't invariant and which was marked __volatile__ out of a loop. To make matters worse, the exit condition depended on that code (resulting in an infinite loop). So basically, that makes 4.3.0 unusable.

--- End quote ---
Wow. Thanks for pointing this out. I've finally finished porting the patchset from the official MinGW 4.2.1 release to the 4.3 series for a soon-to-be TDM release with shared libgcc&libstdc++ and DW2 unwinding; now it looks like it might be a good idea to apply it to another 4.2 release as well.

If you have the time and inclination to create one, I'd really appreciate a testcase of some sort which shows this happening; even if I can't fix it myself (and I probably can't), I can send it on as a GCC PR, or ping it harder if it's already been filed there. A bug report on the TDM-GCC SF tracker would be optimal.

Ceniza:

--- Quote from: Ceniza on March 19, 2008, 09:54:54 pm ---I also tried your 4.3.0 release and it complains about CreateProcess not being found whenever I try to build a program. Mr. Thomas told me to rename it, but it didn't work. More or less like Mr. T, I'm too stupid to make it work.

--- End quote ---
If you can post the output with -v added to the command line here or in a support request, I can try to troubleshoot for you and add pertinent info to the README so other people don't run into the same problem. Also, it may well be a bug.

asdz:

--- Quote from: asdz on March 20, 2008, 03:24:52 am ---Why while compiling an OpenMP program with your GCC distribution... it seems to recognize only one core?
(The program that i tested works fine on Linux and used flag -fopenmp)

--- End quote ---
I only have a single-core CPU currently, so this one would be harder for me to troubleshoot. I recommend you try your program on the official MinGW GCC 4.2.1 release. If it works as you expect there but not in TDM-GCC, I can try comparing the two to see what changes to make.

A parting shot:
You may have noticed that I haven't posted my typical announcement here concerning the TDM 4.3.0 release. This is because 4.3.0 currently does not successfully build Code::Blocks. I have not yet looked into the source of the problem.

Ceniza:
Thank you for your interest, but running it with -v gave me all the information I needed. It seems I'm more stupid than I expected...

When I installed your 4.3.0 version I just renamed the current bin directory of my 4.2.1-dw2 and decompressed 4.3.0 on the already existent MinGW directory (so I would have a quick way to go back to 4.2.1). Problem was I forgot to copy all of the binutils to the newly created bin directory. To sum it up, the error was that gcc couldn't find as.exe.

Now it compiles without complaining :D

So far the 'hello world' program works. I'm gonna try a few more :)

[edit]
The only 'problem' so far is that debug builds are twice the size of those compiled with 4.2.1.
[\edit]

Biplab:

--- Quote from: TDragon on March 20, 2008, 04:30:20 am ---thomas:

--- Quote from: thomas on March 19, 2008, 07:52:32 pm ---By the way, TD... I tried your 4.3.0 build too, very much appreciated (because I'm too stupid to build myself, for some reason it never works).

--- End quote ---
Yeah...let's just say that while the process is indeed as simple as "configure, make, install", when things go wrong it's confoundedly hard to figure out why. Apparently, buying your sacrificial chickens from the correct vendor plays an important role.

--- End quote ---

I tried the same. But unfortunately the build process stopped with a fatal error. I was cross-compiling it in Fedora 8. The strange thing is I have compiled GCC-4.1.x and 4.2.x with this box without any problem. :)



--- Quote from: asdz on March 20, 2008, 03:24:52 am ---Why while compiling an OpenMP program with your GCC distribution... it seems to recognize only one core?
(The program that i tested works fine on Linux and used flag -fopenmp)

--- End quote ---

Did you try specifying the number of threads before running your app?? On Windows, export the following environment variable as-

--- Code: ---set OMP_NUM_THREADS=2
--- End code ---
or in Linux,

--- Code: ---export OMP_NUM_THREADS=2
--- End code ---

You can also add the following code at the top of your main() function in your code to set the number of threads.

--- Code: ---omp_set_num_threads(2);
--- End code ---

Please note that the above code has higher precedence than the environment variables.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version