Statistics | We have 1675 registered users The newest registered user is dejo123
Our users have posted a total of 30851 messages in 1411 subjects
|
Who is online? | In total there are 5 users online :: 0 Registered, 0 Hidden and 5 Guests None Most users ever online was 443 on Sun Mar 17, 2013 5:41 pm |
Latest topics | » THIS FORUM IS NOW OBSOLETE by NickTheNick Sat Sep 26, 2015 10:26 pm
» To all the people who come here looking for thrive. by NickTheNick Sat Sep 26, 2015 10:22 pm
» Build Error Code::Blocks / CMake by crovea Tue Jul 28, 2015 5:28 pm
» Hello! I can translate in japanese by tjwhale Thu Jul 02, 2015 7:23 pm
» On Leave (Offline thread) by NickTheNick Wed Jul 01, 2015 12:20 am
» Devblog #14: A Brave New Forum by NickTheNick Mon Jun 29, 2015 4:49 am
» Application for Programmer by crovea Fri Jun 26, 2015 11:14 am
» Re-Reapplication by The Creator Thu Jun 25, 2015 10:57 pm
» Application (programming) by crovea Tue Jun 23, 2015 8:00 am
» Achieving Sapience by MitochondriaBox Sun Jun 21, 2015 7:03 pm
» Microbe Stage GDD by tjwhale Sat Jun 20, 2015 3:44 pm
» Application for Programmer/ Theorist by tjwhale Wed Jun 17, 2015 9:56 am
» Application for a 3D Modeler. by Kaiju4u Wed Jun 10, 2015 11:16 am
» Presentation by Othithu Tue Jun 02, 2015 10:38 am
» Application of Sorts by crovea Sun May 31, 2015 5:06 pm
» want to contribute by Renzope Sun May 31, 2015 12:58 pm
» Music List Thread (Post New Themes Here) by Oliveriver Thu May 28, 2015 1:06 pm
» Application: English-Spanish translator by Renzope Tue May 26, 2015 1:53 pm
» Want to be promoter or project manager by TheBudderBros Sun May 24, 2015 9:00 pm
» A new round of Forum Revamps! by Oliveriver Wed May 20, 2015 11:32 am
|
| | Build system discussion | |
|
+4~sciocont Daniferrito Nimbal Seregon 8 posters | |
Author | Message |
---|
Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Thu Apr 18, 2013 8:20 am | |
| My fault, it is alredy there, i didnt saw it. | |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Wed May 08, 2013 3:59 pm | |
| Due to a bug in either gcc 4.8 or the luabind library, I need to downgrade the build system to gcc 4.7. The precompiled Ogre SDK available to download is incompatible with the usable mingw builds I found, so we'll need to build Ogre from source. I actually like this prospect because it allows us more control.
It also opens the option to compile for 64 bit Windows (the precompiled Ogre SDK was 32 bits only). In principle, it's possible to support both 32 and 64 bit versions, but they'd need to be separate build chains. I can add an option for that later, if necessary.
The question is, does anyone here still use a 32 bit system? Do we even want to support such systems? | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Wed May 08, 2013 4:34 pm | |
| I'm ok going 64 bits. Any computer built in the last five years i've seen uses it alredy, and taking into acount the scope of the game, older computer wont be able to run it too well.
I've looked at some statistics, and about 3/4 of all computer users use windows 64 bits. However, win32 users greatly outnumber all the linux users together, and we are still suporting linux.
My vote goes for compiling it for 32 or 64 bits for now (one of the other, althrough 32 is more compatible), but eventually change the script to work for both if we feel we need to. Unless i'm missing something coding shouldn't change, so we dont have to worry too much about it. | |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Sat May 11, 2013 10:54 am | |
| I just pushed the latest version to the Lua branch. As I already mentioned in another thread, generating 64 bit executables proved to be too much trouble. The main changes to the build system:
- Downgrade from gcc 4.8 to gcc 4.7 due to incompatibilities with luabind, as described here
- Upgraded from Boost 1.51 to Boost 1.53
- Ogre is now compiled from source
I recommend deleting your old build system directory. | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Sat May 11, 2013 11:01 am | |
| I downloaded it a few hours ago, and when i checked gcc to see the version, it still said 4.8. I made sure do delete all previous mingw folders and ran the script on C:/MinGW.
I see you just pushed an update 5 mins ago, but you only changed the readme.txt, so i dont think the script should change its behaviour. Anyway, i'm runing it again to see if it still installs gcc 4.8.
BTW, i tried compiling and it complained about luabind. I supose that is the problem you are having with gcc 4.8? | |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Sat May 11, 2013 11:10 am | |
| The change to the readme was an afterthought. The actual changes are in the commit(s) before that.
And yes, luabind was the culprit (although it might very well be a compiler bug with gcc 4.8, I'll have to investigate further). But it could be that the error you saw stems from another small issue I forgot to mention. I've added git submodules (i.e. references to other git repositories) to the googletest framework and luabind. Those submodules will have to be initialized before they contain anything. If you are using TortoiseGit, you can do that with "Submodule Update" in the right-click context menu. Make sure that "init" is checked in the dialog that pops up and click ok.
If you are using a command line git client, the command for initializing the submodules is "git submodule update --init". | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Sat May 11, 2013 11:22 am | |
| Hmmm, i was only downloading the whole folder as .zip. Not any git client or anything. I'm going to look into that while the current script runs.
The script is currently working on boost, so mingw is alredy installed. I checked, and now it says the version is 4.7.3. I dont know why it was saying 4.8 before.
Actually, the error it was telling me was missing .hpp files. I checked, and they were indeed not there. | |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Sat May 11, 2013 11:26 am | |
| I just tried, and the zip generated by GitHub doesn't contain the submodules. That would definitely explain missing header files. You'll have to clone the repository, I'm afraid. | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Sat May 11, 2013 12:01 pm | |
| Ok, i downloaded git, tortoisegit, and cloned the repo with the submodules. However, the script is failing to compile OGRE. Here is the log: - Spoiler:
... Extracting ogre_src_v1-8-1\CMake\Packages Extracting ogre_src_v1-8-1\CMake Extracting ogre_src_v1-8-1
Everything is Ok
Folders: 556 Files: 9540 Size: 274161460 Compressed: 64022286 Compiling...
Directorio: C:\MinGW\temp\ogre
Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 11/05/2013 17:41 build -- Configuring OGRE 1.8.1 -- Search path: C:/MinGW/install;C:/MinGW/temp/ogre/build/Dependencies;C:/MinGW/ temp/ogre/ogre_src_v1-8-1/Dependencies;C:/MinGW/temp/ogre/build/../Dependencies; C:/MinGW/temp/ogre/ogre_src_v1-8-1/../Dependencies -- Looking for ZLIB... -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Could not locate ZLIB -- Looking for FreeImage... -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Could not locate FreeImage -- Looking for FREETYPE... -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- CMAKE_PREFIX_PATH: C:/MinGW/install;C:/MinGW/temp/ogre/build/Dependencies;C:/ MinGW/temp/ogre/ogre_src_v1-8-1/Dependencies;C:/MinGW/temp/ogre/build/../Depende ncies;C:/MinGW/temp/ogre/ogre_src_v1-8-1/../Dependencies -- CMAKE_PREFIX_PATH: C:/MinGW/install;C:/MinGW/temp/ogre/build/Dependencies;C:/ MinGW/temp/ogre/ogre_src_v1-8-1/Dependencies;C:/MinGW/temp/ogre/build/../Depende ncies;C:/MinGW/temp/ogre/ogre_src_v1-8-1/../Dependencies -- Could not locate FREETYPE -- Looking for DirectX... -- Found DirectX: C:/MinGW/i686-w64-mingw32/lib/libd3d9.a -- DX lib dir: C:/MinGW/i686-w64-mingw32/lib -- Looking for Cg... -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Could not locate Cg -- Looking for POCO... -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Could not locate POCO -- Looking for TBB... -- Could not locate TBB -- Looking for GLSL_Optimizer... -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Could not locate GLSL_Optimizer -- Looking for HLSL2GLSL... -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Could not locate HLSL2GLSL -- Looking for OIS... -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Could not locate OIS -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for Softimage... -- Could not locate Softimage -- Looking for CppUnit... -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Could not locate CppUnit CMake Error at CMake/Utils/MacroLogFeature.cmake:100 (MESSAGE):
-----------------------------------------------------------------------------
-- The following REQUIRED packages could NOT be located on your system.
-- Please install them before continuing this software installation.
-- If you are in Windows, try passing -DOGRE_DEPENDENCIES_DIR=<path to dependencies>
-----------------------------------------------------------------------------
+ freetype: Portable font engine <http://www.freetype.org>
----------------------------------------------------------------------------- Call Stack (most recent call first): CMake/Dependencies.cmake:234 (MACRO_DISPLAY_FEATURE_LOG) CMakeLists.txt:194 (include)
-- Configuring incomplete, errors occurred! mingw32-make: *** No rule to make target `install'. Stop.
| |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Sat May 11, 2013 12:06 pm | |
| Looks like the dependencies weren't installed correctly. Did you have any error messages in the step before that? | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Sat May 11, 2013 12:33 pm | |
| I ran it again and it seemed to have an error at ogre dependencies and cmake. However, it passes way too fast for me to be able to copy it. Is there a way of dumping the log into a .txt file? I dont know how to work with powershell.
If i look at the temp folder, it downloaded the .zip that contains the dependencies, but it didnt unpack them. I downloaded the .zip file manually and it ocupies exactly the same amount of bytes.
I got the log by adding
$shell = new-object -comobject wscript.shell $shell.popup("Wait",0,"",0)
at the end of the ogre dependencies script. However, it didnt fail this time. I believe it is because i unziped the downloaded package manually by rightclick>extract here. Ogre is building now.
I'll rerun the script after deleting the folders later, to see if it still gives me the error, or it just didnt want to behave temporarly. | |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Sat May 11, 2013 12:46 pm | |
| Ah, thanks for the detective work. Impatient as I was, I commented out the line where the dependencies archive was unpacked to save some time during testing and promptly forgot to comment it back in. It's fixed now. | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Sat May 11, 2013 1:05 pm | |
| Ok, got it working. It definetly does... something.
The input part doesent work too well. It seems like it doesent get that a key has been released sometimes. Either we change how it works on the lua side, or we made the other side more reliable. Can you point me where the other side is? Where the events come from. I'll see if i can make it more reliable. | |
| | | untrustedlife Regular
Posts : 252 Reputation : 19 Join date : 2013-03-26 Location : [Classified]
| Subject: Re: Build system discussion Sun May 12, 2013 8:51 pm | |
| Ok guys, I wish to start helping, do I just follow the main post like I did before or was there a change?
This is getting bad, only 2 active programmers, I cannot allow this. So I have to help.
Nimbals comment about the 'bus factor' pushed me off the edge. | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Sun May 12, 2013 11:33 pm | |
| There has been some changes on the set-up script, so you will have to delete previous instalationsof the script and run it again. If you have a clean MinGW instalation in C:/MinGW, i recomend you to move it or rename it so you can run the script in C:/MinGW (just in case). Nimbal added submodules to the git repo, so you will have to download them as well. For that, follow the instructions on this Nimbal's post: - Spoiler:
- Nimbal wrote:
- And yes, luabind was the culprit (although it might very well be a compiler bug with gcc 4.8, I'll have to investigate further). But it could be that the error you saw stems from another small issue I forgot to mention. I've added git submodules (i.e. references to other git repositories) to the googletest framework and luabind. Those submodules will have to be initialized before they contain anything. If you are using TortoiseGit, you can do that with "Submodule Update" in the right-click context menu. Make sure that "init" is checked in the dialog that pops up and click ok.
If you are using a command line git client, the command for initializing the submodules is "git submodule update --init". For now, the repo with the most updated sources is nimbal's thrive (lua branch), but i intend to merge that into the main repo. Just follow the steps in the readme, that hasn't changed. On Code::Blocks, i found out a way of runing the game from the environement while on IRC with Nimbal. To do so, right click the project>propierties>build targets>install. There, change the type from commands only to gui aplication, specify the output filename as Thrive.exe and set the execution working dir as dist\bin. That even allows you to debug from Code::Blocks (althrough i recomend you not to run it on fullscreen to do so). The documentation with doxygen is awesome, once you get it working. There is probably a better way, but i had to download doxygen, put the executable on the doc folder, edit the doxygen.cfg.in so INPUT points to ../src and run doxygen doxygen.cfg.in in the command line. Again, either there is a better way i missed or .gitignore prevented the right files from being uploaded to the repo. Edit: I just merged the pull request. There were conflicts for some files in the set-up script. I used the changes from nimbal's repo. | |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Mon May 13, 2013 2:16 am | |
| - untrustedlife wrote:
- Ok guys, I wish to start helping, do I just follow the main post like I did before or was there a change?
Great to hear that! As Dani already said, you can follow the readme.txt in the mingw_setup subfolder of the repository. If there are any problems, let me know. - Daniferrito wrote:
The documentation with doxygen is awesome, once you get it working. There is probably a better way ...
There should be a new build target named "doc". If Code::Blocks didn't pick it up, re-run CMake and make sure that DOXYGEN_EXECUTABLE is set correctly. Note that this may overwrite the changes you made to your install target. I'll see if I can add a target like "install & run", but I'm not sure this is possible in a clean way. Oh, and you probably have to revert the changes you made to doxygen.cfg.in. The paths you edited will be filled in by CMake. | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Mon May 13, 2013 6:05 am | |
| That makes quite a lot of sense. I'm on my phone right now, but i dont see any option for doxigex executable, only doc output dir.
When i get home, i'll fo a full reinstalation to see if i can set up doxygen on cmake. That would be this afternoon. | |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Mon May 13, 2013 6:08 am | |
| Try and check the "Advanced" checkbox to see DOXYGEN_EXECUTABLE. | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Mon May 13, 2013 6:29 am | |
| It is showing under advanced. Ill try it when i get home. | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 29 Location : Spain
| Subject: Re: Build system discussion Tue May 14, 2013 7:53 am | |
| We solved this on the IRL, just for anybody wondering.
I just pushed into the repo, inside the branch Physics, the scripts to add the Physics engine bullet and the sound library irrKlang into Thrive. They are still WIP, but i'm working on it. All it does for now is download the libraries and make them avaible for the game, I still have to implement them into the engine.
However, there is something i've done that could be interesting. I seted it up so on startup it will load Thrive's main theme and play it on a loop. At least to show off that it is working. I'm currently uploading it, i'll post it in about 30 mins. | |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Tue May 14, 2013 7:58 am | |
| I guess the sound systems can be put into the OgreEngine class. That way, sound and graphics should always fit reasonably well together (no delays due to unlucky thread scheduling) and I don't think the sound engine is heavy-weight enough to warrant its own dedicated thread.
(This discussion may be better in the Engine Architecture thread, but you mentioned it here) | |
| | | crovea Programming Team lead
Posts : 310 Reputation : 59 Join date : 2013-10-07 Age : 33 Location : Denmark
| Subject: Build problems! Mon Oct 07, 2013 9:33 am | |
| Hey new programmer interrested in getting involved here! I forked the prototype repo and have been following the readme in the mingw_setup directory but am having some trouble at step 6.6 I noticed RodGame had a very similar problem to mine on page 2 of this post (although mine does not complain about the two variables his did) but couldn't find any solution to the specific problem. My cmake gui variables window have the following variables: - Code:
-
CMAKE_BUILD_TYPE CMAKE_CODEBLOCKS_EXECUTABLE CMAKE_CODEBLOCKS_EXECUTABLE-NOTFOUND CMAKE_INSTALL_PREFIX C:/Program Files (x86)/Thrive OGRE_SDK B:/MinGW/OgreSDK CMAKE_TOOLCHAIN_FILE B:/MinGW/cmake/toolchain.cmake The codeblocks executable seem to have some trouble, i tried specifying my codeblocks.exe, but after clicking configure it states its missing again. As you can see, i use my B drive for most things (altough the i have the repo itself on my D drive), and i never use my C drive, so im not sure why it's using my cdrive fro the install prefix. I only have very little experience with cmake WinGW and codeblocks so besides the fruitless search i did for similar problems i'm not sure how to fix these errors atm. Hoping one of you guys could make the process a little more pain free! The cmake error: - Code:
-
The C compiler identification is GNU 4.7.3 The CXX compiler identification is GNU 4.7.3 Check for working C compiler: B:/MinGW/bin/gcc.exe CMake Error: Generator: execution of make failed. Make command was: /MinGW/bin/mingw32-make.exe "cmTryCompileExec4173182653/fast" Check for working C compiler: B:/MinGW/bin/gcc.exe -- broken CMake Error at B:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 (message): The C compiler "B:/MinGW/bin/gcc.exe" is not able to compile a simple test program.
It fails with the following output:
Change Dir: D:/Users/Documents/git/Thrive/build/CMakeFiles/CMakeTmp
Run Build Command:/MinGW/bin/mingw32-make.exe "cmTryCompileExec4173182653/fast"
The system cannot find the file specified
Generator: execution of make failed. Make command was: /MinGW/bin/mingw32-make.exe "cmTryCompileExec4173182653/fast"
CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:9 (project)
Configuring incomplete, errors occurred! EDIT: I resolved my problem by rerunning the setup script with a new MinGW directly as C:\MinGW Also found this other thread that may be more appropriate for troubleshooting: https://thrivegame.canadaboard.net/t999-development-troubleshooting#27758 | |
| | | Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 39 Location : Ratingen, Germany
| Subject: Re: Build system discussion Mon Oct 07, 2013 2:20 pm | |
| Great to hear you managed to solve this particular problem. Just out of curiosity, did you try manually setting the CMAKE_MAKE_PROGRAM to the file bin/mingw32-make.exe inside the mingw directory? I could have sworn I put a note about that in the readme.txt for people that install mingw to non-standard directories, but I either hallucinated that or took it out for a reason I can't remember right now. | |
| | | crovea Programming Team lead
Posts : 310 Reputation : 59 Join date : 2013-10-07 Age : 33 Location : Denmark
| Subject: Re: Build system discussion Wed Oct 16, 2013 7:02 am | |
| Yes setting that variable manually does resolve the issue :)just tried building on my laptop today. I'll add a pull request with the information about this issue to the readme (it wasn't there, just a recommendation for using the C drive). I will also update the link in the top of the readme to be the other build problems thread, which seems more appropriate! EDIT: Actually more errors occour, but i think i've become familiar enough with the build system that i can figure it out and add it to the readme | |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 28 Location : hanging from the chandelier
| Subject: Re: Build system discussion Fri May 16, 2014 10:50 pm | |
| A quick scan though the thread reveals that nobody's brought up Travis for continuous integration. Travis-CI is integrated with github, free for open-source projects, and very easy to set up -- all we need are some ubuntu dependency-installation and build scripts. Since I am conveniently-enough busy trying to get Thrive to build on my own ubuntu box, I could cobble together a build script once I get it working, and then we can get thrive on travis.
Oh, what's more, travis can do continuous deployment too, so if we can figure something out with a download server (github releases?), we'll have a completely automated release system. | |
| | | Sponsored content
| Subject: Re: Build system discussion | |
| |
| | | | Build system discussion | |
|
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| |