Git Product home page Git Product logo

Comments (6)

branfosj avatar branfosj commented on July 20, 2024

At the end there you are getting the "first 300 chars" of the log message. The whole of the output from cmd "./build charm++ mpi-linux-x86_64 mpicxx --with-production --with-numa -j40 '-O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -DMPICH_IGNORE_CXX_SEEK -fpermissive'" will be earlier in the output log file.

I am suspicious of /usr/include/python3.9/ceval.h:136:37: note: declared here as that is looking at a OS package Python header file.

from easybuild-easyconfigs.

rlpitts avatar rlpitts commented on July 20, 2024

Another thing I've realized: Charm++ 6.2.10 compiles with Python 3.8 but not 3.9. I haven't tried 3.10 or 3.11, but I suspect they will not work either given the age of NAMD-2.14 and Charm++ 6.2.10 installers for non-Intel toolchains.

from easybuild-easyconfigs.

rlpitts avatar rlpitts commented on July 20, 2024

At the end there you are getting the "first 300 chars" of the log message. The whole of the output from cmd "./build charm++ mpi-linux-x86_64 mpicxx --with-production --with-numa -j40 '-O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -DMPICH_IGNORE_CXX_SEEK -fpermissive'" will be earlier in the output log file.

Yes, that's why I copied all the lines above the "Charm++ NOT built" line. That's where the fatal errors were that actually seemed to stop the process. Everything above that is a bunch of deprecation warnings and errors that say "fatal" but didn't stop the program. What you're looking at is the end of the log file in tmp. I'm scrolling back through to double-check, but I'm not sure what else I would be looking for that I didn't already post here.

I am suspicious of /usr/include/python3.9/ceval.h:136:37: note: declared here as that is looking at a OS package Python header file.

What are you suggesting? Sorry, I'm fairly new to this field (self-taught in all CS disciplines prior to the last 5 months). If you mean that I need to preload a compatible version of Python, that works for manual installation of Charm++ (and turns out to be essential), but if I can't use the system Python, I'll need a way to change the config file to specify a different version because it won't let me run eb with any other versions loaded. Or are you saying you expected it to look for a different header file?

from easybuild-easyconfigs.

rlpitts avatar rlpitts commented on July 20, 2024

At the end there you are getting the "first 300 chars" of the log message. The whole of the output from cmd "./build charm++ mpi-linux-x86_64 mpicxx --with-production --with-numa -j40 '-O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -DMPICH_IGNORE_CXX_SEEK -fpermissive'" will be earlier in the output log file.

Yes, that's why I copied all the lines above the "Charm++ NOT built" line. That's where the fatal errors were that actually seemed to stop the process. Everything above that is a bunch of deprecation warnings and errors that say "fatal" but didn't stop the program. What you're looking at is the end of the log file in tmp. I'm scrolling back through to double-check, but I'm not sure what else I would be looking for that I didn't already post here.

OK, I've tried redoing the search from the beginning. These are all the errors and Fatal Errors:

gfortran: error: unrecognized command-line option -auto
Fatal Error by charmc in directory /local/easybuild_milan/build/NAMD/2.14/foss-2023a-mpi/NAMD_2.14_Source/charm-6.10.2/mpi-linux-x86_64-mpicxx/tmp
   Command mpif90 -auto -fPIC -I../bin/../include -DMPICH_IGNORE_CXX_SEEK -O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -fpermissive -O2 -c tracef_f.f90 -o tracef_f.o returned error code 1
charmc exiting...
cp: cannot stat 'charm': No such file or directory
Fatal Error by charmc in directory /local/easybuild_milan/build/NAMD/2.14/foss-2023a-mpi/NAMD_2.14_Source/charm-6.10.2/mpi-linux-x86_64-mpicxx/tmp
   Command cp -p charm ../include/ returned error code 1
charmc exiting...
_CXX_SEEK -O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -fpermissive -O2 -c tracef_f.f90 -o tracef_f.o returned error code 1
_CXX_SEEK -O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -fpermissive -O2 -c charmmod.f90 -o charmmod.o returned error code 1
_CXX_SEEK -O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -fpermissive -O2 -c mainf.f90 -o mainf.o returned error code 1
Fatal Error by charmc in directory /local/easybuild_milan/build/NAMD/2.14/foss-2023a-mpi/NAMD_2.14_Source/charm-6.10.2/mpi-linux-x86_64-mpicxx/tmp
   Command mpif90 -auto -fPIC -I../bin/../include -DMPICH_IGNORE_CXX_SEEK -O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -fpermissive -O2 -c pup_f.f90 -o pup_f.o returned error code 1
charmc exiting...
Fatal Error by charmc in directory /local/easybuild_milan/build/NAMD/2.14/foss-2023a-mpi/NAMD_2.14_Source/charm-6.10.2/mpi-linux-x86_64-mpicxx/tmp
   pup_f.o: file not recognized: File truncated
charmc exiting...
  135 | Py_DEPRECATED(3.2) PyAPI_FUNC(void) PyEval_AcquireLock(void);
      |                                     ^~~~~~~~~~~~~~~~~~
PythonCCS.C: In function PyObject* CkPy_print(PyObject*, PyObject*):
PythonCCS.C:62:26: error: PyInt_AsLong was not declared in this scope; did you mean PyLong_AsLong?
   62 |   CmiUInt4 pyReference = PyInt_AsLong(PyDict_GetItemString(dict,"__charmNumber__"));
      |                          ^~~~~~~~~~~~
      |                          PyLong_AsLong

There are at least a dozen errors that look essentially the same as the one above, referring to Py_DEPRECATED(3.2), saying some function was not declared in this scope, and asking "did you mean [similar-looking function]?" so I'm not going to copy all of them.

And then the last fatal error is the one that I posted at the start.

I should probably rename this thread to something like "Charm++ build included with NAMD-2.14 cannot be installed as configured."

from easybuild-easyconfigs.

branfosj avatar branfosj commented on July 20, 2024

I am suspicious of /usr/include/python3.9/ceval.h:136:37: note: declared here as that is looking at a OS package Python header file.

What are you suggesting? Sorry, I'm fairly new to this field (self-taught in all CS disciplines prior to the last 5 months). If you mean that I need to preload a compatible version of Python, that works for manual installation of Charm++ (and turns out to be essential), but if I can't use the system Python, I'll need a way to change the config file to specify a different version because it won't let me run eb with any other versions loaded. Or are you saying you expected it to look for a different header file?

At the point it is failing it is mentioning a Python header file that is being provided by the OS and not be EasyBuild. I've tested NAMD-2.14-foss-2023a-mpi.eb myself and I do not see it trying to build against Python. So, I suspect that you have more Python development headers installed in the OS and that Charm++ detects these, attempts to build against this Python, and then fails.

Can you search for an equivalent line to this in your build log:

checking "whether Python is installed"... "no"

and see if that has a "yes" at the end?

from easybuild-easyconfigs.

branfosj avatar branfosj commented on July 20, 2024

So, I found this in the latest Charm++ code related to PythonCCS

# PythonCCS requires Python v2.x and is the only target that uses this

And this matches with the problem being in

PythonCCS.C:62:26: error: PyInt_AsLong was not declared in this scope; did you mean PyLong_AsLong?

as PyInt_AsLong is really old Python.

This leads to the suggestion of adding ('Python', '2.7.18') to the dependencies in NAMD-2.14-foss-2023a-mpi.eb to see if Charm++ builds correctly with that.

from easybuild-easyconfigs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.