Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to read sdf plugin in visit in ubuntu 22 #19493

Open
phy-ak opened this issue May 6, 2024 · 12 comments
Open

Unable to read sdf plugin in visit in ubuntu 22 #19493

phy-ak opened this issue May 6, 2024 · 12 comments
Assignees
Labels
bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood reviewed Issue has been reviewed and labeled by a developer

Comments

@phy-ak
Copy link

phy-ak commented May 6, 2024

Describe the bug

WhatsApp Image 2024-04-21 at 1 10 18 PM

I tried to install visit 3.4.1 version in the ubuntu 22 . But when i tried to open the sdf file I am getting the above error.
I have also build the sdf plugin by giving make visit in epoch (#)d directory which is shown below.

Screenshot from 2024-04-21 22-10-18

@phy-ak phy-ak added bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood labels May 6, 2024
@biagas
Copy link
Contributor

biagas commented May 6, 2024

Couple of questions:

  1. what process did you use to build your plugin?
    Did you run xml2cmake using the 3.4.1 version of VisIt? (/path/to/visit3.4.1/bin/xml2cmake)
    This will set up the CMakeLists.txt file so that your plugin will link against this particular version of VisIt.
    Then you need to run cmake to generate the makefiles, then run make. Running make should generate the .so files and put them in ~/.visit/3.4.1/plugins/databases.
    Are your plugin's .so's located in that directory?

  2. if you built your plugin with the process in (1), and your .so's are located in the correct directory, then you may have to tell VisIt to open *.sdf files with your SDF plugin by using the Open file as type: pulldown menu in the File open window.

@phy-ak
Copy link
Author

phy-ak commented May 7, 2024

I build the plugin by entering into the epoch {1}{2}{3}d directory and just typing "make visit". Previously it worked in all other systems. But it is not working now.

Also Can you please comment on what is .so files?

@biagas
Copy link
Contributor

biagas commented May 7, 2024

I am not familiar with the epoch directory you mention. Are you not the author of the SDF plugin? If not, perhaps you need to contact someone who is responsible for it.
When it worked before, which version of VisIt were you running? A lot changed in between the 3.3 series and 3.4 series, and whatever epoch does to make a VisIt-compatible plugin may need to be modified.

.so is the extension of C++ generated library files on Linux. VisIt loads a plugin's .so files when needed.

@phy-ak
Copy link
Author

phy-ak commented May 7, 2024

1.) The .so files are already in the ~/.visit/3.4.1/plugins/databases. However my plugin (sdf) .so is not located in that directory.
2.) In previous all systems I installed visit 3.3 version. In that to build the plugin, I just type "make visit" from epoch# directory which creates the .sdf plugin in visit window.
3.) I didnt run xml2cmake and i couldnt find any CMakeLists.txt file . Please let me know from which directory should I run xml2cmake and also xml2cmake -private MyPlugin.xml as mentioned in #19460 . Though i could find .so files in the directory i could find sdf.so in database directory
Please help me in this.

@biagas
Copy link
Contributor

biagas commented May 7, 2024

What are the contents of ~/.visit/3.4.1/plugins/databases?
There should be, for the SDF plugin, these files:
libESDFDatabase_ser.so
libESDFDatabase_par.so
libISDFDatabase.so
libMSDFDatabase.so

They may possibly be in ~/.visit/3.4.1/linux-x86_64/plugins/databases.

Again, since I am unfamiliar with this epoch directory, I really don't know what make visit does.
What are the contents of that directory? Who set this up for you?

@phy-ak
Copy link
Author

phy-ak commented May 7, 2024

The contents of ~/.visit/3.4.1/linux-x86_64/plugins/databases are many .so files except the above said plugins. There are all the plugins except SDF. I installed visit from visit release notes by following the manual. It was just set automatically.

@biagas
Copy link
Contributor

biagas commented May 7, 2024

Again, since I am unfamiliar with this epoch directory, I really don't know what make visit does.
What are the contents of that directory? Who set this up for you?

Can you answer the above questions?

@phy-ak
Copy link
Author

phy-ak commented May 8, 2024

Screenshot from 2024-05-08 11-31-57
Screenshot from 2024-05-08 11-32-28
Screenshot from 2024-05-08 11-33-19

The above mentioned screenshots are of epoch directory, where there is directory called visit. I believe make visit built the sdf plugin , so that visit can read the sdf file.

One thing I have found it strange is, the bin folder is there in the current workstation i am installing whereas its not there in all other desktops
Screenshot from 2024-05-08 11-41-25

Inside the bin, the plugins you mentioned are there,

Screenshot from 2024-05-08 11-41-49

Please let me know what should I do.

@biagas
Copy link
Contributor

biagas commented May 8, 2024

Do the SDF .so's in bin have a current date? Just wanting to make sure they are the ones you built with your call to make visit recently and are not leftover from a previous build.

Because I am not familiar with how epoch has set up this build, I do not know if the SDF .so's in the bin directory were built against the VisIt 3.4.1 that you installed.

How about CMakeCache.txt in the VisIt directory?. Was that created recently? If so, you could take a look at any of the paths inside of it that point to a VisIt installation and verify if they point to your installation of VisIt 3.4.1.

By the way, what is epoch?

Looking at the date of the directory, it may be that epoch's build system for VisIt may need to be updated, but that's not something I could help you with, you would have to contact them.

Have you tried reading the README.md file in HOME/EPOCH/epoch-4.18.0-2022-12-24?

@phy-ak
Copy link
Author

phy-ak commented May 8, 2024

I could not find CMakeCache.txt or CMakeLists.txt file in the visit directory. I dont know how to run xml2cmake too.
Epoch is Particle in a Cell Simulation code working on basically gfortran.
The SDF.so in bin directory is current date only. Just if you go to the epoch#d directory and type make cleanall and make visitclean, there is no plugins in the bin , then when we type make visit, there is the plugins in the bin directory. This is what i understood after reading README.md file.

@biagas
Copy link
Contributor

biagas commented May 8, 2024

I could not find CMakeCache.txt or CMakeLists.txt file in the visit directory

Both of those files were shown in the VisIt directory listing you posted.

The listing also showed build and build.cmd
You might try looking at those to see if they specify the VisIt directory.

At any rate, if you want to use our commands for building the plugin as I mentioned earlier, which would guarantee the plugin is built for the version of VisIt you installed (3.4.1), you first must locate the cmake executable.
Type which cmake to see if it is already in your path.

Then you must know the path to the VisIt 3.4.1 that you installed, and from within the epoch VisIt directory where the SDF plugin source files live,
run /path/to/visit3.4.1/bin/xml2cmake --clobber SDF.xml
Be sure to substitute the correct path for /path/to/visit3.4.1.

Create a build dir in which to build the plugin, this will keep your source dir clean and make it easier to clean up (simply delete the build dir)

run mkdir build
run cd build

Now run the CMake executable
If cmake is in your path, you can run cmake ../
This tells CMake to create a Makefile based on the contents of the directory one up from build.

Now build the plugin
run make

@phy-ak
Copy link
Author

phy-ak commented May 8, 2024

I came to know in already done "make visit method, by reading the build directory it is showing a error "Failed to build VisIt reader" and i could not find any visit direcotry there

cmake is in /usr/local/bin directory and visit is in /user/local/bin/visit. However i am getting an error

@cyrush cyrush added the reviewed Issue has been reviewed and labeled by a developer label Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood reviewed Issue has been reviewed and labeled by a developer
Projects
None yet
Development

No branches or pull requests

3 participants