The mysterious __cxa_throw_bad_array_new_length
by vmelkon from LinuxQuestions.org on (#5BAKQ)
When I run my program from the command line from Kubuntu 18.04 (a clean install in a VM)
it shows what the problem is.
./ChemicalADlg
./ChemicalADlg: relocation error: ./ChemicalADlg: symbol __cxa_throw_bad_array_new_length version Qt_5 not defined in file libQt5Gui.so.5 with link time reference
Doing a websearch for __cxa_throw_bad_array_new_length seems to give random discussions about make files.
There is explanation as to what __cxa_throw_bad_array_new_length is or where it comes from, which .SO file.
I use QT Creator, which is an IDE to compile my program.
My program, ChemiADlg, is also a GUI application.
On 2 PCs (Kubuntu 18.04), where Qt Creator is installed, my EXE runs fine.
On a clean install of Kubuntu 18.04, I get __cxa_throw_bad_array_new_length.
On a clean install of OpenSuse Tumbleweed, I get __cxa_throw_bad_array_new_length.
This means that if I install QT Creator, which takes something like 3 GB, my program magically will work. I can't ask ordinary people to install it just to run a 638 kB EXE.
What magic is QT Creator doing? Where is this __cxa_throw_bad_array_new_length and do all Linux not have it?
This is my project page.
https://sourceforge.net/projects/chemicala/
~~~~vmelkon


it shows what the problem is.
./ChemicalADlg
./ChemicalADlg: relocation error: ./ChemicalADlg: symbol __cxa_throw_bad_array_new_length version Qt_5 not defined in file libQt5Gui.so.5 with link time reference
Doing a websearch for __cxa_throw_bad_array_new_length seems to give random discussions about make files.
There is explanation as to what __cxa_throw_bad_array_new_length is or where it comes from, which .SO file.
I use QT Creator, which is an IDE to compile my program.
My program, ChemiADlg, is also a GUI application.
On 2 PCs (Kubuntu 18.04), where Qt Creator is installed, my EXE runs fine.
On a clean install of Kubuntu 18.04, I get __cxa_throw_bad_array_new_length.
On a clean install of OpenSuse Tumbleweed, I get __cxa_throw_bad_array_new_length.
This means that if I install QT Creator, which takes something like 3 GB, my program magically will work. I can't ask ordinary people to install it just to run a 638 kB EXE.
What magic is QT Creator doing? Where is this __cxa_throw_bad_array_new_length and do all Linux not have it?
This is my project page.
https://sourceforge.net/projects/chemicala/
~~~~vmelkon