Code::Blocks

User forums => Nightly builds => Topic started by: killerbot on November 01, 2012, 07:06:09 pm

Title: The 01 November 2012 build (8497) is out.
Post by: killerbot on November 01, 2012, 07:06:09 pm
Get quick announcements through the RSS feed http://www.codeblocks.org/nightly/CodeBlock_RSS.xml

Before you use a nightly make sure you understand how it works (http://forums.codeblocks.org/index.php/topic,3232.0.html).

A link to the unicode windows wxWidget dll for Code::Blocks : http://prdownload.berlios.de/codeblocks/wxmsw28u_gcc_cb_wx2812_gcc471-TDM.7z

For those who might need this one (when no MingW installed on your system) : the mingw10m.dll : http://prdownload.berlios.de/codeblocks/mingwm10_gcc471-TDM.7z

The 01 November 2012 build is out.
  - Windows :
   http://prdownload.berlios.de/codeblocks/CB_20121101_rev8497_win32.7z
  - Linux :
   none

Resolved Fixed:


Regressions/Confirmed/Annoying/Common bugs:


Title: Re: The 01 November 2012 build (8497) is out.
Post by: ironhead on November 01, 2012, 10:22:52 pm
This build crashes as soon as I go to Settings > Editor...

I'm running Windows 7 Pro 32-bit.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: softred on November 01, 2012, 11:34:43 pm
Hello.

When I compile a c++ source file without project a have a crash, the log only prints "Aborted".

Codeblocks svn 8497 self build with default settings.
Debian Wheezy AMD64 - Kernel 3.2.0-3
gcc 4.7.1
wxwidget 2.8.12
Title: Re: The 01 November 2012 build (8497) is out.
Post by: oBFusCATed on November 02, 2012, 12:59:14 am
softred:
Have you tried the latest night build provided by Jens?
Does it work?
Can you tell us the revision where it first broke?
Are you sure you've built and installed it correctly. Please try a clean build to make sure you're not mixing files from different revisions.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: jens on November 02, 2012, 01:53:18 am
Hello.

When I compile a c++ source file without project a have a crash, the log only prints "Aborted".

Codeblocks svn 8497 self build with default settings.
Debian Wheezy AMD64 - Kernel 3.2.0-3
gcc 4.7.1
wxwidget 2.8.12

softred:
Have you tried the latest night build provided by Jens?
Does it work?
Can you tell us the revision where it first broke?
Are you sure you've built and installed it correctly. Please try a clean build to make sure you're not mixing files from different revisions.

Crashes here too, with 8486 from my repo (fc17 64-bit).
I can dig into it tomorrow.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: ollydbg on November 02, 2012, 01:56:44 am
This build crashes as soon as I go to Settings > Editor...

I'm running Windows 7 Pro 32-bit.
Tested, I do not have the crash. (WinXP).
I guess your configure file(default.conf) was broken, can you try to delete the conf file, and try again?
Title: Re: The 01 November 2012 build (8497) is out.
Post by: jens on November 02, 2012, 02:04:39 am
8497 does not crash at least not in debugger), but gives me the following output:
Quote
$compiler $options $includes -c $file -o $object
$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs
/bin/sh: -c: command not found
Process terminated with status 127 (0 minutes, 0 seconds)
0 errors, 0 warnings (0 minutes, 0 seconds)
Build log saved as:
file:///tmp/test/test_build_log.html
 

No macro replacement, looks like broken compiler lookup again.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: MortenMacFly on November 02, 2012, 08:11:38 am
No macro replacement, looks like broken compiler lookup again.
Program received signal SIGSEGV, Segmentation fault.
0x61e5e8b2 in DirectCommands::GetCompileSingleFileCommand (this=0x22ed18,
    filename=...)
    at C:/Devel/CodeBlocks/src/plugins/compilergcc/directcommands.cpp:342
→→C:\Devel\CodeBlocks\src\plugins\compilergcc\directcommands.cpp:342:11849:beg:0x61e5e8b2

Reproducible... I'll see what I can do.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: jens on November 02, 2012, 09:01:14 am
No macro replacement, looks like broken compiler lookup again.
Program received signal SIGSEGV, Segmentation fault.
0x61e5e8b2 in DirectCommands::GetCompileSingleFileCommand (this=0x22ed18,
    filename=...)
    at C:/Devel/CodeBlocks/src/plugins/compilergcc/directcommands.cpp:342
→→C:\Devel\CodeBlocks\src\plugins\compilergcc\directcommands.cpp:342:11849:beg:0x61e5e8b2

Reproducible... I'll see what I can do.

