Welcome to the Linux Foundation Forum!

We need help for a free educational software.

We need help from the Linux team to simplify installation and commissioning of a free educational software developed under Linux by Dr. Luis Claudio Pérez Tato. It is a very powerful and complete software directed towards the analysis of structures based on finite element method and will be useful for university education for its versatility and robustness. If anyone is interested in helping, the program link is:

http://www.iturribizia.com/descarga_software.html

Comments

  • asedt
    asedt Posts: 96
    Do I understand you right?

    You made a software and want it to be easy to install in a Linux system. The common way to install software in different Linux distributions is different, but common is to install from a repository. Is that what you want? To have your software in a Debian/Ubuntu repository etc? It's easy to install software from a repository, in some distributions one click is enough.

    One important thing is the license of the software and to comply to that license. You can read more about it on http://www.fsf.org/ (GNU GPL is a common free software license).

    I'm not really sure how the process goes but to get a package in the Debian repository. you probably should contact a package manager for Debian. (http://www.debian.org/)

    Also http://en.wikipedia.org/wiki/Personal_Package_Archive can be interesting to check out.
  • saqman2060
    saqman2060 Posts: 777
    francoviles wrote:
    We need help from the Linux team to simplify installation and commissioning of a free educational software developed under Linux by Dr. Luis Claudio Pérez Tato. It is a very powerful and complete software directed towards the analysis of structures based on finite element method and will be useful for university education for its versatility and robustness. If anyone is interested in helping, the program link is:

    http://www.iturribizia.com/descarga_software.html

    As Aron said, this won't be easy.

    Exactly what type you need and for what parts of the software. You may also want to contact the "Linux Foundation" and evaluate how they can assist.

    You have your work cut out for you. Since you did not specify what distro your company planned on using, you must decide that first and understand its software installation and packaging system's functions.

    Good luck.
  • Thank you for your answer. I do not know if you've taken a look at the link in my post which corresponds to the XC software but I commented that the software is developed in its entirety but installing and compiling seem very complicated and it is this part where we need help because nobody in the office has experience in such tasks. I politely ask you to take a detailed look at the software and the installation process and then we expect your observations. Thank you for your attention.
  • Goineasy9
    Goineasy9 Posts: 1,114
    Installing packages in Linux usually revolves around making a package that conforms to a particular distributions packaging system. Fedora, RedHat and OpenSuse, for example use the rpm packaging. Debian, Ubuntu and the many Debian based systems use deb packaging. Slackware and Arch have their own systems, and with Gentoo, everything is compiled from scratch.
    Now, from what I understand, you want to set up code so it can be compiled under Linux. Many distros have their own rules as to how the code is set up, especially the complicated code that your program seems to contain.
    Some distro require that libraries are broken out and compiled on their own and then installed as dependencies. If your interested in creating a compiled rpm or deb file that can be easily installed from a distros repositories, you can look at these documents that explain i some degree how to do that.
    If you are just interested in a manual install into any distro, where the user does the compiling themselves, directly from the code, you can circumvent certain rules and regulations and present just the code, along with instructions on using the "make" command. While this makes it easier on your part, it makes it harder on the user. First, because most users don't compile their own code, and second, because of a kind of versionitis that compiling that code will run into when using stable installs, such as Debian stable, or more recent cutting edge installs, such as Fedora. Even the version of the compiler that you would use could effect installation, since the compiler that is in a stable distro is not as recent, and not always compatible with newer versions of the same compiler.
    Now, if you think this is confusing and frustrating, it is. If you would like to read more about what is required, take a look at this how-to titled "Compiling Software With Debian Linux". Go down to the fourth paragraph, and, then go to the link to the "Packages" page.
    http://www.aboutdebian.com/compile.htm
    Or, take a look at "How to create an RPM package" from the Fedora manual, which details much of the process of putting together an app that can be installed with the rpm/yum package management system.
    https://fedoraproject.org/wiki/How_to_create_an_RPM_package

    Now developers put together simple apps and modules with a small amount of dependencies all the time without too much trouble, but, when a complicated app like yours needs to be compiled and installed, one needs to make sure the correct version of libraries are used and that dependencies are handled correctly.

    I'm hoping someone comes along that has more experience in packaging then I do, and can explain the finer details better than I can. There are folks who contribute to the forum that have that knowledge, but you might need to be patient, since during the summer months many are busy with vacations or other projects.

    If you have any other questions, or, if I misjudged what it was you were looking for, don't hesitate to ask.
  • mfillpot
    mfillpot Posts: 2,177
    I am looking at the source code now, your use of Cmake is helpful but your instructions still require too much manual efforts for a package maintainer.

    ----RECOMMENDATIONS
    1. Since you are using Cmake, the destdir option is available which will be used by all package maintainers.

    2. You need to have your build script create the user directories within the destdir to minimize the potential for human errors.

    3. Have your build script create the symlinks

    4. The test option:
    a. Have the build script drop scripts
    b. add options to the executable to tun the test for the user
    c.PREFERRED - Have your makefile run the tests on completion

    ----REFERENCES----
    1. The document at http://slackbuilds.org/templates/cmake-template.SlackBuild will show some of the basic configuration parameters and preferred actions used by package maintainers when building cmake based applications.

    2. http://www.cmake.org/pipermail/cmake/2006-November/012070.html will help you to create the directories

    3. http://www.cmake.org/pipermail/cmake/2010-April/036504.html will tell you how to setup the symlinks

    Once you report that those steps of the compile and configuration are addressed and tested, I will download the new source and see if any additional recommendations can be granted.

    As an active slackbuild maintainer, with the current installation instructions I would not put forth the effort to try to maintain the application because of the many necessary steps.

Categories

Upcoming Training