GithubHelp home page GithubHelp logo

atoms-ufrj / emdee Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 5.0 954 KB

EmDee: A Molecular Dynamics Laboratory

License: GNU General Public License v3.0

Makefile 2.26% TeX 6.41% Fortran 83.64% C 2.29% Shell 5.41%
julia-language molecular-dynamics molecular-simulation

emdee's People

Contributors

craabreu avatar iurisegtovich avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

emdee's Issues

discussing "install"

i believe we have two macro options

  1. touch some global system configs which require sudo:
    e.g. current approach:
    sudo make install
    cp $(LIBDIR)/libemdee.* /usr/local/lib/
    cp $(INCDIR)/emdee.* /usr/local/include/
    ldconfig

  2. keep the files locally and instruct the linker of tests and jobs on how to find them at compile time and at run time
    2a) in fortran and c, to find them at compile time we can use -I$(libdir) as a linker option
    2b) to make the executable able to find them at run time we can use something like
    2b_i) $(LINK) -Wl,-rpath,'$$ORIGIN/../../lib1/so'
    i will implement it specifically for our makefile soon

    2b_ii) compile using -static

    2b_iii) in julia, as julia is not compiled/linked we will have to deal with its package management system

    2a_iii_1 ship lib to /home/user/.julia/version/EmDee/lib/libemdee.so
    Libdl.dlopen("/home/user/.julia/version/EmDee/lib/libemdee.so")
    ship wrappers in EmDee.jl so any script.jl can run "using EmDee"
    ship it to to ~/.julia/v0.4/EmDee/src

    2a_iii_2 include in julia source:
    Libdl.dlopen("EmDee-source-folder/lib/libemdee.so")

    ?
    Julia include path for USING MODULE
    abrir pasta dos packages:
    ~/.julia
    colar EmDee.jl em ~/.julia/v0.4/EmDee/src
    ?
    Julia load shared library EmDee.so
    http://docs.julialang.org/en/release-0.4/manual/modules/
    http://docs.julialang.org/en/release-0.4/stdlib/libdl/

    !
    I'm currently trying and will submmit an approach that combines Libdl.dlopen, Libdl.dlsym, and a home made macro from http://docs.julialang.org/en/release-0.5/manual/calling-c-and-fortran-code/

this decision is relevant for both the EmDee library as for the gfortran libraries, both can be linked either statically or dinamically

Obs: is there a reason to make libgfortran statically linked or should i find the right options to make it dinamically linked?

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.