Andromeda icon indicating copy to clipboard operation
Andromeda copied to clipboard

Compile Error: use of deleted function

Open thalerjonathan opened this issue 4 years ago • 1 comments

I am trying to get Andromeda built on Ubuntu 20.02.2 LTS. I used stack build to build it and had to install a few Qt dependencies: qtbase5-dev and qtdeclarative5-dev. My stack version is 2.3.3. gcc/g++ version is 9.3.0

However, at some point the compilation process runs into the following error:

hsqml    > cbits/Class.cpp: In constructor ‘HsQMLClass::HsQMLClass(unsigned int*, unsigned int*, char*, HsStablePtr, void (**)(void*, void**), void (**)(void*, void**))’:
hsqml    >         
hsqml    > /tmp/stack-d0156022c8cffaa8/hsqml-0.3.4.0/cbits/Class.cpp:46:73:
hsqml    >      error: use of deleted function ‘QArrayData::QArrayData(const QArrayData&)’
hsqml    >        46 |         new(&mMetaStrData[i*sizeof(QByteArrayData)]) QByteArrayData(data);
hsqml    >           |                                                                         ^
hsqml    > In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:46,
hsqml    >                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:47,
hsqml    >                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/QMetaType:1,
hsqml    >         
hsqml    >                  /tmp/stack-d0156022c8cffaa8/hsqml-0.3.4.0/from cbits/Class.cpp:5:0: 
hsqml    >         
hsqml    > /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:48:22:
hsqml    >      note: ‘QArrayData::QArrayData(const QArrayData&)’ is implicitly deleted because the default definition would be ill-formed:
hsqml    >        48 | struct Q_CORE_EXPORT QArrayData
hsqml    >           |                      ^~~~~~~~~~
hsqml    >         
hsqml    > /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:48:22:
hsqml    >      error: use of deleted function ‘QtPrivate::RefCount::RefCount(const QtPrivate::RefCount&)’
hsqml    > In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:44,
hsqml    >                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:47,
hsqml    >                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/QMetaType:1,
hsqml    >         
hsqml    >                  /tmp/stack-d0156022c8cffaa8/hsqml-0.3.4.0/from cbits/Class.cpp:5:0: 
hsqml    >         
hsqml    > /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:51:7:
hsqml    >      note: ‘QtPrivate::RefCount::RefCount(const QtPrivate::RefCount&)’ is implicitly deleted because the default definition would be ill-formed:
hsqml    >        51 | class RefCount
hsqml    >           |       ^~~~~~~~
hsqml    >         
hsqml    > /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:51:7:
hsqml    >      error: use of deleted function ‘QBasicAtomicInteger<T>::QBasicAtomicInteger(const QBasicAtomicInteger<T>&) [with T = int]’
hsqml    > In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:46,
hsqml    >                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1210,
hsqml    >                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h:43,
hsqml    >                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:48,
hsqml    >                  from /usr/include/x86_64-linux-gnu/qt5/QtCore/QMetaObject:1,
hsqml    >         
hsqml    >                  /tmp/stack-d0156022c8cffaa8/hsqml-0.3.4.0/from cbits/Class.cpp:4:0: 
hsqml    >         
hsqml    > /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:222:5:
hsqml    >      note: declared here
hsqml    >       222 |     QBasicAtomicInteger(const QBasicAtomicInteger &) = delete;
hsqml    >           |     ^~~~~~~~~~~~~~~~~~~
                   
--  While building package hsqml-0.3.4.0 using:
      /tmp/stack-d0156022c8cffaa8/hsqml-0.3.4.0/.stack-work/dist/x86_64-linux-tinfo6/Cabal-1.22.5.0/setup/setup --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-1.22.5.0 build --ghc-options ""
    Process exited with code: ExitFailure 1

thalerjonathan avatar Mar 27 '21 07:03 thalerjonathan

@thalerjonathan Yeah, thank you for reporting. It's all known, because Haskell has changed a lot since 2016. I'm working on the second edition and want to restore the project and the samples.

graninas avatar Mar 28 '21 15:03 graninas