EMsoft-org / EMsoft

Public EMsoft repository
Other
61 stars 94 forks source link

Error in EMsoft Build #151

Closed jmunshi1990 closed 3 years ago

jmunshi1990 commented 3 years ago

Hello,

I am trying to install EMsoft SDK and EMsoft. I am using mac os, cmake version 3.15.5, gfortran 6.3.0.

I have built the SDK successfully (I have installed Qt as well) but I do not see anything in the EbsdLib directory as it does not build the library.

So while building EMsoft, -DEMsoft_ENABLE_EMsoftWorkbench=OFF keeps me bypassing the error of EbsdLib not found.

With all these done, I am currently able to work through the cmake of EMSoft but there is still an issue from pyEMsoft as mentioned below. I saw that in the recent version of cmake, there is a change in the get_filename_component which made me switch to cmake 3.15.x from 3.19.x

**CMake Error at Source/pyEMsoft/CMakeLists.txt:11 (get_filename_component): get_filename_component called with incorrect number of arguments

CMake Error at Source/pyEMsoft/CMakeLists.txt:12 (get_filename_component): get_filename_component called with incorrect number of arguments**

Even with that change I am unable to get any success with this issue. Could anyone shade any light on the problem? Thanks. I am attaching the cmake command and log files as well for convenience. Please let me know if any more details are required.

CMakeError.log CMakeOutput.log

ChaoyiZhu93 commented 3 years ago

Hi Joydeep, do you have the CMakeCache.txt located in the build folder? its probably related to the JSONFORTRAN_DIR directory.

jmunshi1990 commented 3 years ago

Hi,

Are you talking about the superbuild CMakeCache or the EMSoft build CMakeCache?

Could you please clarify this?

ChaoyiZhu93 commented 3 years ago

The EMsoft build CMakeCache.

jmunshi1990 commented 3 years ago

Hi the EMSoft build cmake is in the EMSoftBuild/build directory. I am attaching the CMakeCache for you. Thanks

CMakeCache.txt

ChaoyiZhu93 commented 3 years ago

CMakeCache.txt

one thing that i noticed was that you do not have a separate SDK folder. this might case problems because the following json install and json dir directories are missing.

JSONFORTRAN_DIR:PATH=/home/chaoyi/EMsoft_SDK/jsonfortran-4.3.0-Debug/lib/cmake/jsonfortran-gnu-4.3.0

JSONFORTRAN_INSTALL:PATH=/home/chaoyi/EMsoft_SDK/jsonfortran-4.3.0-Debug

The folder structure that i had was sth like this:

jmunshi1990 commented 3 years ago

Thanks. I think I have successfully completed it now. So both SDK and EMsoftBuild make -j finished with 100% success...

Is there anything else I have to do before running the program? My main aim is to do EBSD simulations... https://github.com/EMsoft-org/EMsoft/wiki/EBSD-Master-Pattern-Simulations

but I am not able to execute the commands such as EMEBSDmaster, EMEBSD etc. Is there any step I am still missing??

jmunshi1990 commented 3 years ago

Hi Never mind. It was just a PATH issue. Now things are working fine...Thanks

Closing this issue

jmunshi1990 commented 3 years ago

Hi during the MC simulation, I am getting an issue below:

Creating program name list template files: WARNING: USER=jmunshi WARNING: file /Users/jmunshi/.config/EMsoft/EMsoftConfig.json not found -----> Trying environment variables next ...

EMsoftpathname was not defined in the json file EMSOFTPATHNAME environment variable was NOT defined as a backup. status = 99901 STOP 99901

Note: I have exported the path of EMsoftBuild/bin correctly to $PATH

ChaoyiZhu93 commented 3 years ago

have you done this configuration step? this only need to be done once and then you should be good to go.

https://github.com/EMsoft-org/EMsoft/wiki/Package-Configuration

jmunshi1990 commented 3 years ago

Thanks. I think it works now. But there is still some issues. I am probably being more confused with the workflow and not getting the right workflow. so currently if I try to use MC simulation command with -t flag, it gives me this:

Program name : EMMCOpenCL.f90 Purpose : Monte Carlo backscattered electron simulation Platform : Darwin Source code version : 5_020210729 Source code Revision : Build Date/Time : 2021-07-29 15:39:06Z

See https://github.com/EMsoft-org/EMsoft/wiki for selected help pages.

