The main problem imho is the missing windows* headers. NSIS is originally a windows program.. but it's supposed to exist under linux. (and it's in portage tree). >>> Emerging (2 of 2) dev-util/nsis-2.24 to / >>> Downloading 'http://gentoo.tiscali.nl/distfiles/nsis-2.24-src.tar.bz2' --15:19:42-- http://gentoo.tiscali.nl/distfiles/nsis-2.24-src.tar.bz2 => `/usr/portage/distfiles/nsis-2.24-src.tar.bz2' Resolving gentoo.tiscali.nl... 195.241.77.98 Connecting to gentoo.tiscali.nl|195.241.77.98|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1,613,342 (1.5M) [application/x-tar] 100%[=====================================================================>] 1,613,342 440.82K/s ETA 00:00 15:19:46 (439.36 KB/s) - `/usr/portage/distfiles/nsis-2.24-src.tar.bz2' saved [1613342/1613342] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking nsis-2.24-src.tar.bz2 ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking nsis-2.24-src.tar.bz2 to /tmp/portage/dev-util/nsis-2.24/work * Applying nsis-2.24-no-strict-aliasing.patch ... [ ok ] >>> Source unpacked. >>> Compiling source in /tmp/portage/dev-util/nsis-2.24/work/nsis-2.24-src ... scons: Reading SConscript files ... Delete("nsis-2.24") Delete(".instdist") Delete(".test") Using GNU tools configuration Checking for linker flag -m32... yes Checking for compiler flag -m32... yes Checking for linker flag $MAP_FLAG... yes Checking for linker flag $MAP_FLAG... yes Checking for memcpy requirement... yes Checking for memset requirement... yes Checking for linker flag -pthread... yes Checking for __BIG_ENDIAN__... no Checking for C library gdi32... no Checking for C library user32... no Checking for C library pthread... yes Checking for C library stdc++... yes Checking for C library iconv... no Checking for C library dl... yes Checking for C library gdi32... no Checking for C library iconv... no Checking for C library pthread... yes Checking for C library user32... no Checking for C++ library cppunit... yes scons: done reading SConscript files. scons: Building targets ... gcc -o build/release/AdvSplash/advsplash.o -c -Os -Wall -fno-strict-aliasing Contrib/AdvSplash/advsplash.c Contrib/AdvSplash/advsplash.c:4:21: error: windows.h: No such file or directory Contrib/AdvSplash/advsplash.c:5:22: error: windowsx.h: No such file or directory In file included from Contrib/AdvSplash/advsplash.c:6: Contrib/AdvSplash/../ExDLL/exdll.h:29: error: syntax error before 'popstring' Contrib/AdvSplash/../ExDLL/exdll.h:29: warning: type defaults to 'int' in declaration of 'popstring' Contrib/AdvSplash/../ExDLL/exdll.h:29: warning: data definition has no type or storage class Contrib/AdvSplash/../ExDLL/exdll.h:30: error: syntax error before 'pushstring' Contrib/AdvSplash/../ExDLL/exdll.h:30: warning: type defaults to 'int' in declaration of 'pushstring' Contrib/AdvSplash/../ExDLL/exdll.h:30: warning: data definition has no type or storage class Contrib/AdvSplash/../ExDLL/exdll.h:79: error: syntax error before '*' token Contrib/AdvSplash/../ExDLL/exdll.h:79: warning: no semicolon at end of struct (...) Contrib/AdvSplash/advsplash.c:178: warning: unused variable 'fn' scons: *** [build/release/AdvSplash/advsplash.o] Error 1 scons: building terminated because of errors. !!! ERROR: dev-util/nsis-2.24 failed. Call stack: ebuild.sh, line 1614: Called dyn_compile ebuild.sh, line 971: Called qa_call 'src_compile' ebuild.sh, line 44: Called src_compile nsis-2.24.ebuild, line 37: Called die !!! scons failed !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/tmp/portage/dev-util/nsis-2.24/temp/build.log'. Reproducible: Always
Did you installed mingw32 the way pkg_setup asked you to? Do you still have cross-mingw32/w32api installed on your box?
"Did you installed mingw32 the way pkg_setup asked you to?" pkg_setup didn't say anything. It might be that i already did that, but i can't find how to know. Crossdev is installed, that is sure. But i dont know if i already installed the mingw23 environement. There are 80% of chance i did. Do you still have cross-mingw32/w32api installed on your box? yes i had. I've "emerge -C" it, and the problem still remains.
(In reply to comment #2) > Do you still have cross-mingw32/w32api installed on your box? > yes i had. I've "emerge -C" it, and the problem still remains. You don't understand. You *need* w32api. Run crossdev mingw32 dispatch-conf source /etc/profile and see if the problem persists.
I do understand. I've installed mingw32 and now it works. I was waiting for the install to be finished before testing and posting the result here. My points were * nothing told me to do so. i dont read every *.ebuild i install. * i was not sure mingw32 was not already installed, apparently it wasn't * i didn't know how to check if mingw32 was already installed. I still consider there's a bug, as "emerge nsis" fails without telling you to install mingw32. (that's why i keep it open, you may wish to close it) thanks for your help.
(In reply to comment #4) > I do understand. I've installed mingw32 and now it works. I was waiting for the > install to be finished before testing and posting the result here. Did you tried to install nsis while the crossdev script was still working? Otherwise, how the hell you were able to run it so fast? > > My points were > * nothing told me to do so. i dont read every *.ebuild i install. The pkg_setup tests only if cross-mingw32/gcc is installed. Obviously, it does need more than that (binutils, w32api), but these packages are installed by crossdev mingw32. > * i didn't know how to check if mingw32 was already installed. gcc-config -l binutils-config -l > I still consider there's a bug, as "emerge nsis" fails without telling you to > install mingw32. (that's why i keep it open, you may wish to close it) Since cross-mingw32/* packages aren't really in the tree (okay, they are symlinks to packages found in the tree, but is irrelevant), I cannot make nsis depend on these. All I can do is test you have them installed just the way is done now, through pkg_setup. Of course, you could remove cross-mingw32/w32api by hand and screw this ebuild compilation, but the portage cannot stop you shooting yourself in the foot. If you have a suggestion how to improve the ebuild, please attach a patch here. Closed as INVALID for now.
i installed mingw32 between my post #3 and post #4. I'm not sure how i can help you. here's my genlop -l | grep mingw Thu Sep 28 12:19:31 2006 >>> dev-util/xmingw-binutils-2.15.94.20050118.1 Thu Sep 28 12:24:56 2006 >>> dev-util/xmingw-gcc-3.4.4 Fri Sep 29 00:39:21 2006 >>> cross-mingw32/binutils-2.17 Fri Sep 29 00:39:34 2006 >>> cross-mingw32/w32api-3.7 Fri Sep 29 00:39:41 2006 >>> cross-mingw32/mingw-runtime-3.9 Fri Sep 29 00:46:00 2006 >>> cross-mingw32/gcc-4.1.1-r1 Wed Apr 25 21:54:35 2007 >>> cross-mingw32/binutils-2.17.50.0.12 Wed Apr 25 21:54:49 2007 >>> cross-mingw32/w32api-3.9 Wed Apr 25 21:54:59 2007 >>> cross-mingw32/mingw-runtime-3.12 Wed Apr 25 22:01:10 2007 >>> cross-mingw32/gcc-4.1.2 Wed Apr 25 22:01:48 2007 >>> cross-mingw32/w32api-3.9 Wed Apr 25 22:02:19 2007 >>> cross-mingw32/mingw-runtime-3.12 Wed Apr 25 22:13:14 2007 >>> cross-mingw32/gcc-4.1.2 i dont know how those things work, but i guess the last lines are results from crossdev (i did not install them by myself). I guess the point is that i had some previous stuff installed, but maybe not everything needed. I never uninstalled any part of that independently (what you call 'shoot in your foot') anyway, i think it's over for this bug. Don't hesitate to mail me directly if I can help you in any way.