project-navigation
Personal tools

Poll

Are you interested in such a script

Yes
9 (100%)
No
0 (0%)
Don't care
0 (0%)

Total Members Voted: 5

Voting closed: August 12, 2009, 04:03:18 pm

Author Topic: make_UfoAI_win32 (all in one win32 build script)  (Read 90639 times)

Offline Muton

  • Sergeant
  • *****
  • Posts: 496
    • View Profile
Re: All in one win32 build script
« Reply #30 on: December 20, 2009, 06:34:00 pm »
One thing I don't seem to understand: There is a separate run to compile ufo2map; but I believe this is also done while compiling the whole project? If this aint another file, why don't you compile all of the project first, and do the maps at last?
You're able to optimize ufo2map special for your system to build maps faster
In the second run you compile ufo2map with the same options as you build the whole project


BTW, "radiant_brushexport" aborts with 6 errors (Revision 27518).
Worked on my system
What's the error you've got
The log file is stored in your %tmp% directory

Offline Borsti67

  • Squad Leader
  • ****
  • Posts: 164
    • View Profile
Re: All in one win32 build script
« Reply #31 on: December 20, 2009, 06:45:04 pm »
hm. I don't see the meaning of the 2nd run then.  ;D
Code: [Select]
Linking dynamic library: ..\..\radiant\plugins\brushexport.dll
C:\Programme\Codeblocks\MinGW\lib/libstdc++.a(eh_throw.o):eh_throw.cc:(.text+0x7b): undefined reference to `__w32_sharedptr_unexpected'
C:\Programme\Codeblocks\MinGW\lib/libstdc++.a(eh_throw.o):eh_throw.cc:(.text+0x8c): undefined reference to `__w32_sharedptr_terminate'
C:\Programme\Codeblocks\MinGW\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text+0x67): undefined reference to `__w32_sharedptr_terminate'
C:\Programme\Codeblocks\MinGW\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text+0x97): undefined reference to `__w32_sharedptr_unexpected'
C:\Programme\Codeblocks\MinGW\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text+0xb3): undefined reference to `__w32_sharedptr_terminate'
C:\Programme\Codeblocks\MinGW\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text+0xd3): undefined reference to `__w32_sharedptr_unexpected'
collect2: ld returned 1 exit status
Creating library file: ..\..\radiant\plugins\libbrushexport.dll.a
Process terminated with status 1 (0 minutes, 24 seconds)
6 errors, 0 warnings

Offline Muton

  • Sergeant
  • *****
  • Posts: 496
    • View Profile
Re: All in one win32 build script
« Reply #32 on: December 20, 2009, 07:31:49 pm »
hm. I don't see the meaning of the 2nd run then.  ;D
Code: [Select]
Linking dynamic library: ..\..\radiant\plugins\brushexport.dll
...

When you optimize ufo2map for your system
and build an installer
than the ufo2map.exe must run on any computer
btw. compiling ufo2map dont take long

What C::B package?

Offline Borsti67

  • Squad Leader
  • ****
  • Posts: 164
    • View Profile
Re: All in one win32 build script
« Reply #33 on: December 21, 2009, 05:53:13 pm »
aaah, that's it, ok.

My C::B is svn5859, Build Oct 10 2009, wx2.8.10 (windows, unicode)

Offline Muton

  • Sergeant
  • *****
  • Posts: 496
    • View Profile
Re: All in one win32 build script
« Reply #34 on: December 21, 2009, 07:04:14 pm »
Hmm i meant your mingw (codeblocks.zip) build
How old is it?
Have you compiled radiant in the last days?

Offline Borsti67

  • Squad Leader
  • ****
  • Posts: 164
    • View Profile
Re: All in one win32 build script
« Reply #35 on: December 21, 2009, 08:35:51 pm »
oups... I DL'ed it from the forums here, should be the last recent one (see http://ufoai.ninex.info/forum/index.php?topic=3974.msg31574#msg31574) plus the new mingw files from your ZIP...

My last compilation of the whole project must be ~2 weeks before. This was the 1st run from your script. I don't compile C::B or mingw by myself, in case you meant that...?

Offline Muton

  • Sergeant
  • *****
  • Posts: 496
    • View Profile
Re: All in one win32 build script
« Reply #36 on: December 21, 2009, 10:08:54 pm »
I've used that too
without a problem.

Can you build radiant the classic way (using C::B)?
Do you still have the log file?
If so please zip it and upload

