Diff of the two buildlogs:

--
--- b1/build.log	2024-12-25 06:17:34.118314280 +0000
+++ b2/build.log	2024-12-25 06:21:16.864195640 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Tue Dec 24 18:15:15 -12 2024
-I: pbuilder-time-stamp: 1735107315
+I: Current time: Wed Dec 25 20:17:46 +14 2024
+I: pbuilder-time-stamp: 1735107466
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz]
 I: copying local configuration
@@ -30,52 +30,84 @@
 dpkg-source: info: applying 03_portaudio.patch
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/6568/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/32370/tmp/hooks/D01_modify_environment starting
+debug: Running on virt32c.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Dec 25 06:18 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/32370/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/32370/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='armhf'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 '
-  DISTRIBUTION='trixie'
-  HOME='/root'
-  HOST_ARCH='armhf'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=armhf
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 '
+  DIRSTACK=()
+  DISTRIBUTION=trixie
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=arm
+  HOST_ARCH=armhf
   IFS=' 	
   '
-  INVOCATION_ID='3bf8eda51c7e464f9c599dd76b715a98'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='6568'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=d86f59d45c13460e89df5ee8e70d1871
+  LANG=C
+  LANGUAGE=it_CH:it
+  LC_ALL=C
+  MACHTYPE=arm-unknown-linux-gnueabihf
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnueabihf
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=32370
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.192GuFHx/pbuilderrc_AS4V --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.192GuFHx/b1 --logfile b1/build.log transcend_0.3.dfsg2-5.dsc'
-  SUDO_GID='114'
-  SUDO_UID='108'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://10.0.0.15:3142/'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.192GuFHx/pbuilderrc_m7rf --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.192GuFHx/b2 --logfile b2/build.log transcend_0.3.dfsg2-5.dsc'
+  SUDO_GID=113
+  SUDO_UID=107
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://10.0.0.15:3142/
 I: uname -a
-  Linux virt64a 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-28-armmp-lpae #1 SMP Debian 6.1.119-1 (2024-11-22) armv7l GNU/Linux
 I: ls -l /bin
   lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/6568/tmp/hooks/D02_print_environment finished
+I: user script /srv/workspace/pbuilder/32370/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -263,7 +295,7 @@
 Get: 137 http://deb.debian.org/debian trixie/main armhf libportaudio2 armhf 19.6.0-1.2+b3 [56.4 kB]
 Get: 138 http://deb.debian.org/debian trixie/main armhf libportaudiocpp0 armhf 19.6.0-1.2+b3 [15.1 kB]
 Get: 139 http://deb.debian.org/debian trixie/main armhf portaudio19-dev armhf 19.6.0-1.2+b3 [96.3 kB]
-Fetched 79.7 MB in 2s (43.4 MB/s)
+Fetched 79.7 MB in 2s (31.9 MB/s)
 debconf: delaying package configuration, since apt-utils is not installed
 Selecting previously unselected package libfftw3-double3:armhf.
 (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19681 files and directories currently installed.)
@@ -867,7 +899,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/transcend-0.3.dfsg2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../transcend_0.3.dfsg2-5_source.changes
+I: user script /srv/workspace/pbuilder/32370/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for trixie
+I: user script /srv/workspace/pbuilder/32370/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/transcend-0.3.dfsg2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../transcend_0.3.dfsg2-5_source.changes
 dpkg-buildpackage: info: source package transcend
 dpkg-buildpackage: info: source version 0.3.dfsg2-5
 dpkg-buildpackage: info: source distribution unstable
@@ -910,17 +946,18 @@
 	OPTIMIZE_FLAG="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security \
 		-DLEVELS_DIR=\\\"/usr/share/games/transcend/levels\\\"" \
 	PLATFORM_LINK_FLAGS="-Wl,-z,relro -lGL -lglut -lGLU -lportaudio -lpthread"
-	cd Transcend/game && make -j3 "INSTALL=install --strip-program=true" GXX=\$\(CXX\) "OPTIMIZE_FLAG=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\\\"/usr/share/games/transcend/levels\\\"" "PLATFORM_LINK_FLAGS=-Wl,-z,relro -lGL -lglut -lGLU -lportaudio -lpthread"
+	cd Transcend/game && make -j4 "INSTALL=install --strip-program=true" GXX=\$\(CXX\) "OPTIMIZE_FLAG=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\\\"/usr/share/games/transcend/levels\\\"" "PLATFORM_LINK_FLAGS=-Wl,-z,relro -lGL -lglut -lGLU -lportaudio -lpthread"
 make[2]: Entering directory '/build/reproducible-path/transcend-0.3.dfsg2/Transcend/game'
 rm -f Makefile.minorGems_dependencies