Jul 30 2021 1:02:05.261 PM

Number of command line arguments detected: 1

Creating program name list template files:

----> Fatal error in routine CopyTemplateFiles: template code file not found:/Users/jmunshi/resources/templatecodes.txt

STOP Progam ended abnormally

So my question is how to find the templatecodes.txt ?? also, I was executing this command in the folder where I have the .xtal file to simulate. Thanks for your help.

jmunshi1990 commented 3 years ago

Hi, based on the MC simulation tutorial, I see than I need to do this: EMMCOpenCL -t , which gives me the previous error I have shared in the earlier comment.

However, I was trying to use the template nml provided in the tutorial and modified it as required (attached the nml file). After executing the next command: EMMCOpenCL hBN.nml, I am getting error as mentioned below. Please let me know what is going wrong here.

Program name : EMMCOpenCL.f90 Purpose : Monte Carlo backscattered electron simulation Platform : Darwin Source code version : 5_020210729 Source code Revision : Build Date/Time : 2021-07-29 15:39:06Z

See https://github.com/EMsoft-org/EMsoft/wiki for selected help pages.

Jul 30 2021 1:27:52.668 PM

Number of command line arguments detected: 1 hBN.nml

At line 2225 of file /Users/jmunshi/Documents/EMsoft/EMsoft/Source/EMsoftLib/NameListHandlers.f90 (unit = 21, file = 'hBN.nml') Fortran runtime error: End of file

Error termination. Backtrace:

0 0x10b399579

1 0x10b39a235

2 0x10b39a999

3 0x10b46201b

4 0x10b462f8f

5 0x10b4655ff

6 0x10b465798

7 0x10adbed65

8 0x10ad34513

9 0x10b11496e

hBN.txt

ChaoyiZhu93 commented 3 years ago

For Q1: The EMsoftinit program has created a .config/EMsoft folder in your top user folder; inside this folder, a file named EMsoftConfig.json has been created, and this file needs to be edited to complete the configuration process.

Once you have properly defined all configuration parameters, save the EMsoftConfig.json file and now you are ready to start using the package.

FOr Q2: I suspect that the you missed an empty line at the end of the file. try the following one. hBN.txt

jmunshi1990 commented 3 years ago

Thanks for Qn 1: Here is the json file. What should be inserted/modified to make things complete? { "EMsoftpathname": "/Users/jmunshi/", "EMXtalFolderpathname": "/Users/jmunshi/", "EMdatapathname": "/Users/jmunshi/", "EMtmppathname": "/Users/jmunshi/.config/EMsoft/tmp/", "EMsoftLibraryLocation": "/Users/jmunshi/", "Release": "No", "Develop": "No", "UserName": "jmunshi", "UserEmail": "jmunshi@anl.gov", "UserLocation": "postdoc" }

also, other thing is for qn 2 with the same nml file I have shared (after modifying the last line), I think it is now technically running fine. But I am getting memory related segmentation fault issue. What do you think the issue might be? My laptop is a macbook pro with i9 processor and 32 GB of RAM.

Error code : -1 returned by routine HDF_openFile:H5Fopen_f:/Users/jmunshi/hBN.xtal Error code : -1 returned by routine ReadDataHDF:HDF_openFile:/Users/jmunshi/hBN.xtal

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:

0 0x10502e579

1 0x10502d945

2 0x7fff716feb5c

Segmentation fault: 11

ChaoyiZhu93 commented 3 years ago

{ "EMsoftpathname": "/home/chaoyi/EMsoft", "EMXtalFolderpathname": "/home/chaoyi/EMsoftGeneratedData/Xtalfolder", "EMdatapathname": "/home/chaoyi/EMsoftGeneratedData", "EMtmppathname": "/home/chaoyi/.config/EMsoft/tmp/", "EMsoftLibraryLocation": "/home/chaoyi/EMsoftBuild/Release/Bin", "Release": "Yes", "Develop": "No", "UserName": "Chaoyi Zhu", "UserEmail": "zchaoyi@andrew.cmu.edu", "UserLocation": "CMU" }

i have sth like this for the json file. i think the error might be due to the xtal file. your computer should be fine running the program.

jmunshi1990 commented 3 years ago

Do you think the xtal is somehow wrong? Unfortunately I cannot upload the file here...I will try to generate it once again...