Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verona Build Failing: attempting to reference a deleted function #125

Closed
salty-blue-mango opened this issue May 27, 2020 · 5 comments
Closed
Assignees
Labels
bug Something isn't working

Comments

@salty-blue-mango
Copy link

salty-blue-mango commented May 27, 2020

Freshly cloned repo following build steps in docs

Versions
Os: Windows 10
cmake version 3.17.20032601-MSVC_2
Visual Studio 2019 v16.6.0


       "C:\Users\Nate\source\repos\verona\build\INSTALL.vcxproj" (default target) (1) ->
       "C:\Users\Nate\source\repos\verona\build\ALL_BUILD.vcxproj" (default target) (3) ->
       "C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj" (default target) (9) ->
       (ClCompile target) ->
         C:\Users\Nate\source\repos\verona\src\rt\region\externalreference.h(55): error C2280: 'verona::rt::Object::Obj
       ect(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\
       interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_arena.h(237): error C2280: 'verona::rt::RegionBase::Reg
       ionBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpre
       ter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_trace.h(72): error C2280: 'verona::rt::RegionBase::Regi
       onBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpret
       er\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(66): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(75): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter\interpreter.cc(28): error C2280: 'verona::rt::V<verona::inte
       rpreter::EmptyCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted f
       unction [C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\externalreference.h(55): error C2280: 'verona::rt::Object::Obj
       ect(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\
       interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_arena.h(237): error C2280: 'verona::rt::RegionBase::Reg
       ionBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpre
       ter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_trace.h(72): error C2280: 'verona::rt::RegionBase::Regi
       onBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpret
       er\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(66): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(75): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter\object.cc(40): error C2280: 'verona::rt::Object::Object(void
       )': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\interpre
       ter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\externalreference.h(55): error C2280: 'verona::rt::Object::Obj
       ect(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\
       interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_arena.h(237): error C2280: 'verona::rt::RegionBase::Reg
       ionBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpre
       ter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_trace.h(72): error C2280: 'verona::rt::RegionBase::Regi
       onBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpret
       er\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(66): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(75): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\externalreference.h(55): error C2280: 'verona::rt::Object::Obj
       ect(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\
       interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_arena.h(237): error C2280: 'verona::rt::RegionBase::Reg
       ionBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpre
       ter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_trace.h(72): error C2280: 'verona::rt::RegionBase::Regi
       onBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpret
       er\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(66): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(75): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter-sys.vcxproj]


       "C:\Users\Nate\source\repos\verona\build\INSTALL.vcxproj" (default target) (1) ->
       "C:\Users\Nate\source\repos\verona\build\ALL_BUILD.vcxproj" (default target) (3) ->
       "C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj" (default target) (5) ->
         C:\Users\Nate\source\repos\verona\src\rt\region\externalreference.h(55): error C2280: 'verona::rt::Object::Obj
       ect(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\
       interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_arena.h(237): error C2280: 'verona::rt::RegionBase::Reg
       ionBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpre
       ter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_trace.h(72): error C2280: 'verona::rt::RegionBase::Regi
       onBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpret
       er\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(66): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(75): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter\interpreter.cc(28): error C2280: 'verona::rt::V<verona::inte
       rpreter::EmptyCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted f
       unction [C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\externalreference.h(55): error C2280: 'verona::rt::Object::Obj
       ect(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\
       interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_arena.h(237): error C2280: 'verona::rt::RegionBase::Reg
       ionBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpre
       ter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_trace.h(72): error C2280: 'verona::rt::RegionBase::Regi
       onBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpret
       er\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(66): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(75): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter\object.cc(40): error C2280: 'verona::rt::Object::Object(void
       )': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\interpre
       ter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\externalreference.h(55): error C2280: 'verona::rt::Object::Obj
       ect(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\
       interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_arena.h(237): error C2280: 'verona::rt::RegionBase::Reg
       ionBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpre
       ter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_trace.h(72): error C2280: 'verona::rt::RegionBase::Regi
       onBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpret
       er\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(66): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(75): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\externalreference.h(55): error C2280: 'verona::rt::Object::Obj
       ect(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpreter\
       interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_arena.h(237): error C2280: 'verona::rt::RegionBase::Reg
       ionBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpre
       ter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\rt\region\region_trace.h(72): error C2280: 'verona::rt::RegionBase::Regi
       onBase(void)': attempting to reference a deleted function [C:\Users\Nate\source\repos\verona\build\src\interpret
       er\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(66): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj]
         C:\Users\Nate\source\repos\verona\src\interpreter/object.h(75): error C2280: 'verona::rt::V<verona::interprete
       r::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)': attempting to reference a deleted function [
       C:\Users\Nate\source\repos\verona\build\src\interpreter\interpreter.vcxproj]

    0 Warning(s)
    44 Error(s)

Time Elapsed 00:01:33.82```
@rengolin
Copy link
Contributor

Hi Nate, thanks for the report.

Can you clarify which step it breaks? Perhaps pasting here all commands until you reach there?

We're using VS15 2017 on our CI, and yours is 2019, so the compiler should be fine. Perhaps this is an environment issue.

Have a look on our Azure pipeline script, it may help you find the right flags.

@salty-blue-mango
Copy link
Author

@rengolin I was successfully able to clone the repo and build it following these steps a few weeks ago. After pulling new code today I deleted my build directory to do a new build. The rebuild failed so I started fresh by deleting the repo and cloning a new one.

Steps:

-- Version: 6.2.0
-- Build type:
-- CXX_STANDARD: 17
-- Required features: cxx_variadic_templates
-- snmalloc: Using Windows 10 APIs
CMake Warning at src/rt/external/snmalloc/CMakeLists.txt:52 (message):
  Not generating clangformat target, no clang-format tool found
Call Stack (most recent call first):
  src/CMakeLists.txt:29 (clangformat_targets)


CMake Warning at testsuite/CMakeLists.txt:26 (message):
   Could not find OutputCheck - Test Suite not compiled


CMake Warning at testsuite/CMakeLists.txt:27 (message):
     Run: pip install OutputCheck


-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Nate/source/repos/verona/build
  • msbuild INSTALL.vcxproj /m /P:Configuration=Debug Note: Failure happens during this command
    • Output: Above in main issue

@rengolin
Copy link
Contributor

Thanks for the info. Our CI isn't reproducing your error and I don't have the same version. While I'm trying to get it, we may be able to at least find the culprit commit.

One thing you can do is a git bisect, using msbuild. If you don't have the commit that used to work, just pick a commit old enough. Since the bisect does a binary search, and we have less than 200 commits, it should make no difference, as long as the early commit builds fine.

Meanwhile, looking at the errors, they all seem to be of four types, default constructors:

error C2280: 'verona::rt::Object::Object(void)'
error C2280: 'verona::rt::RegionBase::RegionBase(void)'
error C2280: 'verona::rt::V<verona::interpreter::EmptyCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)'
error C2280: 'verona::rt::V<verona::interpreter::VMCown,verona::rt::RegionType::Cown,verona::rt::Cown>::V(void)'

Both RegionBase and V are derived classes from Object and Object's default constructor isn't deleted, but the copy ones are, which is at odds with the error message.

Perhaps we'll understand it more when you find which commit introduced the regression, or when I can get my hands on VS 2019.

@mjp41
Copy link
Member

mjp41 commented May 28, 2020

I observed this yesterday when I had used VS2019. I will take a look at fixing.

@mjp41 mjp41 self-assigned this May 28, 2020
@rengolin
Copy link
Contributor

Thanks Matt! I just managed to reproduce it this morning too, with the community version.

@rengolin rengolin added the bug Something isn't working label May 28, 2020
@mjp41 mjp41 closed this as completed Jun 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants