Archive: Installing NSIS in FreeBSD


Installing NSIS in FreeBSD
Hello all, I just joined this group and was recently employed to design an online application that will automatically package a Windows EXE with a text file that is generated dynamically (i.e. on-the-fly).

I think that NSIS fits the bill quite nicely! We are using a "headless" FreeBSD server with Python v2.4 and SCons v0.96.92 installed. I downloaded the latest NSIS-2.16-src.tar.bz2 version from sourceforge.net/projects/nsis/ and extracted to my home directory in nsis-2.16-src

I am getting errors when trying to build using these parameters:

root@paulzimm# cd nsis-2.16-src/
root@paulzimm# scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA_PATH=no

scons: Reading SConscript files ...
Delete("nsis-11-May-2006.cvs")
Delete(".instdist")
Delete(".test")
Using GNU tools configuration
Checking for linker flag $MAP_FLAG... (cached) yes
Checking for linker flag $MAP_FLAG... (cached) yes
Checking for memcpy requirement... (cached) yes
Checking for memset requirement... (cached) yes
Checking for linker flag -pthread... (cached) yes
Checking for __BIG_ENDIAN__... (cached) no
Checking for main() in C library gdi32... (cached) no
Checking for main() in C library user32... (cached) no
Checking for main() in C library pthread... (cached) no
Checking for main() in C library stdc++... (cached) yes
Checking for main() in C library iconv... (cached) no
Checking for main() in C library dl... (cached) no
Checking for main() in C library gdi32... (cached) no
Checking for main() in C library iconv... (cached) no
Checking for main() in C library user32... (cached) no
Checking for main() in C++ library cppunit... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
gcc -o build/release/halibut/biblio.o -c Docs/src/bin/halibut/biblio.c
In file included from Docs/src/bin/halibut/biblio.c:6:
Docs/src/bin/halibut/halibut.h:167: syntax error before `>'
scons: *** [build/release/halibut/biblio.o] Error 1
scons: building terminated because of errors.

I tried different SCons options (always using "scons -c" to clear out previous attempts) but I am getting errors for either one of these libraries:

1. iconv
2. biblio
3. advsplash

Am I missing something? After repeated attempts I did install the "MinGW" cross-compiler (from the FreeBSD ports collection) but I am still getting various errors. Any help will be MUCH appreciated!

- Paul


Please help - did I not install something I needed to?


That looks like a bug in the program that is used to build the docs. Please report it to the tracker. You also might want to try skipping building the docs.


Which FreeBSD version are you using? To keep you positive in the mean time: I succeded in building NSIS of FreeBSD 6.


I am using FreeBSD 4.11 but I am willing to try installing NSIS on a newer version of BSD because this application is critical. How do I keep SCons from building the docs? I found very little documention about installing NSIS on a POSIX compliant system. Is there better documentation than this for Linux/BSD systems?

http://nsis.sourceforge.net/Docs/AppendixG.html


Looks like to turn off building the docs, you will have to edit the SConstruct file, search for the "Documentation" section and comment out the whole section.

If you have Debian GNU/Linux (or Ubuntu), you can just apt-get it. I don't think anyone has made a backport to the Debian sarge release yet though.


Thanks, I will try commenting out the "Documentation" part on my BSD system. I also play with Ubuntu, are these the commands I would use?

mkdir nsis-build
cd nsis-build
wget http://heanet.dl.sourceforge.net/sou...6.90-1_all.deb
dpkg -i scons_0.96.90-1_all.deb
echo "deb-src http://mentors.debian.net/debian experimental main contrib non-free" >> /etc/apt/sources.list
apt-get update
apt-get build-dep nsis
apt-get -b source nsis
dpkg -i nsis*.deb

Thanks again for all the help!


Yeah, except the debian version is patched to use the older scons, so the scons from ubuntu should do fine. A newer scons reached unstable recently, so I might need to drop that patch in the next release. I'll keep it available in the source package though for ubuntu users.

Also, you may as well just use the debian ftp mirror network instead of mentors.debian.net for downloading the source.

You might also want to try just installing the debian deb directly:

http://packages.debian.org/unstable/devel/nsis


FYI: I've take up this issue in private email with paul. As soon as it is all done screenshots and a log of problems encountered will be created in the wiki.


Hmm, looks like this email got lost somewhere, I haven't seen it yet.


Well Paps, "private" means in this context only I can read it... :))


Wooops, I thought you meant me, my name is also Paul.


Too many people named 'Paul' around here :o)

I'm still working on my issue and will let you know when I get it working on FreeBSD 6.1

THANKS FOR ALL THE HELP!


Sounds to me like an old version of GCC which doesn't support extending pre-processor lines with a backslash at the of line. Do other problems pop-up when you join those lines together or is this the only one? What happens in AdvSplash?


Hi Paul's ;),

Sourceforge.net CVS is up and running again so I did a clean v2.16 checkout and make a new FreeBSD build this weekend.

I could always succeed nowadays. If so I also will see if I can make an OSX PowerPC build too, just for fun.


You need latest CVS version for OS X PPC or makensis will crash.


Thanks, I know. I ment v2.16 of the CVS as of 20060518


I have same problem. FreeBSD 6 GCC 3.4.4

# scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA_PATH=no
scons: Reading SConscript files ...
Delete("nsis-11-Jun-2008.cvs")
Delete(".instdist")
Delete(".test")
Using GNU tools configuration
Checking for compiler flag -m32... (cached) yes
Checking for linker flag -m32... (cached) yes
Checking for linker flag $MAP_FLAG... (cached) yes
Checking for linker flag -s... (cached) yes
Checking for linker flag $MAP_FLAG... (cached) yes
Checking for linker flag -s... (cached) yes
Checking for memcpy requirement... (cached) yes
Checking for memset requirement... (cached) yes
Checking for linker flag -pthread... (cached) yes
Checking for __BIG_ENDIAN__... (cached) no
Checking for C library gdi32... (cached) no
Checking for C library user32... (cached) no
Checking for C library pthread... (cached) yes
Checking for C library iconv... (cached) no
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) yes
Checking for C library user32... (cached) no
Checking for C++ library cppunit... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
gcc -o build/release/halibut/biblio.o -c Docs/src/bin/halibut/biblio.c
In file included from Docs/src/bin/halibut/halibut.h:4,
from Docs/src/bin/halibut/biblio.c:6:
/usr/include/stdio.h:454: error: syntax error before "fgetwc"
/usr/include/stdio.h:455: error: syntax error before "fputwc"
/usr/include/stdio.h:456: error: syntax error before "ungetwc"
/usr/include/stdio.h:504: error: syntax error before "_fgetwchar"
/usr/include/stdio.h:505: error: syntax error before "_fputwchar"
/usr/include/stdio.h:510: error: syntax error before "fgetwchar"
/usr/include/stdio.h:511: error: syntax error before "fputwchar"
In file included from /usr/include/wchar.h:45,
from Docs/src/bin/halibut/halibut.h:5,
from Docs/src/bin/halibut/biblio.c:6:
/usr/include/wctype.h:71: error: syntax error before "wctype_t"
/usr/include/wctype.h:72: error: syntax error before "wctype_t"
/usr/include/wctype.h:90: error: syntax error before "towlower"
/usr/include/wctype.h:91: error: syntax error before "towupper"
/usr/include/wctype.h:157: error: syntax error before "towctrans"
/usr/include/wctype.h:157: error: syntax error before "wctrans_t"
In file included from Docs/src/bin/halibut/halibut.h:5,
from Docs/src/bin/halibut/biblio.c:6:
/usr/include/wchar.h:276: error: syntax error before "btowc"
In file included from Docs/src/bin/halibut/halibut.h:6,
from Docs/src/bin/halibut/biblio.c:6:
/usr/include/time.h:187: error: syntax error before "char"
scons: *** [build/release/halibut/biblio.o] Error 1
scons: building terminated because of errors.