Thread: NSIS v2.51
View Single Post
Old 16th April 2016, 16:47   #4
kmoyse
Junior Member
 
Join Date: Apr 2016
Posts: 2
Build NSIS on Linux ubuntu issue

Hello,

I need to be able to generate a Windows executable at the end of a build process that is performed ona linux Ubuntu box. So i tried to compile a NSIS version on that linux box. But I meet the following issue :

kmoyse@terbium:~/opt/nsis-2.51-src$ uname -a
Linux terbium 3.2.0-101-generic #141-Ubuntu SMP Thu Mar 10 21:43:24 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
kmoyse@terbium:~/opt/nsis-2.51-src$ scons --version
SCons by Steven Knight et al.:
script: v2.1.0.r5357[MODIFIED], 2011/09/09 21:31:03, by bdeegan on ubuntu
engine: v2.1.0.r5357[MODIFIED], 2011/09/09 21:31:03, by bdeegan on ubuntu
engine path: ['/usr/lib/scons/SCons']
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
kmoyse@terbium:~/opt/nsis-2.51-src$ python --version
Python 2.7.3


kmoyse@terbium:~/opt/nsis-2.51-src$ scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA=no PREFIX=/home/kmoyse/opt/nsis-2.51 install-compiler
scons: Reading SConscript files ...
Mkdir("build/release/config")
Delete("nsis-16-Apr-2016.cvs")
Delete(".instdist")
Delete(".test")
Using GNU tools configuration
Checking for compiler flag -m32... (cached) yes
Checking for linker flag -m32... (cached) no
<snip>
Checking for C library dl... (cached) no
Checking for C library gdi32... (cached) no
Checking for C library iconv... (cached) no
Checking for C library pthread... (cached) no
Checking for C library user32... (cached) no
Checking for C++ library cppunit... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/release/makensis/build.o -c -Wno-non-virtual-dtor -Wall -O2 -m32 -DNSISCALL=__attribute__((__stdcall__)) -D_WIN32_IE=0x0500 -Ibuild/release/config Source/build.cpp
sh: 1: Syntax error: "(" unexpected
scons: *** [build/release/makensis/build.o] Error 2
scons: building terminated because of errors.

I think the issue come from the g++command parameter -DNSISCALL=__attribute__((__stdcall__)) which would work better if there were quotes, like : -DNSISCALL="__attribute__((__stdcall__))"...

How Can I workaround this ?

Thanks
Kevin
kmoyse is offline   Reply With Quote