-rm -f Makefile.dependencies
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -I../.. -MM ../../minorGems/network/linux/HostAddressLinux.cpp ../../minorGems/network/linux/SocketLinux.cpp ../../minorGems/network/linux/SocketServerLinux.cpp ../../minorGems/network/linux/SocketClientLinux.cpp ../../minorGems/network/NetworkFunctionLocks.cpp ../../minorGems/io/file/linux/PathLinux.cpp ../../minorGems/io/file/unix/DirectoryUnix.cpp ../../minorGems/io/linux/TypeIOLinux.cpp ../../minorGems/system/unix/TimeUnix.cpp ../../minorGems/system/linux/ThreadLinux.cpp ../../minorGems/system/linux/MutexLockLinux.cpp ../../minorGems/system/linux/BinarySemaphoreLinux.cpp ../../minorGems/util/log/AppLog.cpp ../../minorGems/util/log/PrintLog.cpp ../../minorGems/util/log/FileLog.cpp ../../minorGems/util/log/Log.cpp ../../minorGems/util/printUtils.cpp ../../minorGems/network/web/WebClient.cpp ../../minorGems/network/web/URLUtils.cpp ../../minorGems/network/web/MimeTyper.cpp ../../minorGems/util/StringBufferOutputStream.cpp ../../minorGems/formats/xml/XMLUtils.cpp ../../minorGems/formats/html/HTMLUtils.cpp ../../minorGems/util/SettingsManager.cpp ../../minorGems/util/stringUtils.cpp ../../minorGems/crypto/hashes/sha1.cpp ../../minorGems/sound/formats/aiff.cpp ../../minorGems/util/development/memory/MemoryTrack.cpp ../../minorGems/util/development/memory/debugMemory.cpp ../../minorGems/network/p2pParts/HostCatcher.cpp ../../minorGems/network/p2pParts/OutboundChannel.cpp ../../minorGems/network/p2pParts/DuplicateMessageDetector.cpp ../../minorGems/network/p2pParts/protocolUtils.cpp ../../minorGems/network/p2pParts/MessagePerSecondLimiter.cpp ../../minorGems/formats/encodingUtils.cpp ../../minorGems/network/web/server/WebServer.cpp ../../minorGems/network/web/server/RequestHandlingThread.cpp ../../minorGems/network/web/server/ThreadHandlingThread.cpp ../../minorGems/network/web/server/ConnectionPermissionHandler.cpp ../../minorGems/system/StopSignalThread.cpp ../../minorGems/system/FinishedSignalThread.cpp ../../minorGems/graphics/openGL/ScreenGL.cpp >> Makefile.minorGems_dependencies.temp
+rm -f Makefile.dependencies
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -MM game.cpp DrawableObject.cpp LevelDirectoryManager.cpp NamedColorFactory.cpp ParameterizedSpace.cpp ParameterSpaceControlPoint.cpp ObjectParameterSpaceControlPoint.cpp ParameterizedObject.cpp ShipBullet.cpp ShipBulletManager.cpp Enemy.cpp EnemyManager.cpp SculptureManager.cpp BossManager.cpp PortalManager.cpp SoundSamples.cpp SoundPlayer.cpp ReverbSoundFilter.cpp SoundParameterSpaceControlPoint.cpp StereoSoundParameterSpaceControlPoint.cpp ParameterizedStereoSound.cpp OnePointPlayableSound.cpp BulletSound.cpp MusicNoteWaveTable.cpp MusicPart.cpp MusicPlayer.cpp  >> Makefile.dependencies
 cat Makefile.minorGems_dependencies.temp | sed ' s/^HostAddress.*\.o/${HOST_ADDRESS_O}/; s/^Socket.*\.o/${SOCKET_O}/; s/^SocketServer.*\.o/${SOCKET_SERVER_O}/; s/^SocketClient.*\.o/${SOCKET_CLIENT_O}/; s/^NetworkFunctionLocks.*\.o/${NETWORK_FUNCTION_LOCKS_O}/; s/^Path.*\.o/${PATH_O}/; s/^Directory.*\.o/${DIRECTORY_O}/; s/^TypeIO.*\.o/${TYPE_IO_O}/; s/^Time.*\.o/${TIME_O}/; s/^Thread.*\.o/${THREAD_O}/; s/^MutexLock.*\.o/${MUTEX_LOCK_O}/; s/^BinarySemaphore.*\.o/${BINARY_SEMAPHORE_O}/; s/^AppLog.*\.o/${APP_LOG_O}/; s/^PrintLog.*\.o/${PRINT_LOG_O}/; s/^FileLog.*\.o/${FILE_LOG_O}/; s/^Log.*\.o/${LOG_O}/; s/^PrintUtils.*\.o/${PRINT_UTILS_O}/; s/^WebClient.*\.o/${WEB_CLIENT_O}/; s/^URLUtils.*\.o/${URL_UTILS_O}/; s/^MimeTyper.*\.o/${MIME_TYPER_O}/; s/^StringBufferOutputStream.*\.o/${STRING_BUFFER_OUTPUT_STREAM_O}/; s/^XMLUtils.*\.o/${XML_UTILS_O}/; s/^HTMLUtils.*\.o/${HTML_UTILS_O}/; s/^SettingsManager.*\.o/${SETTINGS_MANAGER_O}/; s/^stringUtils.*\.o/${STRING_UTILS_O}/; s/^sha1.*\.o/${SHA1_O}/; s/^aiff.*\.o/${AIFF_O}/; s/^MemoryTrack.*\.o/${MEMORY_TRACK_O}/; s/^DebugMemory.*\.o/${DEBUG_MEMORY_O}/; s/^HostCatcher.*\.o/${HOST_CATCHER_O}/; s/^OutboundChannel.*\.o/${OUTBOUND_CHANNEL_O}/; s/^DuplicateMessageDetector.*\.o/${DUPLICATE_MESSAGE_DETECTOR_O}/; s/^protocolUtils.*\.o/${PROTOCOL_UTILS_O}/; s/^MessagePerSecondLimiter.*\.o/${MESSAGE_PER_SECOND_LIMITER_O}/; s/^encodingUtils.*\.o/${ENCODING_UTILS_O}/; s/^WebServer.*\.o/${WEB_SERVER_O }/; s/^RequestHandlingThread.*\.o/${REQUEST_HANDLING_THREAD_O}/; s/^ThreadHandlingThread.*\.o/${THREAD_HANDLING_THREAD_O}/; s/^ConnectionPermissionHandler.*\.o/${CONNECTION_PERMISSION_HANDLER_O}/; s/^StopSignalThread.*\.o/${STOP_SIGNAL_THREAD_O}/; s/^FinishedSignalThread.*\.o/${FINISHED_SIGNAL_THREAD_O}/; s/^ScreenGL.*\.o/${SCREEN_GL_O}/; ' >> Makefile.minorGems_dependencies
 rm -f Makefile.minorGems_dependencies.temp
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o game.o game.cpp
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o DrawableObject.o DrawableObject.cpp
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o LevelDirectoryManager.o LevelDirectoryManager.cpp
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o NamedColorFactory.o NamedColorFactory.cpp
 In file included from LevelDirectoryManager.h:24,
                  from LevelDirectoryManager.cpp:16:
 ../../minorGems/io/file/File.h: In member function 'File* File::getParentDirectory()':
