Jump to content

NSIS error.


gameboy
 Share

Recommended Posts

On 9/4/2020 at 6:14 PM, Itms said:

gameboy did you run the packaging script on Linux first as needed? NSIS is only the last step of packaging.

26 minutes ago, Itms said:

You need to run source/tools/dist/build.sh on Linux, then you can use nsisbi on Windows (instead of makensis on Linux) to create a Windows installer.

Link to comment
Share on other sites

In this situation, it's you who doesn't understand me: for the last time

You need to use Linux to run the packaging script BEFORE using nsisbi on Windows.

19 minutes ago, gameboy said:

But the problem does exist, and you can test it.

I believe there is no problem in the code, it's just that you don't use or don't have the correct tools. I could test but I'm working on SpiderMonkey at the moment, and however much time I loose repeating things to you it's still quicker than packaging the game, which takes a couple hours.

If you make the effort of understanding what's blocking you, then I can answer your questions if they are clear. No problem with that.

  • Like 2
Link to comment
Share on other sites

On 9/7/2020 at 12:41 AM, Itms said:

You need to run source/tools/dist/build.sh on Linux, then you can use nsisbi on Windows (instead of makensis on Linux) to create a Windows installer.

@Itms Just so you know, I've done work on cross platform support. So nsisbi is fully cross platform on linux (I use ubuntu), and bitness agnostic too so it doesn't matter if your OS is 32 bit or 64 bit. I know one of the other developers also packaged it for Homebrew on Mac too.

Link to comment
Share on other sites

5 hours ago, JasonFriday13 said:

@Itms Just so you know, I've done work on cross platform support. So nsisbi is fully cross platform on linux (I use ubuntu), and bitness agnostic too so it doesn't matter if your OS is 32 bit or 64 bit. I know one of the other developers also packaged it for Homebrew on Mac too.

Ah that is good, we will definitely use nsisbi from Linux if it works, instead of switching to Windows for the last step of packaging (y)

 

@gameboy 我的中文不太好:pardon:你是对的,我们必须使用英文。为了packaging 0ad,你必须使用Linux。如果你没有Linux,不可以 ! ! 如果你不是 Wildfire Games member,你不需要作packaging, 你不需要有Linux ! :)

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

@gameboy (y)

