Boost logo

Boost Interest :

Subject: [Boost-cmake] Problem building NSIS installer.
From: Miguel A. Figueroa-Villanueva (miguelf_at_[hidden])
Date: 2009-07-16 15:07:45


Hello,

I've been trying to build the NSIS installer, so that I can install
only the headers for the libraries that I need. Please bear in mind
that I don't have much experience with either CPack or NSIS, but I'm
still trying to debug the issue...

I'm getting the error output below when I run "CPack -G NSIS"

----------------------------------------
Goto: accumulators_headers_unchanged
!insertmacro: Select_accumulators_headers_depends
SectionGetFlags: 127->$0
IntOp: $0=$0|1
SectionSetFlags: 127->$0
IntOp: $parameter_headers_selected=0+1
warning: unknown variable/constant "{python_headers}" detected,
ignoring (macro:Select_accumulators_headers_depends:5)
SectionGetFlags: ${python_headers}->$0
IntOp: $0=$0|1
warning: unknown variable/constant "{python_headers}" detected,
ignoring (macro:Select_accumulators_headers_depends:7)
SectionSetFlags: ${python_headers}->$0
Usage: IntOp $(user_var: result) val1 OP [val2]
    OP=(+ - * / % | & ^ ~ ! || && << >>)
Error in macro Select_accumulators_headers_depends on macroline 8
Error in macro MaybeSelectionChanged on macroline 14
Error in macro SectionList on macroline 4
Error in script
"C:/cygdir/builds/boost/_CPack_Packages/win32/NSIS/project.nsi" on
line 32365 -- aborting creation process
----------------------------------------

If I edit the project.nsi to include the following declarations:

...
Var python_headers_selected
Var python_headers_was_installed
...

and run the command manually ("C:/.../NSIS/makensis.exe"
"C:/.../_CPack_Packages/win32/NSIS/project.nsi") it creates the
Boost-1.40.0-vc8.exe file. Although it produces several warning
messages posted at the end of this message.

Now, I still have problems because when I run the installer it can't
"download" the packages... I suppose that this is because the cpack
process is not complete (note that if I run cpack again it overwrites
the changes to the project.nsi and bails out with error again).

So, I guess my question is how do I go about solving this? What
variable in the boost cmake files creates the dependency on the
python_headers_* variables in the CPack/NSIS process?

Any help debugging this will be greatly appreciated.

--Miguel

----------------------------------------
Processing pages... Done!
Removing unused resources... Done!
Generating language tables... Done!
warning: Variable "python_headers_was_installed" not referenced or
never set, wasting memory!
Generating uninstaller... Done!

Output: "C:\cygdir\builds\boost\_CPack_Packages\win32\NSIS\Boost-1.40.0-vc8.exe"
Install: 9 pages (576 bytes), 229 sections (4 required) (239992
bytes), 33766 instructions (945448 bytes), 11901 strings (552160
bytes), 51 language tables (18870 bytes).
Uninstall: 3 pages (192 bytes),
1 section (1048 bytes), 15596 instructions (436688 bytes), 9960
strings (445365 bytes), 51 language tables (12954 bytes).
Datablock optimizer saved 26588 bytes (~9.2%).

Using lzma compression.

EXE header size: 64512 / 34304 bytes
Install code: 126339 / 1757422 bytes
Install data: 107133 / 314273 bytes
Uninstall code+data: 90353 / 95861 bytes
CRC (0xB3921D45): 4 / 4 bytes

Total size: 388341 / 2201864 bytes (17.6%)

10 warnings:
  unknown variable/constant "{python_headers}" detected, ignoring
(macro:Select_accumulators_headers_depends:5)
  unknown variable/constant "{python_headers}" detected, ignoring
(macro:Select_accumulators_headers_depends:7)
  unknown variable/constant "{python_headers}" detected, ignoring
(macro:Select_flyweight_headers_depends:113)
  unknown variable/constant "{python_headers}" detected, ignoring
(macro:Select_flyweight_headers_depends:115)
  unknown variable/constant "{python_headers}" detected, ignoring
(macro:Select_parameter_headers_depends:1)
  unknown variable/constant "{python_headers}" detected, ignoring
(macro:Select_parameter_headers_depends:3)
  uninstall function "un.select_NT_profile" not referenced - zeroing
code (0-8) out

  install function "select_NT_profile" not referenced - zeroing code (0-8) out

  label "try_again" not used
  Variable "python_headers_was_installed" not referenced or never set,
wasting memory!
----------------------------------------


Boost-cmake list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk