Wesnoth 1.8.0 error in SConstruct line 113 <module>

Get help with compiling or installing the game, and discuss announcements of new official releases.

Moderator: Forum Moderators

Post Reply
Tharicsin
Posts: 3
Joined: March 23rd, 2009, 11:00 pm

Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by Tharicsin »

Thought I'd take this game for a spin again, install from source since my current OS (Fedora 12 x64) doesn't have it in repositories yet. Since the last version I used didn't have scons I've pretty much been flying by the seat of my pants. The build took me straight into a two-layered brick wall:

1) Autotools complained that I lacked a boost-devel fitting the version specified, yet the correct version is installed as a quick look at my package manager will attest,
2) Upon switching gears and trying to fix things with SCons, the terminal spat this out:
[kylereese@TechComm wesnoth-1.8]$ scons build=wesnoth
scons: Reading SConscript files ...
Saved options: default_targets = 'test,wesnoth,wesnothd'
Building Wesnoth version 1.8.0

scons: *** Invalid value for option build: wesnoth
File "/home/kylereese/Download/wesnoth-1.8/SConstruct", line 113, in <module>
Am I doing something wrong or is this a bug? I don't know any reason why "wesnoth" should be an invalid value, much less cause a problem in SConstruct.
User avatar
loonycyborg
Windows Packager
Posts: 295
Joined: April 1st, 2008, 4:45 pm
Location: Russia/Moscow

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by loonycyborg »

That should be 'scons wesnoth'.
"meh." - zookeeper
booner
Posts: 22
Joined: September 5th, 2008, 3:53 am
Location: Nova Scotia, Canada

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by booner »

loonycyborg wrote:That should be 'scons wesnoth'.
Running scons wesnoth on the 1.8 package under Linux Fedora 11 produced the following:

[root@localhost wesnoth-1.8]# scons wesnoth
scons: Reading SConscript files ...
Saved options: default_targets = 'test,wesnoth,wesnothd'
Building Wesnoth version 1.8.0
Checking for C header file poll.h... (cached) yes
Checking for C header file sys/poll.h... (cached) yes
Checking for C header file sys/select.h... (cached) yes
Checking for C header file sys/sendfile.h... (cached) yes
Checking for C function sendfile()... (cached) yes
Checking for C library m... (cached) yes
Checking for C function round()... (cached) yes
Checking whether C++ compiler works (g++ version >= 3.3 required)... (cached) yes
Checking for Gettext's libintl... (cached) libc built-in
Checking for Boost iostreams library version >= 1.34.1... (cached) yes
Checking for gzip support in Boost Iostreams... (cached) yes
Checking for Boost smart_ptr library... (cached) yes
Checking for Simple DirectMedia Layer library version >= 1.2.7... (cached) yes
Checking for SDL_net library... (cached) no
Base prerequisites are not met.
Client prerequisites are not met. wesnoth, cutter and exploder cannot be built.
Unit tests are disabled because their prerequisites are not met.
If any config checks fail, look in build/config.log for details
If a check fails spuriously due to caching, use --config=force to force its rerun
scons: done reading SConscript files.
scons: Building targets ...
error_action(["wesnoth"], [])
scons: *** [wesnoth] Target disabled because its prerequisites are not met
scons: building terminated because of errors.


Thinking that some part of SDL_net may be missing an install was attempted:

[root@localhost cmake]# yum install SDL_net
Loaded plugins: dellsysidplugin2, refresh-packagekit
Setting up Install Process
Package SDL_net-1.2.7-5.fc11.i586 already installed and latest version
Nothing to do

Last thought was to check things running scons wesnoth --config=force which produced the same result as above.

If anyone has had more successful results under Fedora any pointers would be appreciated.

Thanks,

- Booner
User avatar
ivanovic
Lord of Translations
Posts: 1149
Joined: September 28th, 2004, 10:10 pm
Location: Germany

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by ivanovic »

Are you sure that you have the development package of SDL_net installed? Since yeah, such a 'no' does basically say that a required component could not be found.
Tharicsin
Posts: 3
Joined: March 23rd, 2009, 11:00 pm

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by Tharicsin »

loonycyborg wrote:That should be 'scons wesnoth'.
That's weird, the INSTALL file said the game and campaign server were supposed to be built with:

Code: Select all

scons build=debug wesnoth campaignd
Oh well. Running "scons wesnoth" fixed it for me. Thanks.
booner
Posts: 22
Joined: September 5th, 2008, 3:53 am
Location: Nova Scotia, Canada

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by booner »

ivanovic wrote:Are you sure that you have the development package of SDL_net installed? Since yeah, such a 'no'
does basically say that a required component could not be found.
Thanks for your observation ivanovic! After a "Duh!" expletive I ran the following...

yum install lua-devel
yum install SDL_ttf-devel
yum install SDL_mixer-devel
yum install SDL_image-devel
yum install fribidi-devel

It was then a matter of running scons wesnoth again and sitting back for about 3 hours! :shock:

(Running on pre-millenium tech here) :annoyed:

However wesnoth 1.8 is now running on my Fedora 11 system.

I had some problems until I fixed some permissions due to having compiled wesnoth as root. Once they were fixed things were error free and completed my first match on 1.8.

Thanks again for your wake up observation, ivanovic!
Rigved
Posts: 3
Joined: April 9th, 2010, 11:02 am
Location: Mumbai, Maharashtra, India

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by Rigved »

Hi,
I am a Windows user but I figured it would be easier to compile wesnoth under Cygwin.

So, after following the instructions carefully, I got the following error:

