Archive: Using makensis on Mac OS X?


Using makensis on Mac OS X?
I should start by thanking the developers (and Nullsoft) for NSIS -- it's amazingly great. So, thanks!

My actual question is whether anyone has had any luck with makensis on Mac OS X. I was able to "make makensis" with only a few tweaks to the Makefile and the resulting makensis.exe happily displays the usage command, but it segfaults when processing the plugin DLLs:


./makensis.exe ./Examples/example1.nsi
MakeNSIS v2.01 - Copyright 1999-2004 Nullsoft, Inc.

Portions Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler (zlib).
Portions Copyright (C) 1996-2002 Julian R Seward (bzip2).
Portions Copyright (C) 1999-2003 Igor Pavlov (lzma).

Contributors: nnop[at]newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, \
Peter Windridge, Dave Laundon, Robert Rainwater, Yaroslav Faybishenko, \
Jeff Doozan, Amir Szekely, Ximon Eighteen, et al.

Processing config:
Processing plugin dlls: "/Users/keith/Desktop/NSIS_TESTING/Plugins/*.dll"
Segmentation fault

Any hints? Do I have any hope of getting this to work?

Many thanks!

as i guess, that you're using darwine, you might wanna search for wine in this forum. this might lead to an answer to your problem.


Originally posted by Yathosho
as i guess, that you're using darwine, you might wanna search for wine in this forum. this might lead to an answer to your problem.
Thanks much for your suggestion. I am not using Darwine, though; I compiled exehead on Win 2k using mingw and then copied the kit to OS X land, where I compiled makensis using vanilla gcc.

Edit: Unfortunately, Darwine does not seem like a possibility because I'm stuck on 10.2.

The complete POSIX support is still new and needs some testing. We've had many Linux users who reported all results, so there may be a few Mac OS X issues left.

I recommend you to create a bugreport at the NSIS project page. If possible, create a debug version to see where it crashes. Also include information about the compiler and version.

The NSIS developer working on the POSIX support will reply to your report later.


I will try to put together a decent bug report. Thank you for the suggestion.


I actually tested makensis on Mac OS X and it worked. It was a few versions ago though... Did you add pthread and libiconv? Can you debug and find out some more information (don't forget to remove -s from LDFLAGS)?


Found the problem :( Little endian, big endian. Pain. No quick fix for this one as far as I know...


kichik,

Thank you for looking into it more deeply. Does the endian issue come into play when the compiled makensis tries to make sense of the dll files?

Thanks again.

Keith


The are more issues with little/big endian.

Unfortunately the GCC compiler for Darwin doesn't seem to support an option to get it to work in little endian mode (like Windows). For earlier versions of Mac OS there was such an option.


Originally posted by Joost Verburg
Unfortunately the GCC compiler for Darwin doesn't seem to support an option to get it to work in little endian mode (like Windows). For earlier versions of Mac OS there was such an option.
I buy that, but just 'cause I'm slow: does it seem that the immediate problem I ran into -- segfaulting when trying to load the plugin DLLs -- is that my big endian makensis.exe doesn't play nicely with the little endian DLLs?

Yes, that is indeed the problem.


Alright. Thank you for clearing that up for me.