Page 1 of 1

New error patterns corrupts the compiler's output

Posted: Mon Nov 23, 2009 3:45 pm
by marfi
Hi Eran and col.,
I'd like to report that new compiler error patterns corrupts output of the compiler/linker in some cases. Here is a sample:
----------Build Started--------
/bin/sh -c '"make" -j 2 -f "wxShapeFramework_wsp.mk"'
----------Building project:[ wxSF - Release ]----------
g++ -shared -fPIC -o ../lib/gcc_dll/libwx_gtk2u_wxsf-2.9.so wxxmlserializer/.objsu/PropertyIO.o wxxmlserializer/.objsu/XmlSerializer.o .objsu/LineShape.o .objsu/CanvasHistory.o .objsu/CanvasState.o .objsu/CommonFcn.o .objsu/ShapeBase.o .objsu/DiamondArrow.o .objsu/EllipseShape.o .objsu/TextShape.o .objsu/EditTextShape.o .objsu/ScaledDC.o .objsu/BitmapShapeXml.o .objsu/DiamondShape.o .objsu/BitmapShape.o .objsu/ShapeCanvas.o .objsu/PolygonShape.o .objsu/ArrowBase.o .objsu/ControlShape.o .objsu/GridShape.o .objsu/SolidArrow.o .objsu/CircleArrow.o .objsu/FixedRectShape.o .objsu/CurveShape.o .objsu/MultiSelRect.o .objsu/OrthoShape.o .objsu/RectShape.o .objsu/PolygonShapeXml.o .objsu/Printout.o .objsu/ShapeBaseXml.o .objsu/ShapeHandle.o .objsu/RoundRectShape.o .objsu/FlexGridShape.o .objsu/ShapeDataObject.o .objsu/DiagramManager.o .objsu/SFEvents.o .objsu/CircleShape.o .objsu/TextShapeXml.o .objsu/Thumbnail.o .objsu/wx_pch.o .objsu/OpenArrow.o "-L." "-L../lib/gcc_dll" "-L../build" -s `/home/michal/Src/Projekty/wxWidgets-trunk/build-release/wx-config --debug=no --static=no --libs`
----------Building project:[ wxSFSample2 - Release ]----------
g++ -c "/home/michal/Src/Projekty/wxSF-2.9/samples/wxSFSample2/wxSFSample2Main.cpp" -Wall -O3 -fno-strict-aliasing `/home/michal/Src/Projekty/wxWidgets-trunk/build-release/wx-config --debug=no --static=no --cflags` -DWXUSINGDLL -DUNICODE -D_UNICODE -D__WX__ -DNDEBUG -o .objsu/wxSFSample2Main.o "-I." "-I../../include"
g++ -c "/home/michal/Src/Projekty/wxSF-2.9/samples/wxSFSample2/wxSFSample2App.cpp" -Wall -O3 -fno-strict-aliasing `/home/michal/Src/Projekty/wxWidgets-trunk/build-release/wx-config --debug=no --static=no --cflags` -DWXUSINGDLL -DUNICODE -D_UNICODE -D__WX__ -DNDEBUG -o .objsu/wxSFSample2App.o "-I." "-I../../include"
g++ -c "/home/michal/Src/Projekty/wxSF-2.9/samples/wxSFSample2/SampleCanvas.cpp" -Wall -O3 -fno-strict-aliasing `/home/michal/Src/Projekty/wxWidgets-trunk/build-release/wx-config --debug=no --static=no --cflags` -DWXUSINGDLL -DUNICODE -D_UNICODE -D__WX__ -DNDEBUG -o .objsu/SampleCanvas.o "-I." "-I../../include"
g++ -c "/home/michal/Src/Projekty/wxSF-2.9/samples/wxSFSample2/wx_pch.cpp" -Wall -O3 -fno-strict-aliasing `/home/michal/Src/Projekty/wxWidgets-trunk/build-release/wx-config --debug=no --static=no --cflags` -DWXUSINGDLL -DUNICODE -D_UNICODE -D__WX__ -DNDEBUG -o .objsu/wx_pch.o "-I." "-I../../include"
g++ -o bin/gcc/wxSFSample2 .objsu/wxSFSample2Main.o .objsu/wxSFSample2App.o .objsu/SampleCanvas.o .objsu/wx_pch.o "-L." "-Lbin/gcc" "-L../../build" "-L../../lib/gcc_dll" -lwx_gtk2u_wxsf-2.9 -s `/home/michal/Src/Projekty/wxWidgets-trunk/build-release/wx-config --debug=no --static=no --libs`
.
objsu
/
SampleCanvas.o
:

In

function

