Author Topic: Build fails on WinXP SP2  (Read 7608 times)

Offline bughunter2

  • Multiple posting newcomer
  • *
  • Posts: 24
Build fails on WinXP SP2
« on: July 04, 2007, 04:03:46 pm »
I've updated the local SVN repository here to 4219, and when compiling I get this error:

Code
Info: resolving SquirrelVM::_VM       by linking to __imp___ZN10SquirrelVM3_VME (auto-import)
.objs\src\app.o: In function `ZN13CodeBlocksApp6OnInitEv':H:/CodeBlocks-svn/codeblocks-head/trunk/src/src/app.cpp:553: undefined reference to `_imp___ZN14ProjectManager16WorkspaceChangedEv'
collect2: ld returned 1 exit status

Maybe two weeks ago I had the same error and I thought it would be fixed. I also deleted all files not belonging to the repository and tried again, yet no success :(

Offline raph

  • Almost regular
  • **
  • Posts: 242
Re: Build fails on WinXP SP2
« Reply #1 on: July 04, 2007, 04:21:07 pm »
4219 compiles fine for me :?
What version of mingw/gcc?

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
Re: Build fails on WinXP SP2
« Reply #2 on: July 04, 2007, 04:25:55 pm »
in the devel dir, remove manually the libcodeblocks.a

Offline bughunter2

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: Build fails on WinXP SP2
« Reply #3 on: July 04, 2007, 04:28:44 pm »
4219 compiles fine for me :?
What version of mingw/gcc?

You can read it in my signature. MinGW with GCC 3.4.2 :)

in the devel dir, remove manually the libcodeblocks.a

I'll try, soon posting results.

Offline dje

  • Lives here!
  • ****
  • Posts: 683
Re: Build fails on WinXP SP2
« Reply #4 on: July 04, 2007, 05:44:45 pm »
Hi !

On Win XP, standard versions are GCC3.4.5 and wxWidgets 2.8.4.

Dje

Offline bughunter2

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: Build fails on WinXP SP2
« Reply #5 on: July 04, 2007, 06:42:50 pm »
Hi !

On Win XP, standard versions are GCC3.4.5 and wxWidgets 2.8.4.

Dje

I'm sorry I have wxWindows 2.8.3, didn't update my signature yet. My bad :wink:
Is it necessary to update to wxWindows 2.8.4? What are the benefits? And would GCC 3.4.5 be needed?

Anyways, the build succeeded now by deleting the 'libcodeblocks.a' file :D

EDIT: At the SourceForge project page of MinGW, GCC 3.4.5 is still under the 'Candidate' package, not 'Current', so it's not standard?
« Last Edit: July 04, 2007, 06:45:51 pm by bughunter2 »

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: Build fails on WinXP SP2
« Reply #6 on: July 04, 2007, 07:07:21 pm »
bughunter2: It's VERY VERY recommended to upgrade to wxWidgets 2.8.4. That 30 minutes of compilation are REALLY worth it. Many bugs within 2.8.3.

I use MINGW 3.4.5 and it's all fine with me.

Now i've had compilation problems before. Just *DELETE EVERYTHING* in your Codeblocks directory and do a clean SVN checkout. This works 99.9999999% of the time ;-)

Offline bughunter2

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: Build fails on WinXP SP2
« Reply #7 on: July 04, 2007, 07:18:20 pm »
bughunter2: It's VERY VERY recommended to upgrade to wxWidgets 2.8.4. That 30 minutes of compilation are REALLY worth it. Many bugs within 2.8.3.

I use MINGW 3.4.5 and it's all fine with me.

Now i've had compilation problems before. Just *DELETE EVERYTHING* in your Codeblocks directory and do a clean SVN checkout. This works 99.9999999% of the time ;-)

Well I think I just delete the 'devel' and 'output' directories too in the future, but not the entire SVN repository (because SVN will tell me when a file is not yet updated, it sounds unnecessary to delete everything).

