[CMake] cpack -G NSIS
Andrea Crotti
andrea.crotti.0 at gmail.com
Mon Jan 23 12:32:03 EST 2012
It's a bit tricky to follow the code, but from my first attempt with the
debug symbols activated I get the following backtrace:
(running cpack -G NSIS)
--8<---------------cut here---------------start------------->8---
(gdb) bt
#0 0x00007ffff6e28935 in raise () from /lib/libc.so.6
#1 0x00007ffff6e29dab in abort () from /lib/libc.so.6
#2 0x00007ffff775d1ed in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib/libstdc++.so.6
#3 0x00007ffff775b396 in ?? () from /usr/lib/libstdc++.so.6
#4 0x00007ffff775b3c3 in std::terminate() () from /usr/lib/libstdc++.so.6
#5 0x00007ffff775b4be in __cxa_throw () from /usr/lib/libstdc++.so.6
#6 0x00007ffff77081f7 in std::__throw_logic_error(char const*) () from
/usr/lib/libstdc++.so.6
#7 0x00007ffff7746039 in char* std::string::_S_construct<char
const*>(char const*, char const*, std::allocator<char> const&,
std::forward_iterator_tag) () from /usr/lib/libstdc++.so.6
#8 0x00007ffff7746113 in std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string(char
const*, std::allocator<char> const&) () from /usr/lib/libstdc++.so.6
#9 0x000000000066e5f8 in cmCPackNSISGenerator::InitializeInternal
(this=0xd20b20) at
/home/andrea/cmake/Source/CPack/cmCPackNSISGenerator.cxx:410
#10 0x000000000065c444 in cmCPackGenerator::Initialize (this=0xd20b20,
name=0xd1c248 "NSIS", mf=0x7fffffffcfe0) at
/home/andrea/cmake/Source/CPack/cmCPackGenerator.cxx:1104
#11 0x000000000064d553 in main (argc=3, argv=0x7fffffffe568) at
/home/andrea/cmake/Source/CPack/cpack.cxx:400
--8<---------------cut here---------------end--------------->8---
In particular it seems that the problem is trying to get this option:
file:~/cmake/Source/CPack/cmCPackNSISGenerator.cxx::std::string
nsisFileName = this->GetOption("CPACK_TOPLEVEL_DIRECTORY")
Which fails here:
file:~/cmake/Source/CPack/cmCPackGenerator.cxx::const char*
cmCPackGenerator::GetOption(const char* op) const
that thing returs 0x0 and the std::string explodes because it was not
what it was expecting..
That's all I could understand for now..
More information about the CMake
mailing list