@@ -930,6 +967,15 @@
 ../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   674 |             char *parentName = "..";
       |                                ^~~~
+In file included from LevelDirectoryManager.h:24,
+                 from NamedColorFactory.cpp:20:
+../../minorGems/io/file/File.h: In member function 'File* File::getParentDirectory()':
+../../minorGems/io/file/File.h:645:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
+  645 |             parentPath = mPath->append( ".." );
+      |                                         ^~~~
+../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
+  674 |             char *parentName = "..";
+      |                                ^~~~
 LevelDirectoryManager.cpp: In static member function 'static File* LevelDirectoryManager::getLevelDirectory()':
 <command-line>: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
 LevelDirectoryManager.cpp:45:48: note: in expansion of macro 'LEVELS_DIR'
@@ -938,66 +984,10 @@
 LevelDirectoryManager.cpp:46:63: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    46 |         File *level1Directory = levelDirectory->getChildFile( "001" );
       |                                                               ^~~~~
-In file included from DrawableObject.h:28,
-                 from DrawableObject.cpp:27:
-../../minorGems/math/geometry/Vector3D.h: In member function 'double Vector3D::getAngleTo(Vector3D*)':
-../../minorGems/math/geometry/Vector3D.h:417:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  417 |     delete crossVector;
-      |     ^~~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h:418:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  418 |     delete normalThis;
-      |     ^~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h:419:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  419 |     delete normalOther;
-      |     ^~~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h: In member function 'Angle3D* Vector3D::getZAngleTo(Vector3D*)':
-../../minorGems/math/geometry/Vector3D.h:524:5: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  524 |     delete rightAngleZ;
-      |     ^~~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h:528:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  528 |     delete normalThis;
-      |     ^~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h:529:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  529 |     delete normalOther;
-      |     ^~~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h: In member function 'Angle3D* Vector3D::getYAngleTo(Vector3D*)':
-../../minorGems/math/geometry/Vector3D.h:575:5: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  575 |     delete rightAngleY;
-      |     ^~~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h:579:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  579 |     delete normalThis;
-      |     ^~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h:580:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  580 |     delete normalOther;
-      |     ^~~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h: In member function 'Angle3D* Vector3D::getXAngleTo(Vector3D*)':
-../../minorGems/math/geometry/Vector3D.h:626:5: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  626 |     delete rightAngleX;
-      |     ^~~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h:630:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  630 |     delete normalThis;
-      |     ^~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h:631:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  631 |     delete normalOther;
-      |     ^~~~~~~~~~~~~~~~~~
-../../minorGems/math/geometry/Vector3D.h: In member function 'void Vector3D::reverseRotate(Angle3D*)':
-../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  732 |         delete actualAngle;
-      |         ^~~~~~~~~~~~~~~~~~
-DrawableObject.cpp: In destructor 'virtual DrawableObject::~DrawableObject()':
-DrawableObject.cpp:54:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-   54 |         delete mTriangleVertices[i];
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-DrawableObject.cpp:58:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-   58 |         delete mBorderVertices[i];
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
-DrawableObject.cpp: In member function 'void DrawableObject::draw(double, Angle3D*, Vector3D*)':
-DrawableObject.cpp:220:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  220 |         delete worldTriangleVertices[i];
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-DrawableObject.cpp:225:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
-  225 |         delete worldBorderVertices[i];
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+NamedColorFactory.cpp: In static member function 'static Color* NamedColorFactory::getColor(char*)':
+NamedColorFactory.cpp:38:58: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
+   38 |     File *colorDirectory = levelDirectory->getChildFile( "colors" );
+      |                                                          ^~~~~~~~
 In file included from ../../minorGems/graphics/openGL/ScreenGL.h:51,
                  from game.cpp:131:
 ../../minorGems/math/geometry/Vector3D.h: In member function 'double Vector3D::getAngleTo(Vector3D*)':
