News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

Build fails on WinXP SP2

Started by bughunter2, July 04, 2007, 04:03:46 PM

Previous topic - Next topic

bughunter2

I've updated the local SVN repository here to 4219, and when compiling I get this error:

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 :(

raph

4219 compiles fine for me :?
What version of mingw/gcc?

killerbot

in the devel dir, remove manually the libcodeblocks.a

bughunter2

Quote from: raph on July 04, 2007, 04:21:07 PM
4219 compiles fine for me :?
What version of mingw/gcc?

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

Quote from: killerbot on July 04, 2007, 04:25:55 PM
in the devel dir, remove manually the libcodeblocks.a

I'll try, soon posting results.

dje

Hi !

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

Dje

bughunter2

#5
Quote from: dje on July 04, 2007, 05:44:45 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?

rickg22

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 ;-)

bughunter2

Quote from: rickg22 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 ;-)

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

MortenMacFly

Quote from: bughunter2 on July 04, 2007, 07:18:20 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.

@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: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

bughunter2

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!

MortenMacFly

Quote from: bughunter2 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!
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: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

bughunter2

Quote from: MortenMacFly on July 06, 2007, 07:16:06 AM
Quote from: bughunter2 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!
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?