Linking Error, missing PointerToArray operator = impl


I’m trying to compile the latest version from git (b65ad85…, Mon Oct 12 23:28:53 2015 +0200)
and get the following undefined reference error:

built/lib/ undefined reference to `PointerToArray::operator=(PointerToArray&&)’
collect2: error: ld returned 1 exit status
Storing dependency cache.
Elapsed Time: 1 sec
The following command returned a non-zero value: g++ -o built/bin/bam2egg -Lbuilt/lib -Lbuilt/tmp built/tmp/bam2egg_bamToEgg.o built/lib/libp3eggbase.a built/lib/libp3progbase.a built/lib/libp3converter.a built/lib/libp3pandatoolbase.a built/lib/ built/lib/ built/lib/ built/lib/ built/lib/ built/lib/libp3pystub.a -pthread -Wl,-allow-multiple-definition -L/usr/X11R6/lib -lrfftw -lfftw -ldl

if seems that USE_MOVE_SEMANTICS is on.
There seems to be an implementation in src/express/pointToArray.I, line 708.
Dont know why it’s not found.

I’m on ubuntu 14.04. gcc --version: gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
I am passing CXXFLAGS=-std=c++0x; without it I get an error that char32_t is not defined

Sorry about the issue with char32_t. I usually build in -std=c++11 mode so I didn’t notice a reference to char32_t had sneaked in. I’ve now pushed a fix for that.

As for the other issue, it seems that you compiled part of the build with -std=c++11 and part without. I recommend deleting the “built” directory and starting over, with CXXFLAGS=-std=c++11 either set the entire time or not at all. (I do recommend leaving it on, as using C++11 gives some performance benefits.)

Thanks, that was it.