@@ -1051,7 +1041,6 @@
 ../../minorGems/graphics/openGL/ScreenGL.h:360:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   360 |         delete mViewOrientation;
       |         ^~~~~~~~~~~~~~~~~~~~~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o NamedColorFactory.o NamedColorFactory.cpp
 ../../minorGems/graphics/openGL/ScreenGL.h: In member function 'void ScreenGL::setViewPosition(Vector3D*)':
 ../../minorGems/graphics/openGL/ScreenGL.h:394:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   394 |     delete mViewPosition;
@@ -1363,19 +1352,66 @@
 game.cpp:2804:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
  2804 |     delete currentPosition;
       |     ^~~~~~~~~~~~~~~~~~~~~~
-In file included from LevelDirectoryManager.h:24,
-                 from NamedColorFactory.cpp:20:
-../../minorGems/io/file/File.h: In member function 'File* File::getParentDirectory()':
-../../minorGems/io/file/File.h:645:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
-  645 |             parentPath = mPath->append( ".." );
-      |                                         ^~~~
-../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
-  674 |             char *parentName = "..";
-      |                                ^~~~
-NamedColorFactory.cpp: In static member function 'static Color* NamedColorFactory::getColor(char*)':
-NamedColorFactory.cpp:38:58: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
-   38 |     File *colorDirectory = levelDirectory->getChildFile( "colors" );
-      |                                                          ^~~~~~~~
+In file included from DrawableObject.h:28,
+                 from DrawableObject.cpp:27:
+../../minorGems/math/geometry/Vector3D.h: In member function 'double Vector3D::getAngleTo(Vector3D*)':
+../../minorGems/math/geometry/Vector3D.h:417:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  417 |     delete crossVector;
+      |     ^~~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h:418:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  418 |     delete normalThis;
+      |     ^~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h:419:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  419 |     delete normalOther;
+      |     ^~~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h: In member function 'Angle3D* Vector3D::getZAngleTo(Vector3D*)':
+../../minorGems/math/geometry/Vector3D.h:524:5: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  524 |     delete rightAngleZ;
+      |     ^~~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h:528:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  528 |     delete normalThis;
+      |     ^~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h:529:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  529 |     delete normalOther;
+      |     ^~~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h: In member function 'Angle3D* Vector3D::getYAngleTo(Vector3D*)':
+../../minorGems/math/geometry/Vector3D.h:575:5: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  575 |     delete rightAngleY;
+      |     ^~~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h:579:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  579 |     delete normalThis;
+      |     ^~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h:580:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  580 |     delete normalOther;
+      |     ^~~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h: In member function 'Angle3D* Vector3D::getXAngleTo(Vector3D*)':
+../../minorGems/math/geometry/Vector3D.h:626:5: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  626 |     delete rightAngleX;
+      |     ^~~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h:630:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  630 |     delete normalThis;
+      |     ^~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h:631:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  631 |     delete normalOther;
+      |     ^~~~~~~~~~~~~~~~~~
+../../minorGems/math/geometry/Vector3D.h: In member function 'void Vector3D::reverseRotate(Angle3D*)':
+../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  732 |         delete actualAngle;
+      |         ^~~~~~~~~~~~~~~~~~
+DrawableObject.cpp: In destructor 'virtual DrawableObject::~DrawableObject()':
+DrawableObject.cpp:54:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+   54 |         delete mTriangleVertices[i];
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
+DrawableObject.cpp:58:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+   58 |         delete mBorderVertices[i];
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
+DrawableObject.cpp: In member function 'void DrawableObject::draw(double, Angle3D*, Vector3D*)':
+DrawableObject.cpp:220:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  220 |         delete worldTriangleVertices[i];
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+DrawableObject.cpp:225:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
+  225 |         delete worldBorderVertices[i];
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ParameterizedSpace.o ParameterizedSpace.cpp
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ParameterSpaceControlPoint.o ParameterSpaceControlPoint.cpp
 In file included from ParameterSpaceControlPoint.h:15,