Simple cause:
in directcommands.cpp:57, the pointer to the command-generator is initialised, but if there is no project, this line will never be reached.
Just moving the code from line 57 to the beginning of the ctor, works here on linux.
Can you test it on windows ?
A change should be committed with a small comment.

EDIT:
the issue must be there since r8457, if I see it correctly.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: MortenMacFly on November 02, 2012, 09:19:49 am
When I compile a c++ source file without project a have a crash, the log only prints "Aborted".

Just moving the code from line 57 to the beginning of the ctor, works here on linux.
Can you test it on windows ?
Tried, works, and committed. This was an "ooopsi" error when changing the command generation interface for CC.

Thanks for the report!
Title: Re: The 01 November 2012 build (8497) is out.
Post by: gd_on on November 02, 2012, 11:58:54 am
Small problem for localisation introduced with svn 8499 in directcommand.cpp :
the old code was :
Code: [Select]
       warn.Printf(_("WARNING: Target '%s': Unable to resolve %lu external dependencies:"),
                    target->GetFullTitle().wx_str(), static_cast<unsigned long>(fileMissing.Count()));
the new one is (line 601) :
Code: [Select]
       warn.Printf(_("WARNING: Target '%s': Unable to resolve %lu external dependenc%s:"),
                    target->GetFullTitle().wx_str(), static_cast<unsigned long>(fileMissing.Count()), wxString(fileMissing.Count() == 1 ? _("y") : _("ies")).wx_str());
It's OK in english, but not in other languages as French, because, in french, I'll have to modify 2 words (the translation of "dependency" (or ies) but the translation of "external" too), so not only one word as in English. Though it's a nice subtility, i think it's not a so good idea for other localisations than English. So, the old solution, though not perfect, is better.

gd_on

Title: Re: The 01 November 2012 build (8497) is out.
Post by: MortenMacFly on November 02, 2012, 03:18:37 pm
Small problem for localisation introduced with svn 8499 in directcommand.cpp :
OK agreed - I will revert that. Actually it slipped in from the compiler branch.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: softred on November 02, 2012, 03:59:47 pm
Good work folks. The new build works as expected.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: ironhead on November 02, 2012, 11:32:53 pm
This build crashes as soon as I go to Settings > Editor...

I'm running Windows 7 Pro 32-bit.
Tested, I do not have the crash. (WinXP).
I guess your configure file(default.conf) was broken, can you try to delete the conf file, and try again?

The 8500 build also craps out on me under Win7.  I've removed my AppData\Roaming\CodeBlocks directory as well as removing and re-extracting the complete C::B (to make sure no old files were left around).
Title: Re: The 01 November 2012 build (8497) is out.
Post by: ollydbg on November 03, 2012, 02:49:56 am
This build crashes as soon as I go to Settings > Editor...

I'm running Windows 7 Pro 32-bit.
Tested, I do not have the crash. (WinXP).
I guess your configure file(default.conf) was broken, can you try to delete the conf file, and try again?

The 8500 build also craps out on me under Win7.  I've removed my AppData\Roaming\CodeBlocks directory as well as removing and re-extracting the complete C::B (to make sure no old files were left around).

Do you have any crash report? (call stack)
Title: Re: The 01 November 2012 build (8497) is out.
Post by: Alpha on November 03, 2012, 03:51:09 am
[...]
Though it's a nice subtility, i think it's not a so good idea for other localisations than English. So, the old solution, though not perfect, is better.
During translation, you could translate the first message to the string minus the last terms, and the two suffix strings to (instead be) full word(s).  (Alternatively, you could translate the first message to the full string (as previous), and the two suffix strings to empty strings.)
Title: Re: The 01 November 2012 build (8497) is out.
Post by: gd_on on November 03, 2012, 10:10:27 am
Probably yes. There are different solutions/workaround to do this translation. Nevertheless, in the future there could be other strings which will have an "y" termination in the singular form and 'ies" in the plural form. So, it will be more difficult to find a good workaround, except to adopt in every case the plural form, which, in fine, in the "old" solution also in english. It's not an easy problem, I know...

gd_on
Title: Re: The 01 November 2012 build (8497) is out.
Post by: rickg22 on November 03, 2012, 01:48:14 pm
No macro replacement, looks like broken compiler lookup again.

