git version does not compile

Bug #1064267 reported by Sebastian Müller
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Lightspark
Fix Released
Undecided
Unassigned

Bug Description

I try to compile lightspark from git (cdcc59f) on gentoo. Build fails when using lightspark-9999 ebuild from dauleet overlay and also when I try to compile the git version as described in README.txt file.

Both ways result in the same error (see attached error.log for more details):

/opt/lightspark/src/backends/extscriptobject.cpp:216:29: instantiated from here
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4/include/g++-v4/bits/unique_ptr.h:207:7: Fehler: deleted function »std::unique_ptr<_Tp, _Tp_Deleter>::unique_ptr(const std::unique_ptr<_Tp, _Tp_Deleter>&) [with _Tp = lightspark::ExtObject, _Tp_Deleter = std::default_delete<lightspark::ExtObject>, std::unique_ptr<_Tp, _Tp_Deleter> = std::unique_ptr<lightspark::ExtObject>
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4/include/g++-v4/bits/stl_pair.h:72:5: Fehler: used here
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4/include/g++-v4/set:60:0,
                 from /opt/lightspark/src/logger.h:27,
                 from /opt/lightspark/src/swftypes.h:29,
                 from /opt/lightspark/src/asobject.h:24,
                 from /opt/lightspark/src/backends/extscriptobject.cpp:24:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4/include/g++-v4/bits/stl_tree.h: In constructor »std::_Rb_tree_node<_Val>::_Rb_tree_node(_Args&& ...) [with _Args = {const std::pair<const lightspark::ASObject* const, std::unique_ptr<lightspark::ExtObject> >&}, _Val = std::pair<const lightspark::ASObject* const, std::unique_ptr<lightspark::ExtObject> >]«:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4/include/g++-v4/bits/stl_tree.h:136:49: Anmerkung: synthesized method »std::pair<const lightspark::ASObject* const, std::unique_ptr<lightspark::ExtObject> >::pair(const std::pair<const lightspark::ASObject* const, std::unique_ptr<lightspark::ExtObject> >&)« first required here
make[2]: *** [src/CMakeFiles/spark.dir/backends/extscriptobject.cpp.o] Fehler 1
make[1]: *** [src/CMakeFiles/spark.dir/all] Fehler 2
make: *** [all] Fehler 2

Here some information about my system:

app-shells/bash: 4.2_p37
dev-lang/python: 2.6.8, 2.7.3-r2, 3.2.3
dev-util/cmake: 2.8.9
dev-util/pkgconfig: 0.27.1
sys-apps/baselayout: 2.1-r1
sys-devel/autoconf: 2.13, 2.68
sys-devel/automake: 1.11.6
sys-devel/binutils: 2.22-r1
sys-devel/gcc: 4.5.4
sys-devel/gcc-config: 1.7.3
sys-devel/libtool: 2.4-r1
sys-devel/make: 3.82-r3
sys-kernel/linux-headers: 3.4-r2 (virtual/os-headers)
sys-libs/glibc: 2.15-r2

Revision history for this message
Sebastian Müller (mueller-l) wrote :
Revision history for this message
Antti Ajanki (aajanki) wrote :

It might be that your compiler (gcc 4.5.4) is too old to fully support unique_ptr and move constructors. Are you able to test on a newer gcc? It compiles at least on gcc 4.7.2.

If my guess is correct, we need to decide if we want to support gcc 4.5 and avoid unique_ptrs.

Revision history for this message
Sebastian Müller (mueller-l) wrote :

On gentoo 4.5.4 is actual the stable version. GCC 4.6.x and 4.7.x are unstable.

I'll install 4.6.x and test if it compiles.

Revision history for this message
Sebastian Müller (mueller-l) wrote :

I was able to compile lightspark-9999 today with gcc 4.6.3

$ gcc-config -l
 [1] x86_64-pc-linux-gnu-4.5.4
 [2] x86_64-pc-linux-gnu-4.6.3 *

$ emerge --info
app-shells/bash: 4.2_p37
dev-java/java-config: 2.1.11-r3
dev-lang/python: 2.6.8, 2.7.3-r2, 3.2.3
dev-util/cmake: 2.8.9
dev-util/pkgconfig: 0.27.1
sys-apps/baselayout: 2.1-r1
sys-apps/openrc: 0.9.8.4
sys-apps/sandbox: 2.5
sys-devel/autoconf: 2.13, 2.68
sys-devel/automake: 1.11.6
sys-devel/binutils: 2.22-r1
sys-devel/gcc: 4.5.4, 4.6.3
sys-devel/gcc-config: 1.7.3
sys-devel/libtool: 2.4-r1
sys-devel/make: 3.82-r3
sys-kernel/linux-headers: 3.4-r2 (virtual/os-headers)
sys-libs/glibc: 2.15-r3

Thanks a lot for the hint

Antti Ajanki (aajanki)
Changed in lightspark:
status: New → Confirmed
Revision history for this message
Antti Ajanki (aajanki) wrote :

I documented gcc 4.6 as the minimum required version.

Patches to get rid of the unique_ptr's are welcome.

Changed in lightspark:
status: Confirmed → Fix Committed
Antti Ajanki (aajanki)
Changed in lightspark:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.