@@ -1477,6 +1513,7 @@
    63 |     double weightOfSmallerSet;
       |            ^~~~~~~~~~~~~~~~~~
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ParameterizedObject.o ParameterizedObject.cpp
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ShipBullet.o ShipBullet.cpp
 In file included from ObjectParameterSpaceControlPoint.h:36,
                  from ObjectParameterSpaceControlPoint.cpp:35:
 ../../minorGems/math/geometry/Vector3D.h: In member function 'double Vector3D::getAngleTo(Vector3D*)':
@@ -1590,8 +1627,6 @@
 ../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   732 |         delete actualAngle;
       |         ^~~~~~~~~~~~~~~~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ShipBullet.o ShipBullet.cpp
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ShipBulletManager.o ShipBulletManager.cpp
 In file included from ParameterizedObject.h:21,
                  from ShipBullet.h:15,
                  from ShipBullet.cpp:10:
@@ -1648,7 +1683,17 @@
 ../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   674 |             char *parentName = "..";
       |                                ^~~~
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ShipBulletManager.o ShipBulletManager.cpp
+ShipBullet.cpp: In constructor 'ShipBullet::ShipBullet(FILE*, char*)':
+ShipBullet.cpp:84:15: warning: argument 1 null where non-null expected [-Wnonnull]
+   84 |         fclose( farRangeFILE );
+      |         ~~~~~~^~~~~~~~~~~~~~~~
+In file included from ../../minorGems/math/geometry/Vector3D.h:65:
+/usr/include/stdio.h:184:12: note: in a call to function 'int fclose(FILE*)' declared 'nonnull'
+  184 | extern int fclose (FILE *__stream) __nonnull ((1));
+      |            ^~~~~~
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o Enemy.o Enemy.cpp
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o EnemyManager.o EnemyManager.cpp
 In file included from ParameterizedObject.h:21,
                  from ShipBullet.h:15,
                  from ShipBulletManager.h:30,
@@ -1729,15 +1774,6 @@
 ShipBulletManager.cpp:349:13: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   349 |             delete *( mCurrentPositions->getElement( i ) );
       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-ShipBullet.cpp: In constructor 'ShipBullet::ShipBullet(FILE*, char*)':
-ShipBullet.cpp:84:15: warning: argument 1 null where non-null expected [-Wnonnull]
-   84 |         fclose( farRangeFILE );
-      |         ~~~~~~^~~~~~~~~~~~~~~~
-In file included from ../../minorGems/math/geometry/Vector3D.h:65:
-/usr/include/stdio.h:184:12: note: in a call to function 'int fclose(FILE*)' declared 'nonnull'
-  184 | extern int fclose (FILE *__stream) __nonnull ((1));
-      |            ^~~~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o EnemyManager.o EnemyManager.cpp
 In file included from ParameterizedObject.h:21,
                  from Enemy.h:18,
                  from Enemy.cpp:16:
