fangohr / oommf

OOMMF source code in git repository
24 stars 7 forks source link

error: more undefined references to `std::__throw_bad_array_new_length()' follow #38

Closed keyplay closed 2 years ago

keyplay commented 2 years ago

Hi, I try building OOMMF from source, but it report the following error after running make build: /usr/bin/ld: linux-x86_64/cgevolve.o:cgevolve.cc:(.text+0x7679): more undefined references to `std::__throw_bad_array_new_length()' follow

fangohr commented 2 years ago

Hi @keyplay - I don't know what goes wrong with your compilation. You would need to provide more information for others to be able to help you (linux distribution, versions, exact commands that have led to the error, full error message, etc). See also here.

I have retriggered the execution of our pipelines today, for example at https://github.com/fangohr/oommf/actions/runs/3067188732/jobs/4953212729#step:3:1 where the compilation runs through nicely on Ubuntu 22.04.

I'll close this for now, assuming that the comment above helps you.

lang-m commented 2 years ago

Hi @keyplay, without knowing any details of your setup, so mostly a random guess. Make sure that you don't have any conda environments enabled (if you use conda at all, also make sure to disable the base environment) while compiling OOMMF.

keyplay commented 2 years ago

Hi @fangohr and @lang-m, thanks for your reply. After disabling conda environment, it reported that can't read "env(OOMMF_TCL_INCLUDE_DIR)": no such variable. I compiled the code on Ubuntu 22.04 with gcc 11.2.0 and tcl 8.6.12.

keyplay commented 2 years ago

The following is the screenshot of error message. image

fangohr commented 2 years ago

I am guessing that you have not installed the TCL header files, that come with the tcl-dev package. If so, make sure that you install all the dependencies as done in this Docker container https://github.com/fangohr/oommf/blob/master/docker/Dockerfile (see line 10).

keyplay commented 2 years ago

Thanks for your suggestion. I can compile the code nicely. After running make-testall, the following error messages are reported. I also tested it in the Docker container and got the same error message. image

lang-m commented 2 years ago

This is the standard OOMMF output and here does not report any errors (only telling you to which file OOMMF would write errors, hence the word errors). As you can see from the output the first test (stdprob3) passed successfully (look for the lines End "stdprob3.mif" and Boxsi run end). We can't see the full output for the second test (stdprob4) but I would assume that it did also pass.