I just upgraded to 3.4.5 (dunno why but why not give it a shot) and compiled wxWIdgets 2.8.4. :D

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Build fails on WinXP SP2
« Reply #8 on: July 04, 2007, 07:27:00 pm »
Well I think I just delete the 'devel' and 'output' directories too in the future, [...]
In many cases that's not enough. If you really feel to keep the sources you have to clean libs, [P/G]CH files and object files in addition for a clean re-build. I have attached a batch files that does so but honestly: sometimes it's easier to do just a clean checkout from scratch - trust me.
Code
@echo off
rem Setup C::B root folder of *sources* (!)
set CB_ROOT=C:\Devel\CodeBlocks\src

rem Usually below here no changes are required.
if not exist "%CB_ROOT%" goto ErrNoCB

if "%1"=="?"     goto DO_HELP
if "%1"=="-?"    goto DO_HELP
if "%1"=="/?"    goto DO_HELP
if "%1"=="h"     goto DO_HELP
if "%1"=="-h"    goto DO_HELP
if "%1"=="/h"    goto DO_HELP
if "%1"=="help"  goto DO_HELP
if "%1"=="-help" goto DO_HELP
if "%1"=="/help" goto DO_HELP
goto DO_PARAMS

:DO_HELP
echo USAGE:
echo clean.bat        -   Remove all object, executable, PCH and library files
echo clean.bat obj    -   Remove only object     files (folder .objs)
echo clean.bat exe    -   Remove only executable files (folder devel, output)
echo clean.bat devel  -   Remove only executable files (folder devel)
echo clean.bat output -   Remove only executable files (folder output)
echo clean.bat pch    -   Remove only PCH        files (*.gch)
echo clean.bat lib    -   Remove only library    files (*.a)
goto TheEnd

:DO_PARAMS
if "%1"=="obj"    goto DO_OBJ
if "%1"=="OBJ"    goto DO_OBJ
if "%1"=="exe"    goto DO_EXE
if "%1"=="EXE"    goto DO_EXE
if "%1"=="devel"  goto DO_DEVEL
if "%1"=="DEVEL"  goto DO_DEVEL
if "%1"=="output" goto DO_OUTPUT
if "%1"=="OUTPUT" goto DO_OUTPUT
if "%1"=="pch"    goto DO_PCH
if "%1"=="PCH"    goto DO_PCH
if "%1"=="gch"    goto DO_GCH
if "%1"=="GCH"    goto DO_GCH
if "%1"=="lib"    goto DO_LIB
if "%1"=="LIB"    goto DO_LIB

:DO_OBJ
echo Removing old object files...
if exist "%CB_ROOT%\.objs"  del /f /s /q "%CB_ROOT%\.objs\*.*"
if "%1"=="" goto DO_EXE
goto TheEnd

:DO_EXE
echo Removing old executable files...
if exist "%CB_ROOT%\devel"  del /f /s /q "%CB_ROOT%\devel\*.*"
if exist "%CB_ROOT%\output" del /f /s /q "%CB_ROOT%\output\*.*"
if exist "%CB_ROOT%\build_tools\autorevision\autorevision.exe" del /q "%CB_ROOT%\build_tools\autorevision\autorevision.exe"
if exist "%CB_ROOT%\tools\ConsoleRunner\cb_console_runner.exe" del /q "%CB_ROOT%\tools\ConsoleRunner\cb_console_runner.exe"
rem skip devel and output -> is already done.
if "%1"=="" goto DO_PCH
goto TheEnd

:DO_DEVEL
echo Removing old executable files (devel)...
if exist "%CB_ROOT%\devel"  del /f /s /q "%CB_ROOT%\devel\*.*"
if "%1"=="" goto DO_PCH
goto TheEnd

:DO_OUTPUT
echo Removing old executable files (output)...
if exist "%CB_ROOT%\devel"  del /f /s /q "%CB_ROOT%\output\*.*"
if "%1"=="" goto DO_PCH
goto TheEnd