@@ -1972,6 +2008,7 @@
 SculptureManager.cpp:631:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   631 |     delete zeroVector;
       |     ^~~~~~~~~~~~~~~~~
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o PortalManager.o PortalManager.cpp
 In file included from ParameterizedObject.h:21,
                  from Enemy.h:18,
                  from BossManager.h:27,
@@ -2043,10 +2080,6 @@
 BossManager.cpp:389:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   389 |         delete bossVelocityVector;
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o PortalManager.o PortalManager.cpp
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o SoundSamples.o SoundSamples.cpp
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o SoundPlayer.o SoundPlayer.cpp
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ReverbSoundFilter.o ReverbSoundFilter.cpp
 In file included from ParameterizedObject.h:21,
                  from PortalManager.h:15,
                  from PortalManager.cpp:10:
@@ -2094,7 +2127,6 @@
 ../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   732 |         delete actualAngle;
       |         ^~~~~~~~~~~~~~~~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o SoundParameterSpaceControlPoint.o SoundParameterSpaceControlPoint.cpp
 PortalManager.cpp: In destructor 'virtual PortalManager::~PortalManager()':
 PortalManager.cpp:35:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
    35 |         delete mCurrentPosition;
@@ -2102,6 +2134,11 @@
 PortalManager.cpp:37:5: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
    37 |     delete mCurrentRotation;
       |     ^~~~~~~~~~~~~~~~~~~~~~~
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o SoundSamples.o SoundSamples.cpp
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o SoundPlayer.o SoundPlayer.cpp
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ReverbSoundFilter.o ReverbSoundFilter.cpp
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o SoundParameterSpaceControlPoint.o SoundParameterSpaceControlPoint.cpp
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o StereoSoundParameterSpaceControlPoint.o StereoSoundParameterSpaceControlPoint.cpp
 In file included from ParameterizedObject.h:21,
                  from SculptureManager.h:33,
                  from MusicPlayer.h:16,
@@ -2150,7 +2187,7 @@
 ../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   732 |         delete actualAngle;
       |         ^~~~~~~~~~~~~~~~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o StereoSoundParameterSpaceControlPoint.o StereoSoundParameterSpaceControlPoint.cpp
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ParameterizedStereoSound.o ParameterizedStereoSound.cpp
 In file included from ParameterSpaceControlPoint.h:15,
                  from SoundParameterSpaceControlPoint.h:23,
                  from SoundParameterSpaceControlPoint.cpp:22:
@@ -2255,9 +2292,7 @@
 ../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   732 |         delete actualAngle;
       |         ^~~~~~~~~~~~~~~~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ParameterizedStereoSound.o ParameterizedStereoSound.cpp
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o OnePointPlayableSound.o OnePointPlayableSound.cpp
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o BulletSound.o BulletSound.cpp
 In file included from ParameterizedStereoSound.h:15,
                  from ParameterizedStereoSound.cpp:10:
 ../../minorGems/math/geometry/Vector3D.h: In member function 'double Vector3D::getAngleTo(Vector3D*)':
@@ -2304,10 +2339,11 @@
 ../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   732 |         delete actualAngle;
       |         ^~~~~~~~~~~~~~~~~~
-In file included from ParameterSpaceControlPoint.h:15,
-                 from StereoSoundParameterSpaceControlPoint.h:20,
-                 from OnePointPlayableSound.h:16,
-                 from OnePointPlayableSound.cpp:12:
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o BulletSound.o BulletSound.cpp
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o MusicNoteWaveTable.o MusicNoteWaveTable.cpp
+In file included from ParameterizedStereoSound.h:15,
+                 from BulletSound.h:15,
+                 from BulletSound.cpp:10:
 ../../minorGems/math/geometry/Vector3D.h: In member function 'double Vector3D::getAngleTo(Vector3D*)':
 ../../minorGems/math/geometry/Vector3D.h:417:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   417 |     delete crossVector;
@@ -2352,9 +2388,29 @@
 ../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   732 |         delete actualAngle;
       |         ^~~~~~~~~~~~~~~~~~
