{"action":"created","issue":{"url":"https://api.github.com/repos/capnproto/capnproto/issues/576","repository_url":"https://api.github.com/repos/capnproto/capnproto","labels_url":"https://api.github.com/repos/capnproto/capnproto/issues/576/labels{/name}","comments_url":"https://api.github.com/repos/capnproto/capnproto/issues/576/comments","events_url":"https://api.github.com/repos/capnproto/capnproto/issues/576/events","html_url":"https://github.com/capnproto/capnproto/issues/576","id":266006046,"number":576,"title":"LITE build undefined reference to units.c++","user":{"login":"Leandros","id":396475,"avatar_url":"https://avatars3.githubusercontent.com/u/396475?v=4","gravatar_id":"","url":"https://api.github.com/users/Leandros","html_url":"https://github.com/Leandros","followers_url":"https://api.github.com/users/Leandros/followers","following_url":"https://api.github.com/users/Leandros/following{/other_user}","gists_url":"https://api.github.com/users/Leandros/gists{/gist_id}","starred_url":"https://api.github.com/users/Leandros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Leandros/subscriptions","organizations_url":"https://api.github.com/users/Leandros/orgs","repos_url":"https://api.github.com/users/Leandros/repos","events_url":"https://api.github.com/users/Leandros/events{/privacy}","received_events_url":"https://api.github.com/users/Leandros/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/capnproto/capnproto/milestones/2","html_url":"https://github.com/capnproto/capnproto/milestone/2","labels_url":"https://api.github.com/repos/capnproto/capnproto/milestones/2/labels","id":2474948,"number":2,"title":"0.7","description":"","creator":{"login":"kentonv","id":4001805,"avatar_url":"https://avatars0.githubusercontent.com/u/4001805?v=4","gravatar_id":"","url":"https://api.github.com/users/kentonv","html_url":"https://github.com/kentonv","followers_url":"https://api.github.com/users/kentonv/followers","following_url":"https://api.github.com/users/kentonv/following{/other_user}","gists_url":"https://api.github.com/users/kentonv/gists{/gist_id}","starred_url":"https://api.github.com/users/kentonv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kentonv/subscriptions","organizations_url":"https://api.github.com/users/kentonv/orgs","repos_url":"https://api.github.com/users/kentonv/repos","events_url":"https://api.github.com/users/kentonv/events{/privacy}","received_events_url":"https://api.github.com/users/kentonv/received_events","type":"User","site_admin":false},"open_issues":15,"closed_issues":2,"state":"open","created_at":"2017-04-23T17:46:34Z","updated_at":"2017-10-26T22:53:43Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2017-10-17T06:24:08Z","updated_at":"2017-10-29T22:15:38Z","closed_at":null,"author_association":"NONE","body":"Looks like that the LITE build is now broken. Declaring an object of `MallocMessageBuilder` throws a linker error: \r\n\r\n```\r\n1> libcapnp.lib(layout.obj) : error LNK2019: unresolved external symbol \"public: void __thiscall kj::ThrowOverflow::operator()(void)const \" (??RThrowOverflow@kj@@QBEXXZ) referenced in function \"public: class capnp::Data::Builder __thiscall capnp::_::PointerBuilder::getBlob<struct capnp::Data>(void const *,unsigned int)\" (??$getBlob@UData@capnp@@@PointerBuilder@_@capnp@@QAE?AVBuilder@Data@2@PBXI@Z)\r\n```\r\n\r\nEdit: It looks like, this is even true for classes derived from `MessageBuilder`. \r\nEdit 2: Can be fixed by adding `units.c++` to the required build files [here](https://github.com/capnproto/capnproto/blob/master/c%2B%2B/src/kj/CMakeLists.txt#L4)"},"comment":{"url":"https://api.github.com/repos/capnproto/capnproto/issues/comments/340307199","html_url":"https://github.com/capnproto/capnproto/issues/576#issuecomment-340307199","issue_url":"https://api.github.com/repos/capnproto/capnproto/issues/576","id":340307199,"user":{"login":"harrishancock","id":1030771,"avatar_url":"https://avatars0.githubusercontent.com/u/1030771?v=4","gravatar_id":"","url":"https://api.github.com/users/harrishancock","html_url":"https://github.com/harrishancock","followers_url":"https://api.github.com/users/harrishancock/followers","following_url":"https://api.github.com/users/harrishancock/following{/other_user}","gists_url":"https://api.github.com/users/harrishancock/gists{/gist_id}","starred_url":"https://api.github.com/users/harrishancock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harrishancock/subscriptions","organizations_url":"https://api.github.com/users/harrishancock/orgs","repos_url":"https://api.github.com/users/harrishancock/repos","events_url":"https://api.github.com/users/harrishancock/events{/privacy}","received_events_url":"https://api.github.com/users/harrishancock/received_events","type":"User","site_admin":false},"created_at":"2017-10-29T22:15:37Z","updated_at":"2017-10-29T22:15:37Z","author_association":"COLLABORATOR","body":"@Leandros, sorry for the delay. I presume you're building for Visual Studio? If so, which version?\r\n\r\nCommit e2cbc1b5 added code to layout.c++ that calls `assertMax()`, defined in units.h. That file must have had trouble compiling under MSVC at some point, so its implementation file was considered part of the non-lite-mode set of source files for libkj.\r\n\r\n@kentonv, now that VS can compile everything, perhaps a good solution to this would be to get rid of the difference in \"lite\" and \"heavy\" source code sets? Lite mode could still mean just libcapnp and libkj, but built from their full sources."}}
{"actor":{"display_login":"harrishancock"}}