:DO_PCH
:DO_GCH
echo Removing old PCH files...
if exist "%CB_ROOT%\plugins\contrib\lib_finder\pch.h.gch" del /q "%CB_ROOT%\plugins\contrib\lib_finder\pch.h.gch"
if exist "%CB_ROOT%\include\sdk.h.gch"                    del /q "%CB_ROOT%\include\sdk.h.gch"
if exist "%CB_ROOT%\include\sdk_precomp.h.gch"            del /q "%CB_ROOT%\include\sdk_precomp.h.gch"
if exist "%CB_ROOT%\tools\cb_share_config\wx_pch.h.gch"   del /q "%CB_ROOT%\tools\cb_share_config\wx_pch.h.gch"
if exist "%CB_ROOT%\tools\cbSnipList\wx_pch.h.gch"        del /q "%CB_ROOT%\tools\cbSnipList\wx_pch.h.gch"
if "%1"=="" goto DO_LIB
goto TheEnd

:DO_LIB
echo Removing old library files...
if exist "%CB_ROOT%\plugins\compilergcc\depslib\libdepslib.a"           del /q "%CB_ROOT%\plugins\compilergcc\depslib\libdepslib.a"
if exist "%CB_ROOT%\plugins\contrib\devpak_plugin\bzip2\libbz2.a"       del /q "%CB_ROOT%\plugins\contrib\devpak_plugin\bzip2\libbz2.a"
if exist "%CB_ROOT%\plugins\contrib\source_exporter\libwxPdfDocument.a" del /q "%CB_ROOT%\plugins\contrib\source_exporter\libwxPdfDocument.a"
if exist "%CB_ROOT%\sdk\propgrid\libpropgrid.a"                         del /q "%CB_ROOT%\sdk\propgrid\libpropgrid.a"
if exist "%CB_ROOT%\sdk\scripting\lib\libsqplus.a"                      del /q "%CB_ROOT%\sdk\scripting\lib\libsqplus.a"
if exist "%CB_ROOT%\sdk\scripting\lib\libsqstdlib.a"                    del /q "%CB_ROOT%\sdk\scripting\lib\libsqstdlib.a"
if exist "%CB_ROOT%\sdk\scripting\lib\libsquirrel.a"                    del /q "%CB_ROOT%\sdk\scripting\lib\libsquirrel.a"
if exist "%CB_ROOT%\sdk\wxFlatNotebook\libwxflatnotebook.a"             del /q "%CB_ROOT%\sdk\wxFlatNotebook\libwxflatnotebook.a"
if exist "%CB_ROOT%\base\tinyxml\libtxml.a"                             del /q "%CB_ROOT%\base\tinyxml\libtxml.a"
if exist "%CB_ROOT%\src\wxAUI\libwxaui.a"                               del /q "%CB_ROOT%\src\wxAUI\libwxaui.a"
goto TheEnd

:ErrNoCB
echo Error: C::B root folder not found.
goto TheEnd

:TheEnd
Place this file into the C::B\src folder and change the C::B root path in the variable on top of the file accordingly.

Notice: This is a hack for itself! It will erase files! So use it at your own risk.

With regards, Morten.
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 bughunter2

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: Build fails on WinXP SP2
« Reply #9 on: July 04, 2007, 08:06:47 pm »
You know, I did it much easier (I think so, at least), I just asked TortoiseSVN kindly what files didn't belong to the repository and I deleted those. Then I just update the repository and there you go!

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Build fails on WinXP SP2
« Reply #10 on: July 06, 2007, 07:16:06 am »
You know, I did it much easier (I think so, at least), I just asked TortoiseSVN kindly what files didn't belong to the repository and I deleted those. Then I just update the repository and there you go!
If I do so I loose all my additional code... ;-)
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 bughunter2

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: Build fails on WinXP SP2
« Reply #11 on: July 06, 2007, 11:53:57 am »
You know, I did it much easier (I think so, at least), I just asked TortoiseSVN kindly what files didn't belong to the repository and I deleted those. Then I just update the repository and there you go!
If I do so I loose all my additional code... ;-)

Ah, I see ;) Well I'm not a developer for C::B so I didn't add any custom code :) I'm not really into wxWidgets, so I don't think I can help the C::B project, or can I?