[Pidgin] #13671: Building installer fails due to MakeNSIS parameter misinterpretation as script filename?

Pidgin trac at pidgin.im
Tue Apr 5 07:07:15 EDT 2011


#13671: Building installer fails due to MakeNSIS parameter misinterpretation as
script filename?
-------------------------------------------------------------------+--------
 Reporter:  jasmine.aura                                           |        Owner:  rekkanoryo  
     Type:  defect                                                 |       Status:  new         
Milestone:                                                         |    Component:  unclassified
  Version:  2.7.11                                                 |   Resolution:              
 Keywords:  Installer Build MakeNSIS parameters script MinGW MSYS  |  
-------------------------------------------------------------------+--------
Description changed by jasmine.aura:

Old description:

> Followed [http://developer.pidgin.im/wiki/BuildingWinPidgin
> BuildingWinPidgin].
>
> Installed MinGW/MSYS using latest graphical installer (
> [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer
> /mingw-get-inst/mingw-get-inst-20110316/mingw-get-
> inst-20110316.exe/download mingw-get-inst-20110316.exe] ) per the
> [http://www.mingw.org/wiki/Getting_Started Getting Started] guide, and
> updated the wiki page to add a note on "Perl 5.10" to avoid conflicts
> with the msys-perl-bin (5.6) bundled with mingw-develper-toolkit.
>
> Managed to build pidgin after a problem that has been previously
> reported; #12563, per my
> [http://developer.pidgin.im/ticket/12563#comment:8
>  comment:8] reconfirming user-submitted workaround.
>
> Now when trying to build just the online installer as the wiki instructs:
>
> {{{
> make -f Makefile.mingw installer
> }}}
>
> If fails at makensis.
>
> {{{
> makensis.exe /V3 /DPIDGIN_VERSION="2.7.11"
> /DPIDGIN_PRODUCT_VERSION="2.7.11.99"
> /DPIDGIN_INSTALL_DIR="./pidgin-2.7.11-wi
> n32bin" /DGTK_INSTALL_VERSION="2.16.6.0" pidgin/win32/nsis/pidgin-
> installer.nsi
> MakeNSIS v2.46 - Copyright 1995-2009 Contributors
> See the file COPYING for license details.
> Credits can be found in the Users Manual.
>
> Processing config:
> Processing plugin dlls: "c:\Program Files\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
>  - nsisunz::Unzip
>  - nsisunz::UnzipToLog
>  - nsisunz::UnzipToStack
>  - nsisunz::extract_RunDLL
>
> !define: "MUI_INSERT_NSISCONF"=""
>
> Can't open script "C:/MinGW/msys/1.0/V3"
> make: *** [installer] Error 1
> }}}
>
> Apparently there's a problem somewhere between MinGW/MSYS and
> makensis.exe, as the first parameter "/V3" is interpreted as a filename,
> and so translated to "C:/MinGW/msys/1.0/V3"
>
> This is MakeNSIS v2.46 (latest NSIS as of date)
>
> I googled quite a bit for a workaround solution, but to no avail.
>
> An [http://www.abisource.com/mailinglists/abiword-dev/2003/Sep/0274.html
> ancient thread (2003)] suggests MinGW needing double slashes for the
> command-line options, but that this would break cygwin/msvc builds.
>
> Another old thread (2007) from nullsoft forum:
>
> [http://forums.winamp.com/archive/index.php/t-269002.html changed command
> line behaviour for makensisw in v.2.25?]
>
> And 2 related bug reports:
>
> [http://sourceforge.net/tracker/index.php?func=detail&aid=1696534&group_id=22049&atid=373085
> Broken Parameter Handling for Makensisw.exe v.2.3 - ID: 1696534]
>
> [http://sourceforge.net/tracker/index.php?func=detail&aid=1796053&group_id=22049&atid=373085
> Command-line parsing error - ID: 1796053]
>
> both suggest that this problem was fixed in NSIS 2.3
>
> Any ideas why this still happens here? MinGW bug perhaps?

New description:

 Followed [http://developer.pidgin.im/wiki/BuildingWinPidgin
 BuildingWinPidgin].

 Installed MinGW/MSYS using latest graphical installer (
 [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer
 /mingw-get-inst/mingw-get-inst-20110316/mingw-get-
 inst-20110316.exe/download mingw-get-inst-20110316.exe] ) per the
 [http://www.mingw.org/wiki/Getting_Started Getting Started] guide, and
 updated the wiki page to add a note on "Perl 5.10" to avoid conflicts with
 the msys-perl-bin (5.6) bundled with mingw-develper-toolkit.

 Managed to build pidgin after a problem that has been previously reported,
 #12563 (Unknown size of time_t), per my
 [http://developer.pidgin.im/ticket/12563#comment:8 comment(8)]
 reconfirming user-submitted workaround.

 Now when trying to build just the online installer as the wiki instructs:

 {{{
 make -f Makefile.mingw installer
 }}}

 It fails at makensis.

 {{{
 makensis.exe /V3 /DPIDGIN_VERSION="2.7.11"
 /DPIDGIN_PRODUCT_VERSION="2.7.11.99"
 /DPIDGIN_INSTALL_DIR="./pidgin-2.7.11-wi
 n32bin" /DGTK_INSTALL_VERSION="2.16.6.0" pidgin/win32/nsis/pidgin-
 installer.nsi
 MakeNSIS v2.46 - Copyright 1995-2009 Contributors
 See the file COPYING for license details.
 Credits can be found in the Users Manual.

 Processing config:
 Processing plugin dlls: "c:\Program Files\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
  - nsisunz::Unzip
  - nsisunz::UnzipToLog
  - nsisunz::UnzipToStack
  - nsisunz::extract_RunDLL

 !define: "MUI_INSERT_NSISCONF"=""

 Can't open script "C:/MinGW/msys/1.0/V3"
 make: *** [installer] Error 1
 }}}

 Apparently there's a problem somewhere between MinGW/MSYS and
 makensis.exe, as the first parameter "/V3" is interpreted as a filename,
 and so translated to "C:/MinGW/msys/1.0/V3"

 This is MakeNSIS v2.46 (latest NSIS as of date)

 I googled quite a bit for a workaround solution, but to no avail.

 An [http://www.abisource.com/mailinglists/abiword-dev/2003/Sep/0274.html
 ancient thread (2003)] suggests MinGW needing double slashes for the
 command-line options, but that this would break cygwin/msvc builds.

 Another old thread (2007) from nullsoft forum:

 [http://forums.winamp.com/archive/index.php/t-269002.html changed command
 line behaviour for makensisw in v.2.25?]

 And 2 related bug reports:

 [http://sourceforge.net/tracker/index.php?func=detail&aid=1696534&group_id=22049&atid=373085
 Broken Parameter Handling for Makensisw.exe v.2.3 - ID: 1696534]

 [http://sourceforge.net/tracker/index.php?func=detail&aid=1796053&group_id=22049&atid=373085
 Command-line parsing error - ID: 1796053]

 both suggest that this problem was fixed in NSIS 2.3

 Any ideas why this still happens here? MinGW bug perhaps?

--

-- 
Ticket URL: <http://developer.pidgin.im/ticket/13671#comment:1>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list