Offline Borsti67

  • Squad Leader
  • ****
  • Posts: 164
    • View Profile
Re: All in one win32 build script
« Reply #37 on: December 22, 2009, 01:28:38 pm »
Can you build radiant the classic way (using C::B)?
No, same errors. May be this is due to some missing parameters? I'm quite sure when I installed C::B the first time, there have been some instructions to add/correct some values regarding compiler, linker, ...
Or does your script all of this automatically?

Quote
Do you still have the log file?
If so please zip it and upload
No, but I'll do so right now. :)
BTW, during map compilation there's always "0 maps to go...?
« Last Edit: December 22, 2009, 01:46:20 pm by Borsti67 »

Offline Muton

  • Sergeant
  • *****
  • Posts: 496
    • View Profile
Re: All in one win32 build script
« Reply #38 on: December 22, 2009, 08:21:53 pm »
> BTW, during map compilation there's always "0 maps to go...?
Activate the clean checkbox

> May be this is due to some missing parameters? I'm quite sure when I installed C::B the first time, there have been some instructions to add/correct some values regarding compiler, linker, ...
> Or does your script all of this automatically?

The script does it all
Tested this on a new setup

Just done a build as you did debug
no problem (used mattn's last c::b)
http://mattn.ninex.info/download/codeblocks.zip


Delete (backup) the codeblocks folder in your %appdata%
and rerun the script
If you still have a problem check
the c::b setttings
http://ufoai.ninex.info/wiki/index.php/Code::Blocks

If you have done this delete the files from c:\windows\system32
copy the dynamic libraries (*.dll) from contrib\dlls\ to the UFO:AI root dir, or into a directory in your path (e.g. c:\windows\system32).
and do this
Or add the contrib\dlls directory to your path. (btw my script will do this [not generally, only for the buildenvironment])

This is not needed
You may also need to add the c:\development\codeblocks\MinGW\libexec\gcc\mingw32\4.4.0 directory to your path for the compiler to work


=============
You can work arround for the moment if you select small and not full

Offline Borsti67

  • Squad Leader
  • ****
  • Posts: 164
    • View Profile
Re: All in one win32 build script
« Reply #39 on: December 23, 2009, 05:33:16 pm »
> BTW, during map compilation there's always "0 maps to go...?
Activate the clean checkbox
I don't want to recompile if not necessary. ;)
The maps names run through in the script's window anyway, it's just the counter staying on 0 (some kind of cosmetics? ;)).

Quote
Delete (backup) the codeblocks folder in your %appdata%
and rerun the script
huh? When I remove C::B the script won't run, since it doesn't download it (unlike the source)...   ???

Quote
If you still have a problem check the c::b setttings
http://ufoai.ninex.info/wiki/index.php/Code::Blocks

Ah, this is what I meant. Of course all those paths were missing, I added them again.
Unfortunately it made no difference.
What makes me wonder: It's an error within "libstdc++" from MinGW, not in libbrushexport, no? May be another missing (internal) path information?

Quote
You can work arround for the moment if you select small and not full
Indeed. OTOH, I get this ~600MB-ZIP, which isn't needed for gameplay.  8) BTW, when "no NSIS" is checked, is processing of hardlinks really necessary?

May be you can change the options this way:
  • ufo2map optimize (as is)
  • ufoai optimize (only "debug" and "P3")
  • installer
    • [X] Build NSIS (default checked, if possible: grey out following choices when unchecked)
    • ( ) small
    • (.) full

Just an idea...

Offline Muton

  • Sergeant
  • *****
  • Posts: 496
    • View Profile
Re: All in one win32 build script
« Reply #40 on: December 23, 2009, 06:06:53 pm »
> huh? When I remove C::B the script won't run, since it doesn't download it (unlike the source)...

At %appdata%\codeblocks only the conf files are stored
if you remove them C::B will build up a new conf from scratch
Maybe thre is a error in your conf ???

If this doesnt help try to update your C::B ming environment

> The maps names run through in the script's window anyway, it's just the counter staying on 0 (some kind of cosmetics? ).
Thats ok, just to be shure everything is in place

> libstdc++
is part of gcc

> Just an idea...
yes i realy should add a bunch off checkboxes "update source" "build maps" "build installer" ....


During resaerch i've found this http://ufoai.ninex.info/forum/index.php?topic=3551.msg25913#msg25913
« Last Edit: December 23, 2009, 09:01:53 pm by Muton »

