Run environment in Qt Creator
-
@jsulm
Sorry, I'm still not with you, right-click inside the terminal just highlights text. Is it possible that I have a different terminal program from your one? In the list of Applications on Ubuntu 18.04 I see XTerm and UXTerm. They both behave the same way. Do they need to be configured to have the behaviour you describe? -
@gibbogle XTerm and UXTerm are not the standard terminals on default Ubuntu installation. You should try the one Ubuntu provides by default (I think it's the one from Gnome).
@jsulm
I'll have a look around, but these are the only ones that Ubuntu 18.04 shows in the list of installed apps (by clicking on the 3x3-dot-grid icon.) There are odd things about this version, e.g. I installed gedit, but it doesn't show up in the list.Edit: I had to install gnome-terminal, and I see that it provides some useful features.
-
Having another look at this:
Although I installed gnome-terminal, which supports copy-and-paste, when I run the Custom Executable in Qt Creator is still uses XTerm, which doesn't support copying.
When I run with Custom Executable a great number of messages are generated, and they don't mean much to me. I do see, however, reference to libraries in /usr/local/Qt-4.8.6/lib, and in /usr/lib/x86_64-linux-gnu. Neither of these directories is in my LD_LIBRARY_PATH, and I don't know why they are being searched. I do have Qt-4.8.6 installed. I am suspecting that somehow when invoked inside Creator, the program is doing something with 4.8.6 libraries, and this is causing the crash.
A reminder: the program runs correctly at a terminal. -
Having another look at this:
Although I installed gnome-terminal, which supports copy-and-paste, when I run the Custom Executable in Qt Creator is still uses XTerm, which doesn't support copying.
When I run with Custom Executable a great number of messages are generated, and they don't mean much to me. I do see, however, reference to libraries in /usr/local/Qt-4.8.6/lib, and in /usr/lib/x86_64-linux-gnu. Neither of these directories is in my LD_LIBRARY_PATH, and I don't know why they are being searched. I do have Qt-4.8.6 installed. I am suspecting that somehow when invoked inside Creator, the program is doing something with 4.8.6 libraries, and this is causing the crash.
A reminder: the program runs correctly at a terminal. -
@jsulm
It looks like a few hundred lines, and unfortunately I can't copy and paste them, unless I can find a way to make Creator use the gnome terminal program. ...
OK, I just found out how to do that. This is horrendously long (more than 800 lines).Oh, there is a strict limit on the number of characters. I'll copy the first lines and the last lines.
First 35 lines:
execve("/home/gib/vspheroid-fem/build-vspheroid-Qt3d-Release/vspheroid-Qt3d-first-try", ["/home/gib/vspheroid-fem/build-vs"...], 0x7ffdf2a51980 /* 55 vars */) = 0
brk(NULL) = 0x5618cdaba000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/gib/bin/tls/x86_64/x86_64/libqwt.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/gib/bin/tls/x86_64/x86_64", 0x7ffd269838a0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/gib/bin/tls/x86_64/libqwt.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/gib/bin/tls/x86_64", 0x7ffd269838a0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/gib/bin/tls/x86_64/libqwt.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/gib/bin/tls/x86_64", 0x7ffd269838a0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/gib/bin/tls/libqwt.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/gib/bin/tls", 0x7ffd269838a0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/gib/bin/x86_64/x86_64/libqwt.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/gib/bin/x86_64/x86_64", 0x7ffd269838a0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/gib/bin/x86_64/libqwt.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/gib/bin/x86_64", 0x7ffd269838a0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/gib/bin/x86_64/libqwt.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/gib/bin/x86_64", 0x7ffd269838a0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/gib/bin/libqwt.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\32\7\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0775, st_size=1626000, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd843ba8000
mmap(NULL, 3432576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd84363c000
mprotect(0x7fd843775000, 2097152, PROT_NONE) = 0
mmap(0x7fd843975000, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x139000) = 0x7fd843975000
mmap(0x7fd843982000, 128, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd843982000
close(3) = 0
openat(AT_FDCWD, "/home/gib/vspheroid-fem/build/Release/libvspheroid-fem.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p$\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=521272, ...}) = 0
mmap(NULL, 5435000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd84310d000
mprotect(0x7fd84318a000, 2093056, PROT_NONE) = 0
mmap(0x7fd843389000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7c000) = 0x7fd843389000
mmap(0x7fd84338c000, 2817656, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd84338c000
close(3) = 0Last 21 lines
rt_sigaction(SIGRTMIN, {sa_handler=0x7fd839300cb0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7fd83930d890}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7fd839300d50, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7fd83930d890}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
futex(0x7fd8392fa0c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(NULL) = 0x5618cdaba000
brk(0x5618cdadb000) = 0x5618cdadb000
rt_sigaction(SIGRT_32, {sa_handler=0x7fd832637820, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7fd83b0c3f20}, NULL, 8) = 0
futex(0x7fd833f45f38, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fd833f45f38, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(0x5618cdafc000) = 0x5618cdafc000
openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_CLOEXEC) = 3
read(3, "19\374\220", 4) = 4
fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7fd83c15e5c0} ---
+++ killed by SIGSEGV (core dumped) +++ -
There is something funny about the directories being searched. For example, in the above you can see:
/home/gib/bin/x86_64/libqwt.so.6
In fact that library is in /home/gib/bin, and there is no x86_64 subdirectory, in fact there are no subdirectories to /home/gib/bin.
In Projects > Build & Run > Run > Run Environment > Details I open a terminal by clicking Open Terminal, then inspect the LD_LIBRARY_PATH:gib@gigabyte:~$ echo $LD_LIBRARY_PATH
/home/gib/Qt5.13.0/5.13.0/gcc_64/lib:/home/gib/qwt-6.1.3/lib:/home/gib/bin:/home/gib/OpenCMISS/opencmiss/install/lib:/home/gib/binYou'll see that /home/gib/bin appears twice. That's because I found that I had to add the variable LD_LIBRARY_PATH with value /home/gib/bin to the Run environment, because otherwise the execution fails with the message that libqwt.so.6 cannot be found. This makes no sense to me, because /home/gib/bin is already in the path. I suspect that this odd behaviour is related to the crashing. It is as if LD_LIBRARY_PATH is somehow being corrupted.
Edit: I forgot to mention that libqwt.so.6 is in /home/gib/bin.