$ scons
scons: Reading SConscript files ...
Saved options: default_targets = 'test,wesnoth,wesnothd'
Building Wesnoth version 1.8.0
Checking for C library m... (cached) yes
Checking for C function round()... (cached) yes
Checking whether C++ compiler works (g++ version >= 3.3 required)... (cached) ye
s
Checking for Gettext's libintl... (cached) external
cygwin warning:
MS-DOS style path detected: C:\Boost/include/boost/config.hpp
Preferred POSIX equivalent is: /cygdrive/c/Boost/include/boost/config.hpp
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.h ... -pathnames
Checking for Boost iostreams library version >= 1.34.1... (cached) no
Base prerequisites are not met.
Client prerequisites are not met. wesnoth, cutter and exploder cannot be built.
Unit tests are disabled because their prerequisites are not met.
If any config checks fail, look in build/config.log for details
If a check fails spuriously due to caching, use --config=force to force its reru
n
scons: done reading SConscript files.
scons: Building targets ...
error_action(["wesnoth"], [])
scons: *** [wesnoth] Target disabled because its prerequisites are not met
scons: building terminated because of errors.

I did a little bit of reading and found out that the latest Cygwin ships with boost libraries 1.33. So, I followed the instructions on the official boost page to install the latest boost libraries (which also required building the iostream libraries). Then I copied the boost folder to my ./usr/lib and ./usr/include directories. I still got the same error.

I got the error even when i tried
scons wesnoth
and
scons wesnoth -configure=force

Am I doing something wrong in the installtion/compiling steps?

Can anyone please help me! Thanx in advance.

PS: I have attached the config.txt file.
Attachments
config.log
(5.68 KiB) Downloaded 350 times
User avatar
Nobun
Code Contributor
Posts: 129
Joined: May 4th, 2009, 9:28 pm
Location: Italy

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by Nobun »

uhm... I don't know what happens under cygwin but I am trying to compile wesnoth under windows too (in my case using Mingw with scons).

I can say two things:

1) Boost must be builded every time you use a new compiler, or boost iostream not recognized (in my case was so). So try to rebuild boost again using bjam.
I suggest to build a version GREATER than 1.34.1
This becouse 1.34.1 is not good for boost regex (1.35.0 or greater required for boost regex)

In case you use lastest release of boost you require to change sources (see my topic "trying to build wesnoth with Mingw/scons")

2) The problem under Sconstruct is also due to pkgconfig. I don't know if you have a message that sais that it is unable to find pkg-config as an executable or script. In that case I suggest to go here:
http://www.gtk.org/download-windows.html
and download "binary" pkg-config (it is an Exe inside)
also remember... mor or less all packages in the first part of the page are required for pango (little hard to set). You need to download: pango (dev), cairo (dev), glib (dev). I don't remember if you need also ATK and GTK (also becouse I have Gtk runtime installed in my system so I cannot give you a detailed answer to that question).

Let me know if my reply was helpful
Rigved
Posts: 3
Joined: April 9th, 2010, 11:02 am
Location: Mumbai, Maharashtra, India

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by Rigved »

I do have the latest Boost libraries (1.42). I have put "boost_1_42_0" under /lib (where Cygwin had earlier placed the older boost libraries) and under usr/include I have the boost folder (as it was earlier with boost 1.33). Also, I followed all the instructions to build the boost libraries (like the iostream libraries).

I checked your article. I don't have any of those problems (as of yet). I have the the 4.x line of gcc, g++ and gdb.

Well, I do not have any error relating to pkg-config. I did read that it is required for the run-time environment of wesnoth-1.8.

The problem it seems is that even though I have Boost 1.42, I'm still getting an error saying that I have < boost 1.34; so obviously this has been cached somewhere, but where??? Is there some way to update this to reflect the latest changes which I have made?

@Nobun: Thanx for your reply, I will download gtk and try again.
User avatar
loonycyborg
Windows Packager
Posts: 295
Joined: April 1st, 2008, 4:45 pm
Location: Russia/Moscow

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by loonycyborg »

Run scons with --config=force, not -configure=force and post build/config.log if it still doesn't work.
"meh." - zookeeper
Rigved
Posts: 3
Joined: April 9th, 2010, 11:02 am
Location: Mumbai, Maharashtra, India

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by Rigved »

@loonycyborg: Thanx

Duh...I see the mix-up now. I ran it with scons --config=force. I started cheking everything again (as it should but wasn't doing earlier due to wrong options at the command-line), but I am still getting the same error.

I have attached the config.log file.
Attachments
config.log
(3.58 KiB) Downloaded 372 times
User avatar
loonycyborg
Windows Packager
Posts: 295
Joined: April 1st, 2008, 4:45 pm
Location: Russia/Moscow

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by loonycyborg »

It looks like the linker can't find -lboost_iostreams when compiling a test program. How are your boost libraries named? Do they have suffixes(e.g. libboost_iostreams-gcc43-mt-1_42.so)? Are they located in path where linker looks for them? Either rename them or pass boost_suffix=-gcc43-mt-1_42 or whatever suffix there is.
"meh." - zookeeper
User avatar
loonycyborg
Windows Packager
Posts: 295
Joined: April 1st, 2008, 4:45 pm
Location: Russia/Moscow

Re: Wesnoth 1.8.0 error in SConstruct line 113 <module>

Post by loonycyborg »

I've assembled all dependencies needed to compile on windows into an archive:
https://sourceforge.net/projects/wesnot ... p/download
It's used like this: unpack it somewhere and do 'scons prefix=fullpath/to/SDK gtkdir=fullpath/to/SDK luadir=fullpath/to/SDK'
It does contain boost too but boost libs may not work depending on gcc version and whether gcc uses sjlj or dw2 exception handling.
"meh." - zookeeper
Post Reply