`
SampleCanvas::OnRightDown(wxMouseEvent&)
'
:
SampleCanvas.cpp
:
(
.
text
+
0x1ce
)
:

undefined

reference

to

`
SampleShape::ms_classInfo
'
collect2:
ld returned 1 exit status
make[1]: *** [bin/gcc/wxSFSample2] Error 1
make: *** [All] Error 2
----------Build Ended----------
0 errors, 0 warnings
My configuration is Ubuntu 9.10 and CL 3399.

Regards
Michal

Re: New error patterns corrupts the compiler's output

Posted: Mon Nov 23, 2009 4:14 pm
by eranif
I dont think it is related to the compiler error pattern, but rather to the changes done to the 'build' process launching
I will have a look at this

Eran

Re: New error patterns corrupts the compiler's output

Posted: Mon Nov 23, 2009 4:19 pm
by marfi
I dont think it is related to the compiler error pattern, but rather to the changes done to the 'build' process launching
It is possible but after removing of two new regex patterns and rebuild of the project the problem disappeared.

Regards
M.

Re: New error patterns corrupts the compiler's output

Posted: Mon Nov 23, 2009 5:11 pm
by eranif
OK, I am convinced :)

Can you provide me with a sample project which can reproduce this issue?

Eran

Re: New error patterns corrupts the compiler's output

Posted: Mon Nov 23, 2009 5:54 pm
by marfi
OK, I am convinced
I'm just guessing - you are the boss... ;)
Can you provide me with a sample project which can reproduce this issue?
Just checkout the latest version of wxShapeFramework library (svn co https://wxsf.svn.sourceforge.net/svnroot/wxsf/trunk wxSF), remove files "SampleShape.h" and "SampleShape.cpp" from sample project "wxSFSample2" and rebuild the project.

Re: New error patterns corrupts the compiler's output

Posted: Tue Nov 24, 2009 1:46 pm
by marfi
You were probably right: I've got the same problem for simple console application even if new compiler patterns have been removed. Moreover, the corrupted output appears randomly (sometimes it is good, sometimes corrupted). Here are three different outputs I've got on the same project/configuration.

Code: Select all

----------Build Started--------
/bin/sh -c '"make"  -j 2 -f "Src_wsp.mk"'
----------Building project:[ OpenMPTest - Debug ]----------
gcc -c  "/home/michal/Src/OpenMPTest/main.c" -fopenmp -g  -o ./Debug/main.o "-I." "-I."
gcc -o ./Debug/OpenMPTest ./Debug/main.o  "-L."
.
/
Debug
/
main.o
:

In

function

`
main
'
:
/
home
/
michal
/
Src
/
OpenMPTest
/
main.c
:
6
:

undefined

reference

to

`
omp_set_thread_num
'
collect2:
ld returned 1 exit status
make[1]:
*** [Debug/OpenMPTest] Error 1
make: *** [All] Error 2
----------Build Ended----------
0 errors, 0 warnings

Code: Select all

----------Build Started--------
/bin/sh -c '"make"  -j 2 -f "Src_wsp.mk"'
----------Building project:[ OpenMPTest - Debug ]----------
gcc -c  "/home/michal/Src/OpenMPTest/main.c" -fopenmp -g  -o ./Debug/main.o "-I." "-I."
gcc -o ./Debug/OpenMPTest ./Debug/main.o  "-L."
./Debug/main.o: In function
`main':
/home/michal/Src/OpenMPTest/main.c:6: undefined reference to `omp_set_thread_num'
collect2:
ld returned 1 exit status
make[1]:
*** [Debug/OpenMPTest] Error 1
make: *** [All] Error 2
----------Build Ended----------
0 errors, 0 warnings

Code: Select all

----------Build Started--------
/bin/sh -c '"make"  -j 2 -f "Src_wsp.mk"'
----------Building project:[ OpenMPTest - Debug ]----------
gcc -c  "/home/michal/Src/OpenMPTest/main.c" -fopenmp -g  -o ./Debug/main.o "-I." "-I."
gcc -o ./Debug/OpenMPTest ./Debug/main.o  "-L."
./Debug/main.o: In function `main':
/home/michal/Src/OpenMPTest/main.c:6: undefined reference to `omp_set_thread_num'
collect2: ld returned 1 exit status
make[1]: *** [Debug/OpenMPTest] Error 1
make: *** [All] Error 2
----------Build Ended----------
0 errors, 0 warnings

Re: New error patterns corrupts the compiler's output

Posted: Tue Nov 24, 2009 5:59 pm
by eranif
Btw, this bug only occurs on Linux

Eran

Re: New error patterns corrupts the compiler's output

Posted: Thu Nov 26, 2009 10:28 pm
by eranif
This issues should now be fixed in SVN trunk.

Eran

Re: New error patterns corrupts the compiler's output

Posted: Fri Nov 27, 2009 12:40 pm
by marfi
I tested it and it works fine also for me now. Thanx!

Regards
Michal