Speaking of compiler, would it be possible to add support for "no compiler" projects? I disabled the Compiler plugin at job because it kept bugging me about not finding GCC (it's a PHP project), but when I tried to make a new project I couldn't because I *had* to choose a compiler and there was no compiler list to choose from (since I had disabled the plugin).
Title: Re: The 01 November 2012 build (8497) is out.
Post by: MortenMacFly on November 04, 2012, 05:35:58 pm
Speaking of compiler, would it be possible to add support for "no compiler" projects? I
We have a "commands only" target. Does that help?
Title: Re: The 01 November 2012 build (8497) is out.
Post by: rickg22 on November 05, 2012, 11:01:22 pm
Speaking of compiler, would it be possible to add support for "no compiler" projects? I
We have a "commands only" target. Does that help?

Not really... if it's not supported in the "New Project" wizard, it's useless. I'm always forced to "choose" a compiler - and I always end up choosing GCC by default, which obviously I don't have on this machine. I want to be able to choose "No compiler" or something, so that it won't ask me for compiler settings.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: oBFusCATed on November 06, 2012, 12:20:50 am
rickg22: Why don't you modify the empty project template and commit it? Or duplicate it and name it "Empty no compiler project" or something like that?
Title: Re: The 01 November 2012 build (8497) is out.
Post by: rickg22 on November 07, 2012, 07:22:53 pm
rickg22: Why don't you modify the empty project template and commit it? Or duplicate it and name it "Empty no compiler project" or something like that?

Because I barely have time :(
Title: Re: The 01 November 2012 build (8497) is out.
Post by: dmoore on November 07, 2012, 07:38:53 pm
rickg22: Why don't you modify the empty project template and commit it? Or duplicate it and name it "Empty no compiler project" or something like that?

Because I barely have time :(

I need something like this too for some of the scripted language projects I work on. The other problem with commands only is that it can't be run or debugged. Is there a reason why not?
(Btw, won't there be other problems if a project does not have a compiler set? e.g. some of the core/plugins probably expect a project will have a compiler.) Happy to spend some time on this, but I want to work on the user customizable main and module menu stuff first.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: Alpha on November 08, 2012, 02:28:54 am
I need something like this too for some of the scripted language projects I work on. The other problem with commands only is that it can't be run or debugged. Is there a reason why not?
It would probably be best to modify this in the XML Compiler branch, however I am not sure if features should be held off from that branch currently so it can be focused on merging (devs, is there a normal procedure here?).
If I can think of a good idea, I might try working on this as well...

I'm always forced to "choose" a compiler - and I always end up choosing GCC by default, which obviously I don't have on this machine. I want to be able to choose "No compiler" or something, so that it won't ask me for compiler settings.
So creating a dummy "Null Compiler" should suit your purposes?
Title: Re: The 01 November 2012 build (8497) is out.
Post by: dmoore on November 08, 2012, 04:23:35 am
@alpha: Don't make any changes on account of me. Get the stuff merged into trunk first. A final thought on the "commands only" target: Does it make any sense for that target to have any of the build option tabs other than the pre/post build steps?
Title: Re: The 01 November 2012 build (8497) is out.
Post by: oBFusCATed on November 08, 2012, 08:11:23 am
No merging until the release!  ::)
Title: Re: The 01 November 2012 build (8497) is out.
Post by: MortenMacFly on November 08, 2012, 08:35:36 am
No merging until the release!  ::)
Yes, I think we made that point already.
Title: Re: The 01 November 2012 build (8497) is out.
Post by: MortenMacFly on November 08, 2012, 08:40:37 am
A final thought on the "commands only" target: Does it make any sense for that target to have any of the build option tabs other than the pre/post build steps?
Macros (envvars) as well I'd say ()if you want to use them in scripts).

So creating a dummy "Null Compiler" should suit your purposes?
Yes - sounds reasonable for these purposes. BTW: all compiler related change sin the branch, please. I'll merge all the latest changes from trunk into the branch in a minute...

For the release we had in mind the following:
- Don't mess with the compiler in trunk until release
- Release
- Merge compiler branch into trunk
- All up-coming nightlies will then use the new compiler framework.

So whatever work needs to be done on the compiler front: If these are no critical bugs to fix, please do it in the branch...
Title: Re: The 01 November 2012 build (8497) is out.
Post by: rickg22 on November 10, 2012, 01:36:47 am

I'm always forced to "choose" a compiler - and I always end up choosing GCC by default, which obviously I don't have on this machine. I want to be able to choose "No compiler" or something, so that it won't ask me for compiler settings.
So creating a dummy "Null Compiler" should suit your purposes?

Yes! That's exactly what I had in mind, thanks! Just name it "No compiler" in the dialog :)
Title: Re: The 01 November 2012 build (8497) is out.
Post by: Alpha on November 11, 2012, 12:40:58 am
Here is a preliminary patch (against the XML Compiler branch); it covers (at least, should cover) the basics, but I am not sure what other tuning might benefit this.
Code: [Select]
Index: src/plugins/compilergcc/compileroptionsdlg.cpp
===================================================================
--- src/plugins/compilergcc/compileroptionsdlg.cpp (revision 8543)
+++ src/plugins/compilergcc/compileroptionsdlg.cpp (working copy)
@@ -2778,7 +2778,8 @@
         {
             dlg.SetSize(dlg.GetPosition().x, dlg.GetPosition().y - (220 - dlg.GetSize().GetHeight()) / 2,
                         dlg.GetSize().GetWidth(), 220);
-        }        dlg.ShowModal();
+        }
+        dlg.ShowModal();
         wxString flags = dlg.GetValue();
         flags.Replace(wxT("\n"), wxT(" "));
         flags.Replace(wxT("\r"), wxT(" "));
Index: src/plugins/compilergcc/compilergcc.cpp
===================================================================
--- src/plugins/compilergcc/compilergcc.cpp (revision 8543)
+++ src/plugins/compilergcc/compilergcc.cpp (working copy)
@@ -701,6 +701,12 @@
 
     // Get configured masterpath, expand macros and remove trailing separators
     wxString masterPath = compiler->GetMasterPath();
+    bool isNoComp = false;
+    if (masterPath == wxT("-- No Compiler --")) // Special case so "No Compiler" is valid
+    {
+        isNoComp = true;
+        masterPath.Clear();
+    }
     Manager::Get()->GetMacrosManager()->ReplaceMacros(masterPath);
     while (   !masterPath.IsEmpty()
            && ((masterPath.Last() == '\\') || (masterPath.Last() == '/')) )
@@ -757,7 +763,7 @@
     /* TODO (jens#1#): Is the above correct ?
        Or should we search in the whole systempath (pathList in this case) for the executable? */
     // Try again...
-    if (binPath.IsEmpty() || (pathList.Index(binPath, caseSens)==wxNOT_FOUND))
+    if ((binPath.IsEmpty() || (pathList.Index(binPath, caseSens)==wxNOT_FOUND)) && !isNoComp)
     {
         InfoWindow::Display(_("Environment error"),
                             _("Can't find compiler executable in your configured search path's for ") + compiler->GetName() + _T('\n'));
Index: src/plugins/compilergcc/resources/compilers/options_null.xml
===================================================================
--- src/plugins/compilergcc/resources/compilers/options_null.xml (revision 0)
+++ src/plugins/compilergcc/resources/compilers/options_null.xml (revision 0)
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE CodeBlocks_compiler_options>
+<CodeBlocks_compiler_options>
+    <!-- No options -->
+    <Option name="No active compiler"
+            option="none"
+            checkAgainst="none"
+            checkMessage="This is not a switch; it does nothing."
+            supersedes="none"/>
+</CodeBlocks_compiler_options>
Index: src/plugins/compilergcc/resources/compilers/compiler_null.xml
===================================================================
--- src/plugins/compilergcc/resources/compilers/compiler_null.xml (revision 0)
+++ src/plugins/compilergcc/resources/compilers/compiler_null.xml (revision 0)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE CodeBlocks_compiler>
+<CodeBlocks_compiler name="*No Compiler*"
+                     id="null"
+                     weight="100">
+    <Path type="master">
+        <Fallback path="-- No Compiler --"/>
+    </Path>
+</CodeBlocks_compiler>
Index: src/plugins/compilergcc/compilerXML.cpp
===================================================================
--- src/plugins/compilergcc/compilerXML.cpp (revision 8543)
+++ src/plugins/compilergcc/compilerXML.cpp (working copy)
@@ -244,8 +244,9 @@
     }
     wxSetEnv(wxT("PATH"), origPath);
 
-    if (wxFileExists(m_MasterPath + wxFILE_SEP_PATH + wxT("bin") + wxFILE_SEP_PATH + m_Programs.C) ||
-        wxFileExists(m_MasterPath + wxFILE_SEP_PATH + m_Programs.C))
+    if (   wxFileExists(m_MasterPath + wxFILE_SEP_PATH + wxT("bin") + wxFILE_SEP_PATH + m_Programs.C)
+        || wxFileExists(m_MasterPath + wxFILE_SEP_PATH + m_Programs.C)
+        || m_MasterPath == wxT("-- No Compiler --")) // Special case so "No Compiler" is valid
     {
         return adrDetected;
     }
Title: Re: The 01 November 2012 build (8497) is out.
Post by: MortenMacFly on November 11, 2012, 09:32:03 am
Here is a preliminary patch (against the XML Compiler branch);
This one doesn't apply for me when copy/pasting it out of here due to invalid characters. Maybe you can attach a patch file to the post, please?
Title: Re: The 01 November 2012 build (8497) is out.
Post by: Alpha on November 11, 2012, 03:09:28 pm
This one doesn't apply for me when copy/pasting it out of here due to invalid characters.
??? I wonder where invalid characters would come from ...

Attached.