Offline Borsti67

  • Squad Leader
  • ****
  • Posts: 164
    • View Profile
Re: All in one win32 build script
« Reply #41 on: December 24, 2009, 04:26:11 pm »
> huh? When I remove C::B the script won't run, since it doesn't download it (unlike the source)...

At %appdata%\codeblocks only the conf files are stored
Sorry, I confused this with %PROGRAMFILES%

Quote
> Just an idea...
yes i realy should add a bunch off checkboxes "update source" "build maps" "build installer" ....
and eventually Radiobuttons. ;D

Quote
During resaerch i've found this http://ufoai.ninex.info/forum/index.php?topic=3551.msg25913#msg25913
YAY!
Code: [Select]
Process terminated with status 0 (0 minutes, 11 seconds)
0 errors, 0 warnings
Unfortunately it doesn't work by just adding the directory to the linker path; but copying (from 4.4.1) did it!

Offline horza

  • Cannon Fodder
  • **
  • Posts: 6
    • View Profile
Re: All in one win32 build script
« Reply #42 on: December 29, 2009, 01:18:54 pm »
This is very embarassing to admit to as I do this for a living, but my problems were down to moving to Windows7 without understanding how MS "fixed" the security model.

Just in case anyone else runs into the same thing:

  If you don't set the configure_win32 program to run as Administrator Windows7 will, without telling you, create and use an alternate set of directories under %USERAPP% somewhere which will be empty and useless. For added joy those directories will be hidden, and you can only show hidden folders on a global basis.

I only worked this out after running into the same problems with other programs that wasted many hours of my life. Needless to say my hate for Windoze and M$ is at a peak right now.

Offline Muton

  • Sergeant
  • *****
  • Posts: 496
    • View Profile
Re: All in one win32 build script
« Reply #43 on: December 30, 2009, 08:04:35 pm »
UfoAI.zip


added
  • Checkbox for source update
  • Checkbox for map compilation (incl. Benchmark)
  • Selection for pk3 or 7z file creation
  • Checkbox for Translation file generation
  • Checkbox for UfoAI compilation
  • Installer checkbox incl. small installer option
  • A lot of GCC options for ufo2map and the whole UfoAI project
  • Help included (select the GUI element to view the help on the edit field)
changed
  • map and ufo2map optimization
  • ufoai optimization
bug
  • a few small bugs removed

No Admin rights need (w2k XP [dont know NT 6.x])
You need to place all files in a folder with appropriate rights for the user
Users FULL acces

Run this as Admin
Code: [Select]
cacls "C:\Program Files (x86)\my ufoai folder" /T /E /G Users:F
replace Users with the name of the group correnspondig to your language
Run this and you'll se the groupname (here Benutzer)
Code: [Select]
cacls "%ProgramFiles%"

C:\Programme VORDEFINIERT\Benutzer:R
             VORDEFINIERT\Benutzer:(OI)(CI)(IO)(Beschränkter Zugriff:)
                                               GENERIC_READ
                                               GENERIC_EXECUTE

             VORDEFINIERT\Hauptbenutzer:C
             VORDEFINIERT\Hauptbenutzer:(OI)(CI)(IO)C
             VORDEFINIERT\Administratoren:F
             VORDEFINIERT\Administratoren:(OI)(CI)(IO)F
             NT-AUTORITÄT\SYSTEM:F
             NT-AUTORITÄT\SYSTEM:(OI)(CI)(IO)F
             VORDEFINIERT\Administratoren:F
             ERSTELLER-BESITZER:(OI)(CI)(IO)F

Offline Borsti67

  • Squad Leader
  • ****
  • Posts: 164
    • View Profile
Re: All in one win32 build script
« Reply #44 on: December 31, 2009, 07:54:23 pm »
Hey Muton,

now this looks VERY promising! Great work!

Unfortunately after updating the script runs into an error:
Code: [Select]
Run: "C:\Programme\Codeblocks\codeblocks.exe" --rebuild --target=windows "C:\Programme\Spiele\ufoai-2.3_dev\build\projects\ufo2map.mod.cbp"
at: C:\Programme\Spiele\ufoai-2.3_dev\contrib\scripts
-------------- Clean: windows in ufo2map ---------------
-------------- Build: windows in ufo2map ---------------
Compiling: ..\..\src\common\files.c
mingw32-gcc.exe: unknown: No such file or directory
Process terminated with status 1 (0 minutes, 6 seconds)
does this mean, gcc was not found, or is the file missing (I can't confirm either)?