Hi again Ryan,
>Interesting that the precompiled binary doesn't run on your system; it
runs on mine, even though I don't have i386 support enabled (dpkg --print-architecture
returns only amd64). When I use the precompiled binary, I'd say 90% of
runs fail, but 10% finish normally. This is about the same as when I
compile the binary myself.
As far as I know, the GNU/Linux kernel comes with i386 compatibility built in, even is it is compiled as x86_64. You only need the i386 (or i686) compatibility libraries installed in order for 32bit ELF binaries to run (I don't have these libs installed, but if it runs on your system, then they probably are).
I have used the data (and scripts) you provided to run the analysis and I was able to successfully complete all runs on my TR 3960X. That was quite a through way to be able to reproduce the issue!
>With the Structure_threader binary as well as the binary compiled using the helper script, I still get the Segmentation fault (core dumped) error. I've attached the screen output from make (make-log.txt).
So if you are getting the same error, regardless of how the binary was built, then I suspect it is either some PopOS! shenanigan, or something with your specific CPU model.
I have built a way to test the former, but not the latter (which you already have, by testing on a different CPU).
I have created
this Dockerfile, based on Ubuntu 20.04, which installs
Structure_threader and the respective binares to the image. If you don't want to build it yourself I've also uploaded it to
docker hub and you can get it with the command:
docker pull stunts/structure_threader:01
For this to work, you need, of course to install docker (If I recall correctly, the package names are docker and docker.io. For ease of use, you should also add your user to the docker group.
This should allow you to run the binaries in an Ubuntu 20.04 environment, with only a very minimal performance penalty relative to running on bare iron.
Once you have pulled the image to your system (or built it yourself using the Dockerfile), you just have to find the path to the location where your files are (the same ones you sent me) and do the following:
docker run -v /path/to/the/directory/where/your/files/are:/analysis/ -it stunts/structure_threader:01 /bin/bash
This command should result in an interactive bash prompt that looks something like this:
root@a7dc6e32ea4c:/analysis#
The a7dc6e32ea4c part is the container hash (sorry about being a root prompt I didn't have the time for a proper docker build!), and therefore will be different from the one you see here.
If all goes well, in that prompt, you just have to run the command ./runstructure and everything should occur smoothly. Unless there is some specific issue with the TR 3970X...
Hopefully it will "just work" (TM) and you will be able to simply use docker for your runs.
Good luck, and let us know how that went!
Francisco