Re: [mkgmap-dev] NSIS Problems with 2G limit
On 08.04.2010 12:48, Christoph Wagner wrote: > Ok, but I have no idea how to change the osmmap.nsi created by the > --nsis option of mkgmap, so that it did not include the .img's in the > installer exe directly. > > Wouldn't it be usefull to have a small .exe installer in the same > directory of the img files that just installs them for windows users? That's exactly what my version of the installer does: It takes the gmapsupp.img in the same directory as itself, unpacks all the *.img files and installs the map. The NSIS config can be found here: http://www.kleineisel.de/blogs/media/blogs/osmmap/1003/OSM_SRTM_Germany.nsi ___ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Re: [mkgmap-dev] NSIS Problems with 2G limit
Am 08.04.2010 um 12:48 schrieb Christoph Wagner: > I am not a windows hacker and have no knowledge about the nsis system. > Maybe we could add some params to the --nsis option of mkgmap like: > > --nsis=nodata > > or something to avoid including the files in the exe directly. In principle you could do that. But you don't need that option, because if the installation data is not included in the installer you could build it once and change only the data. The user has to download several files though and you will need some error checking to see that all needed files are present and that they are from the same map (especially for updates). IMHO the nice thing about NSIS is that the users needs only one file for download. Another approach would be to split your map of Europe into several parts, say northern Europe and southern Europe. If you run the splitter on the whole of Europe and select the tiles that go into each part for mkgmap, the parts should fit perfectly and routing should work as well. This will also reduce the download volume for users that are interested only in some part of Europe. Regards Thilo ___ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Re: [mkgmap-dev] NSIS Problems with 2G limit
Ok, but I have no idea how to change the osmmap.nsi created by the --nsis option of mkgmap, so that it did not include the .img's in the installer exe directly. Wouldn't it be usefull to have a small .exe installer in the same directory of the img files that just installs them for windows users? I am not a windows hacker and have no knowledge about the nsis system. Maybe we could add some params to the --nsis option of mkgmap like: --nsis=nodata or something to avoid including the files in the exe directly. After a mkgmap run with --nsis=nodata option a directory could contain for example the following: 63240001.img 63240002.img 63240003.img ... basemap.TYP osmmap.img osmmap_license.txt osmmap_mdr.img osmmap.mdx osmmap.nsi osmmap.tdb After makensis osmmap.nsi there should be a small .exe file not including the imgs, but install them from this directory by double clicking. What do you think? ___ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Re: [mkgmap-dev] NSIS Problems with 2G limit
Hi Christoph, you'll find the answer here: http://nsis.sourceforge.net/I_get_an_error_when_compiling_large_installers There seems to be a limit in the archive format of the installer so that the compressed data may not be larger than 2 GB. The recommendation is to use a multi-volume install instead - that is to split the data into several files. Using plug-ins the installer can read those additional files and install them together with its regular payload. As this is quite often discussed there seems to be no other workaround. Regards Thilo ___ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Re: [mkgmap-dev] NSIS Problems with 2G limit
On Wed, Apr 07, 2010 at 09:29:49PM +0200, Christoph Wagner wrote: >Internal compiler error #12345: error mmapping file (2141990789, 4569600) is >out of range. I don't know Windows that well, but here are my 2 cents anyway. The "memory map" operation makes a file appear in the address space of a process. It is called mmap on POSIX (Unix-like) systems but something else on Windows. On a 32-bit system, a process typically has 2 GB (or more with tricks) address space available for data. It is not possible to mmap large files at once. Instead, the file should be mmap'ed a portion at a time, or conventional file access (explicit calls to copy blocks between memory and file) should be used. If you have a 64-bit system and kernel, have you tried a 64-bit executable? Marko ___ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
[mkgmap-dev] NSIS Problems with 2G limit
Hello, while I'm trying to build an mapsource installer with the --nsis option and makensis for the garmin all in one for europe I get the following error after a while with makensis: Internal compiler error #12345: error mmapping file (2141990789, 4569600) is out of range. Note: you may have one or two (large) stale temporary file(s) left in your temporary directory (Generally this only happens on Windows 9x). --- I will attach the whole ouput from makensis, but I think the problem is, that europe is too big now. The imgs together have a size of 2,1G. Is 2G a fix limit of this nsis stuff or is it a bug somewhere? (Yeah, I know - the bug is windows...) :) Thanks Christoph MakeNSIS v2.44-4 - Copyright 1995-2009 Contributors See the file COPYING for license details. Credits can be found in the Users Manual. Processing config: Processing plugin dlls: "/usr/share/nsis/Plugins/*.dll" - AdvSplash::show - Banner::destroy - Banner::getWindow - Banner::show - BgImage::AddImage - BgImage::AddText - BgImage::Clear - BgImage::Destroy - BgImage::Redraw - BgImage::SetBg - BgImage::SetReturn - BgImage::Sound - Dialer::AttemptConnect - Dialer::AutodialHangup - Dialer::AutodialOnline - Dialer::AutodialUnattended - Dialer::GetConnectedState - InstallOptions::dialog - InstallOptions::initDialog - InstallOptions::show - LangDLL::LangDialog - Math::Script - NSISdl::download - NSISdl::download_quiet - Splash::show - StartMenu::Init - StartMenu::Select - StartMenu::Show - System::Alloc - System::Call - System::Copy - System::Free - System::Get - System::Int64Op - System::Store - TypeLib::GetLibVersion - TypeLib::Register - TypeLib::UnRegister - UserInfo::GetAccountType - UserInfo::GetName - UserInfo::GetOriginalAccountType - VPatch::GetFileCRC32 - VPatch::GetFileMD5 - VPatch::vpatchfile - nsDialogs::Create - nsDialogs::CreateControl - nsDialogs::CreateItem - nsDialogs::CreateTimer - nsDialogs::GetUserData - nsDialogs::KillTimer - nsDialogs::OnBack - nsDialogs::OnChange - nsDialogs::OnClick - nsDialogs::OnNotify - nsDialogs::SelectFileDialog - nsDialogs::SelectFolderDialog - nsDialogs::SetRTL - nsDialogs::SetUserData - nsDialogs::Show - nsExec::Exec - nsExec::ExecToLog - nsExec::ExecToStack !define: "MUI_INSERT_NSISCONF"="" Changing directory to: "/osm/garmin/aio/europe/gbasemap" Processing script file: "/osm/garmin/aio/europe/gbasemap/osmmap.nsi" !define: "DEFAULT_DIR"="C:\Garmin\Maps\OSM-AllInOne-EU-basemap" !define: "INSTALLER_DESCRIPTION"="OSM-AllInOne-EU-basemap" !define: "INSTALLER_NAME"="OSM-AllInOne-EU-basemap" !define: "MAPNAME"="osmmap" !define: "PRODUCT_ID"="45" !define: "REG_KEY"="OSM-AllInOne-EU-basemap" SetCompressor: /SOLID lzma !include: "/usr/share/nsis/Include/MUI2.nsh" !include: "/usr/share/nsis/Contrib/Modern UI 2/MUI2.nsh" NSIS Modern User Interface version 2.0 - Copyright 2002-2009 Joost Verburg (/usr/share/nsis/Contrib/Modern UI 2/MUI2.nsh:8) !define: "MUI_INCLUDED"="" !define: "MUI_SYSVERSION"="2.0" !define: "MUI_VERBOSE"="3" !include: closed: "/usr/share/nsis/Contrib/Modern UI 2/MUI2.nsh" !include: closed: "/usr/share/nsis/Include/MUI2.nsh" !insertmacro: MUI_PAGE_WELCOME !insertmacro: end of MUI_PAGE_WELCOME !insertmacro: MUI_PAGE_LICENSE !insertmacro: end of MUI_PAGEDECLARATION_LICENSE !insertmacro: end of MUI_PAGE_LICENSE !insertmacro: MUI_PAGE_DIRECTORY !insertmacro: end of MUI_PAGE_DIRECTORY !insertmacro: MUI_PAGE_INSTFILES !insertmacro: end of MUI_PAGE_INSTFILES !insertmacro: MUI_PAGE_FINISH !insertmacro: end of MUI_PAGE_FINISH !define: "MUI_UNPAGE_INSTFILES"="" !insertmacro: MUI_LANGUAGE !insertmacro: end of MUI_LANGUAGE Name: "OSM-AllInOne-EU-basemap" OutFile: "/osm/garmin/aio/europe/gmapsupps/gbasemap/OSM-AllInOne-EU-basemap.exe" InstallDir: "C:\Garmin\Maps\OSM-AllInOne-EU-basemap" Section: "MainSection" ->(SectionMain) SetOutPath: "$INSTDIR" File: "osmmap.img" 16384 bytes File: "osmmap_mdr.img" 132378624 bytes File: "osmmap.mdx" 3638 bytes File: "basemap.TYP" 61231 bytes File: "osmmap.tdb" 45566 bytes File: "63240023.img" 675328 bytes File: "63240024.img" 10811904 bytes File: "63240025.img" 5993472 bytes File: "63240026.img" 6834688 bytes File: "63240027.img" 4183552 bytes File: "63240028.img" 9508352 bytes File: "63240029.img" 10859008 bytes File: "63240030.img" 3667968 bytes File: "63240031.img" 6547968 bytes File: "63240032.img" 5912064 bytes File: "63240033.img" 3705856 bytes File: "63240034.img" 4678144 bytes File: "63240035.img" 5473792 bytes File: "63240036.img" 7953920 bytes File: "63240037.img" 7333888 bytes File: "63240038.img" 4406784 bytes File: "63240039.img" 5394432 bytes File: "63240040.img" 4587520 bytes File: "63240041.img" 4775936 bytes File: "63240042.img" 2204672 bytes File: "63240043.img" 2920960 bytes File: "63240044.img" 2246144 bytes File: "63240045.img" 2904064 bytes File: "63240046.img" 3636736 bytes File: "63240047.img" 3557376 bytes File: "63240048.img" 4887040 bytes File: "63