-In file included from ParameterizedStereoSound.h:15,
-                 from BulletSound.h:15,
-                 from BulletSound.cpp:10:
+In file included from LevelDirectoryManager.h:24,
+                 from MusicNoteWaveTable.cpp:14:
+../../minorGems/io/file/File.h: In member function 'File* File::getParentDirectory()':
+../../minorGems/io/file/File.h:645:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
+  645 |             parentPath = mPath->append( ".." );
+      |                                         ^~~~
+../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
+  674 |             char *parentName = "..";
+      |                                ^~~~
+In file included from LevelDirectoryManager.h:24,
+                 from BulletSound.cpp:11:
+../../minorGems/io/file/File.h: In member function 'File* File::getParentDirectory()':
+../../minorGems/io/file/File.h:645:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
+  645 |             parentPath = mPath->append( ".." );
+      |                                         ^~~~
+../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
+  674 |             char *parentName = "..";
+      |                                ^~~~
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o MusicPart.o MusicPart.cpp
+In file included from ParameterSpaceControlPoint.h:15,
+                 from StereoSoundParameterSpaceControlPoint.h:20,
+                 from OnePointPlayableSound.h:16,
+                 from OnePointPlayableSound.cpp:12:
 ../../minorGems/math/geometry/Vector3D.h: In member function 'double Vector3D::getAngleTo(Vector3D*)':
 ../../minorGems/math/geometry/Vector3D.h:417:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   417 |     delete crossVector;
@@ -2399,26 +2455,14 @@
 ../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   732 |         delete actualAngle;
       |         ^~~~~~~~~~~~~~~~~~
-In file included from LevelDirectoryManager.h:24,
-                 from BulletSound.cpp:11:
-../../minorGems/io/file/File.h: In member function 'File* File::getParentDirectory()':
-../../minorGems/io/file/File.h:645:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
-  645 |             parentPath = mPath->append( ".." );
-      |                                         ^~~~
-../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
-  674 |             char *parentName = "..";
-      |                                ^~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o MusicNoteWaveTable.o MusicNoteWaveTable.cpp
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o MusicPart.o MusicPart.cpp
-In file included from LevelDirectoryManager.h:24,
-                 from MusicNoteWaveTable.cpp:14:
-../../minorGems/io/file/File.h: In member function 'File* File::getParentDirectory()':
-../../minorGems/io/file/File.h:645:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
-  645 |             parentPath = mPath->append( ".." );
-      |                                         ^~~~
-../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
-  674 |             char *parentName = "..";
-      |                                ^~~~
+BulletSound.cpp: In constructor 'BulletSound::BulletSound(FILE*, char*)':
+BulletSound.cpp:84:15: warning: argument 1 null where non-null expected [-Wnonnull]
+   84 |         fclose( farRangeFILE );
+      |         ~~~~~~^~~~~~~~~~~~~~~~
+In file included from ../../minorGems/math/geometry/Vector3D.h:65:
+/usr/include/stdio.h:184:12: note: in a call to function 'int fclose(FILE*)' declared 'nonnull'
+  184 | extern int fclose (FILE *__stream) __nonnull ((1));
+      |            ^~~~~~
 In file included from LevelDirectoryManager.h:24,
                  from MusicPart.cpp:14:
 ../../minorGems/io/file/File.h: In member function 'File* File::getParentDirectory()':
@@ -2428,14 +2472,6 @@
 ../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   674 |             char *parentName = "..";
       |                                ^~~~
-BulletSound.cpp: In constructor 'BulletSound::BulletSound(FILE*, char*)':
-BulletSound.cpp:84:15: warning: argument 1 null where non-null expected [-Wnonnull]
-   84 |         fclose( farRangeFILE );
-      |         ~~~~~~^~~~~~~~~~~~~~~~
-In file included from ../../minorGems/math/geometry/Vector3D.h:65:
-/usr/include/stdio.h:184:12: note: in a call to function 'int fclose(FILE*)' declared 'nonnull'
-  184 | extern int fclose (FILE *__stream) __nonnull ((1));
-      |            ^~~~~~
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o MusicPlayer.o MusicPlayer.cpp
 MusicNoteWaveTable.cpp: In constructor 'MusicNoteWaveTable::MusicNoteWaveTable(long unsigned int)':
 MusicNoteWaveTable.cpp:50:46: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
@@ -2444,6 +2480,7 @@
 MusicNoteWaveTable.cpp:52:46: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    52 |         LevelDirectoryManager::getStdStream( "musicNoteLengths", true );
       |                                              ^~~~~~~~~~~~~~~~~~
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/graphics/openGL/ScreenGL.o ../../minorGems/graphics/openGL/ScreenGL.cpp
 MusicPart.cpp: In constructor 'MusicPart::MusicPart(MusicNoteWaveTable*, RandomSource*, double)':
 MusicPart.cpp:33:13: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    33 |             "musicChanceOfReversedNote", &error, true );