You must first discover how to build the game on Linux. You must use the Terminal (see https://ubuntu.com/tutorials/command-line-for-beginners)

When you understand how the Terminal works, you can follow the instructions on Trac to build the game a first time: https://trac.wildfiregames.com/wiki/BuildInstructions#Linux

If and only if everything works, you can run the packaging script in the terminal:

cd source/tools/dist/
./build.sh

The last step should fail because nsisbi is needed instead of makensis. You should then copy the export-win32 folder to Windows and then use nsisbi.

If you figure out how to use nsisbi on Linux, you can send a patch; else we'll patch the script for the next release, but probably not before.

  • Thanks 1
Link to comment
Share on other sites

ben@ubuntu:~/Public/trunk/build/workspaces$ ./update-workspaces.sh
Updating bundled third-party dependencies...


Building SpiderMonkey...

SpiderMonkey build options: --disable-tests --disable-jemalloc --enable-shared-js --without-intl-api --enable-posix-nspr-emulation         
--disable-tests --disable-jemalloc --enable-shared-js --without-intl-api --enable-posix-nspr-emulation
: not found 4: ../patch.sh: 
ERROR: SpiderMonkey build failed
 

Link to comment
Share on other sites

I compiled with makensisw, which does not contain the file mozjs45-ps-release-vc140.dll.

File: "aken.pdb" [compress] 26839 / 134144 bytes
File: "aken.sys" [compress] 4520 / 9592 bytes
File: "aken64.pdb" [compress] 27159 / 134144 bytes
File: "aken64.sys" [compress] 4721 / 10104 bytes
File: "aken64d.pdb" [compress] 30316 / 150528 bytes
File: "aken64d.sys" [compress] 5881 / 14200 bytes
File: "akend.pdb" [compress] 29427 / 142336 bytes
File: "akend.sys" [compress] 5685 / 12664 bytes
File: "atlas.lib" [compress] 679009 / 6388738 bytes
File: "concrt140.dll" [compress] 105615 / 244032 bytes
File: "dbghelp.dll" [compress] 383078 / 1045128 bytes
File: "enet.dll" [compress] 45073 / 96256 bytes
File: "engine.lib" [compress] 2135181 / 23535914 bytes
File: "gloox-1.0.dll" [compress] 275217 / 1038336 bytes
File: "glooxwrapper.dll" [compress] 19379 / 62464 bytes
File: "glooxwrapper.lib" [compress] 5556 / 59228 bytes
File: "glooxwrapper.pdb" [compress] 460934 / 3600384 bytes
File: "graphics.lib" [compress] 2272677 / 24442962 bytes
File: "gui.lib" [compress] 956106 / 10001826 bytes
File: "icudt56.dll" [compress] 6048632 / 25048064 bytes
File: "icuin56.dll" [compress] 606991 / 2216960 bytes
File: "icuio56.dll" [compress] 20352 / 54784 bytes
File: "icule56.dll" [compress] 77109 / 260608 bytes
File: "iculx56.dll" [compress] 16452 / 49664 bytes
File: "icutu56.dll" [compress] 71398 / 210432 bytes
File: "icuuc56.dll" [compress] 428791 / 1459200 bytes
File: "libcurl.dll" [compress] 151223 / 331776 bytes
File: "libiconv.dll" [compress] 486463 / 916992 bytes
File: "libogg.dll" [compress] 10243 / 22016 bytes
File: "liboggd.dll" [compress] 16140 / 56320 bytes
File: "libpng16.dll" [compress] 74519 / 160256 bytes
File: "libsodium.dll" [compress] 116121 / 300544 bytes
File: "libvorbis.dll" [compress] 145159 / 669696 bytes
File: "libvorbisd.dll" [compress] 146742 / 902144 bytes
File: "libvorbisfile.dll" [compress] 18552 / 37376 bytes
File: "libvorbisfiled.dll" [compress] 25466 / 87552 bytes
File: "libxml2.dll" [compress] 392663 / 1027584 bytes
File: "lobby.lib" [compress] 384537 / 3910094 bytes
File: "lowlevel.lib" [compress] 1003960 / 8769292 bytes
File: "miniupnpc.dll" [compress] 20931 / 69120 bytes
File: "mocks_real.lib" [compress] 11667 / 52828 bytes
File: "mocks_test.lib" [compress] 11670 / 52828 bytes
File: "mongoose.lib" [compress] 68566 / 295486 bytes
File: "msvcp120.dll" [compress] 128480 / 455328 bytes
File: "msvcp140.dll" [compress] 123891 / 440120 bytes
File: "msvcr120.dll" [compress] 388671 / 970912 bytes
File: "msvcrt.dll" [compress] 119995 / 286773 bytes
File: "network.lib" [compress] 600227 / 6126312 bytes
File: "nspr4.dll" [compress] 72154 / 159744 bytes
File: "nvcore.dll" [compress] 18540 / 78336 bytes
File: "nvimage.dll" [compress] 119488 / 434176 bytes
File: "nvmath.dll" [compress] 22384 / 96768 bytes
File: "nvtt.dll" [compress] 119145 / 439296 bytes
File: "nvtt.pdb" [compress] 383472 / 2355200 bytes
File: "plc4.dll" [compress] 6589 / 13824 bytes
File: "plds4.dll" [compress] 5748 / 11776 bytes
File: "pyrogenesis.exe" [compress] 1262811 / 4206592 bytes
File: "pyrogenesis.pdb" [compress] 7996448 / 60215296 bytes
File: "readme.txt" [compress] 2746 / 7327 bytes
File: "rlinterface.lib" [compress] 83202 / 461016 bytes
File: "scriptinterface.lib" [compress] 281326 / 2496550 bytes
File: "simulation2.lib" [compress] 2437212 / 24872454 bytes
File: "test.exe" [compress] 1224762 / 4377088 bytes
File: "test.exp" [compress] 1957 / 13766 bytes
File: "test.lib" [compress] 2391 / 22562 bytes
File: "test.pdb" [compress] 8008313 / 60960768 bytes
File: "tinygettext.lib" [compress] 261119 / 2911400 bytes
File: "vcruntime140.dll" [compress] 41778 / 83784 bytes
File: "vcruntime140d.dll" [compress] 47353 / 111952 bytes
File: "zlib1.dll" [compress] 36978 / 74240 bytes
 

Link to comment
Share on other sites

Simple guide for compiling nsisbi on ubuntu (official nsis is a similar process too, the difference is the source code location):

Download the nsisbi source code from sourceforge (latest version is preferred, but I used 7208-1/3.06.1.1 for this example): https://sourceforge.net/projects/nsisbi/files/

I put the zip in a folder called 'nsis' in my home directory, then extract the contents (right click on the zip, and 'Extract here').

Then open a terminal and install the required programs:

sudo apt-get install build-essential scons mingw-w64 zlib1g-dev

Change to the source code directory:

cd nsis/nsis-code-7208-1-NSIS-trunk

Then compile and install:

scons SKIPUTILS="zip2exe","NSIS Menu"
sudo scons install SKIPUTILS="zip2exe","NSIS Menu"

Then verify you have the correct version installed:

makensis -HDRINFO

The first header and the instruction size should be 36 bytes for nsisbi. 28 bytes is for official nsis.

Edited by JasonFriday13
changed syntax highlighting
Link to comment
Share on other sites

@Itms

sudo apt get install libmozjs-45-de

Reading package lists... Done

Building dependency tree

Reading state information... Done

Unable to locate package libmozjs-45-de

I don't have libmozjs-45-de

 

If you want to use a packaged mozjs45, which will be made available for example in 0 ad.dev PPA:

you should add libmozjs-45-dev

How do I add libmozjs-45-dev

Edited by gameboy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...