Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 175966

Summary: dev-util/nsis-2.24 wont compile
Product: Gentoo Linux Reporter: Thomas Capricelli <orzel>
Component: Current packagesAssignee: Alin Năstac (RETIRED) <mrness>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: 2006.1   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Thomas Capricelli 2007-04-25 13:30:03 UTC
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
Comment 1 Alin Năstac (RETIRED) gentoo-dev 2007-04-25 19:40:33 UTC
Did you installed mingw32 the way pkg_setup asked you to?
Do you still have cross-mingw32/w32api installed on your box?
Comment 2 Thomas Capricelli 2007-04-25 19:49:43 UTC
"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.
Comment 3 Alin Năstac (RETIRED) gentoo-dev 2007-04-25 20:20:03 UTC
(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.
Comment 4 Thomas Capricelli 2007-04-25 20:30:41 UTC
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.
Comment 5 Alin Năstac (RETIRED) gentoo-dev 2007-04-25 20:54:24 UTC
(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.
Comment 6 Thomas Capricelli 2007-04-25 21:21:44 UTC
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.