@@ -2451,9 +2488,7 @@
 MusicPart.cpp:44:13: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    44 |             "musicPartLength", &error, true );
       |             ^~~~~~~~~~~~~~~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/graphics/openGL/ScreenGL.o ../../minorGems/graphics/openGL/ScreenGL.cpp
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/io/linux/TypeIOLinux.o ../../minorGems/io/linux/TypeIOLinux.cpp
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/util/stringUtils.o ../../minorGems/util/stringUtils.cpp
 In file included from ParameterizedObject.h:21,
                  from SculptureManager.h:33,
                  from MusicPlayer.h:16,
@@ -2502,6 +2537,7 @@
 ../../minorGems/math/geometry/Vector3D.h:732:9: warning: deleting object of polymorphic class type 'Angle3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   732 |         delete actualAngle;
       |         ^~~~~~~~~~~~~~~~~~
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/util/stringUtils.o ../../minorGems/util/stringUtils.cpp
 In file included from LevelDirectoryManager.h:24,
                  from MusicPlayer.cpp:18:
 ../../minorGems/io/file/File.h: In member function 'File* File::getParentDirectory()':
@@ -2511,10 +2547,6 @@
 ../../minorGems/io/file/File.h:674:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   674 |             char *parentName = "..";
       |                                ^~~~
-../../minorGems/util/stringUtils.cpp: In function 'char* concatonate(char*, char*)':
-../../minorGems/util/stringUtils.cpp:154:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
-  154 |     char *glue = "";
-      |                  ^~
 MusicPlayer.cpp: In constructor 'MusicPlayer::MusicPlayer(long unsigned int, SculptureManager*, MusicNoteWaveTable*, double, double, double)':
 MusicPlayer.cpp:46:13: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    46 |             "musicPartLength", &error, true );
@@ -2523,6 +2555,10 @@
 MusicPlayer.cpp:285:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   285 |         delete positions[i];
       |         ^~~~~~~~~~~~~~~~~~~
+../../minorGems/util/stringUtils.cpp: In function 'char* concatonate(char*, char*)':
+../../minorGems/util/stringUtils.cpp:154:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
+  154 |     char *glue = "";
+      |                  ^~
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/util/StringBufferOutputStream.o ../../minorGems/util/StringBufferOutputStream.cpp
 In file included from ../../minorGems/graphics/openGL/ScreenGL.h:51,
                  from ../../minorGems/graphics/openGL/ScreenGL.cpp:45:
@@ -2553,7 +2589,6 @@
 ../../minorGems/math/geometry/Vector3D.h:579:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   579 |     delete normalThis;
       |     ^~~~~~~~~~~~~~~~~
-g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/io/file/linux/PathLinux.o ../../minorGems/io/file/linux/PathLinux.cpp
 ../../minorGems/math/geometry/Vector3D.h:580:5: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   580 |     delete normalOther;
       |     ^~~~~~~~~~~~~~~~~~
@@ -2589,6 +2624,7 @@
 ../../minorGems/graphics/openGL/ScreenGL.cpp:215:9: warning: deleting object of polymorphic class type 'Vector3D' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   215 |         delete upDirection;
       |         ^~~~~~~~~~~~~~~~~~
+g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/io/file/linux/PathLinux.o ../../minorGems/io/file/linux/PathLinux.cpp
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/system/unix/TimeUnix.o ../../minorGems/system/unix/TimeUnix.cpp
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/system/linux/ThreadLinux.o ../../minorGems/system/linux/ThreadLinux.cpp
 g++ -Wall  -DLINUX  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/transcend-0.3.dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security 		-DLEVELS_DIR=\"/usr/share/games/transcend/levels\" -I../.. -I../../Transcend/portaudio/pa_common -c -o ../../minorGems/system/linux/MutexLockLinux.o ../../minorGems/system/linux/MutexLockLinux.cpp
@@ -2634,12 +2670,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: not including original source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/32370/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/32370/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/6568 and its subdirectories
-I: Current time: Tue Dec 24 18:17:25 -12 2024
-I: pbuilder-time-stamp: 1735107445
+I: removing directory /srv/workspace/pbuilder/32370 and its subdirectories
+I: Current time: Wed Dec 25 20:21:12 +14 2024
+I: pbuilder-time-stamp: 1735107672