Re: [mkgmap-dev] NSIS Problems with 2G limit

2010-04-08 Thread Christoph Wagner
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

2010-04-08 Thread Thilo Hannemann

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

2010-04-08 Thread Ralf Kleineisel
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


[mkgmap-dev] NSIS Problems with 2G limit

2010-04-07 Thread Christoph Wagner
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: 63240049.img 4672512 bytes
File: 63240050.img 5397504 bytes
File: 63240051.img 5129216 bytes
File: 63240052.img 4724224 bytes
File: 

Re: [mkgmap-dev] NSIS Problems with 2G limit

2010-04-07 Thread Marko Mäkelä
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


Re: [mkgmap-dev] NSIS Problems with 2G limit

2010-04-07 Thread Thilo Hannemann
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