Suche Linux-Geek, Frage

    • Rabenstein
      Rabenstein
      Bronze
      Dabei seit: 14.08.2006 Beiträge: 3.010
      Hey,

      muss ein Programm zum Laufen bekommen. Ich bin Anfänger auf dem Gebiet und habe mir gestern ubuntu geladen. Das besagte Programm muss noch mit einem Fortran-Compiler kompiliert werden, und da hakt es. Es gibt eine makefile in dem Programm, die allerdings für einen kommerziellen Compiler geschrieben wurde - ich brauche nun jemanden, der mir die (sehr simple) makefile anpasst, dass ich sie zB mit GNU G95 kompilieren kann. Ich versuchte es zwar, aber es läuft nicht.

      Wenn mir jemand per skype (rabenstein83) helfen könnte, wäre ich sehr dankbar. Man findet sicher je nach Komplexität der Lösung einen Weg, den Hilfesteller zu kompensieren.

      Danke
  • 25 Antworten
    • dusterl
      dusterl
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 2.089
      Hast du mal versucht automake und co. mit dem Quellcode zu füttern?
      Wenn du selber sagst, dass das makefile nicht sehr umfangreich ist, sollten die damit eigentlich zurecht kommen. Einfach mal eine der vielen IDEs ausprobieren(Eclipse, KDevelop etc.). Die machen das bei trivialen Sachen vollautomatisch.
    • Rabenstein
      Rabenstein
      Bronze
      Dabei seit: 14.08.2006 Beiträge: 3.010
      Ich hab keine Ahnung von sowas, bin normalerweise Windows-User. Kannst du mir nicht helfen das zu machen?
    • dusterl
      dusterl
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 2.089
      Najo wenn du den Quellcode rausrücken darfst: xxx und ich lass die autotools mal drüber laufen.
    • Rabenstein
      Rabenstein
      Bronze
      Dabei seit: 14.08.2006 Beiträge: 3.010
      http://theorie.physik.uni-wuerzburg.de/~porod/SPheno.html

      Um dieses Programm gehts. Mehr hab ich auch nicht zu Verfügung. Wills einfach nur so installieren wie da angegeben, schaffs aber nicht.
    • TimboTombo
      TimboTombo
      Global
      Dabei seit: 31.01.2006 Beiträge: 855
      GCC
    • dusterl
      dusterl
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 2.089
      Makefile:
      code:
      F90 = gfortran
      bin/SPheno:
              cd src ; make F90=${F90}
      clean:
              rm -f *.o *~ */*.o */*~
      cleanall:
              rm -f bin/SPheno lib/*.a *.o *~ */*.o */*~ include/*
      

      src/Makefile
      code:
      PreDef = -DGENERATIONMIXING  -DONLYDOUBLE
      InDir = ../include
      Mdir = ${InDir}
      #F90 = g95
      #F90 = ifort
      #LFlagsB = -O
      #LFlagsB = -g
      #comp = -c -O -fmod=${Mdir} -I${InDir}
      comp = -W -c -O -M ${Mdir} -I${InDir}
      #comp = -c -g -mod ${Mdir} -I${InDir}
      name = ../lib/libSPheno.a
      .SUFFIXES : .o .ps .f90 .F90 .a
      bin/SPheno: ${name} SPheno3.o
              ${F90} -o SPheno ${LFlagsB} SPheno3.o ../lib/${name}
              mv SPheno ../bin
      ${name}: ${name}(Control.o)  ${name}(Mathematics.o)  ${name}(RGEs.o)       \
          ${name}(MathematicsQP.o)  ${name}(Model_Data.o) \
        ${name}(StandardModel.o) ${name}(Couplings.o)                      \
         ${name}(SusyMasses.o) ${name}(LoopFunctions.o)    \
         ${name}(LoopCouplings.o)  ${name}(DecayFunctions.o)  \
        ${name}(SusyDecays.o) ${name}(ThreeBodyPhaseSpace.o)               \
        ${name}(ThreeBodyPhaseSpaceS.o) ${name}(Chargino3.o)               \
        ${name}(Gluino3.o) ${name}(Neutralino3.o)                          \
        ${name}(Stop3BodyDecays.o) ${name}(BranchingRatios.o)              \
        ${name}(EplusEminusProduction.o) ${name}(TwoLoopHiggsMass.o) \
        ${name}(LoopMasses.o) ${name}(SugraRuns.o) ${name}(Experiment.o) \
        ${name}(LowEnergy.o) ${name}(RPtools.o) ${name}(InputOutput.o)
      clean:
              rm -f *.o *~ */*.o */*~
      cleanall:
              rm -f bin/SPheno3 lib/*.a *~ */*.o */*~ include/*
      #
      # Suffix rules
      #
      .f90.a:
              ${F90} ${comp} $<
              ar -ruc $@ $*.o
              rm -f $*.o
      .F90.a:
              ${F90} ${comp}  ${PreDef} $<
              ar -ruc $@ $*.o
              rm -f $*.o
      .f90.o:
              ${F90} ${comp}  $<
      .f90.ps:
              a2ps  -o $*.ps $<
      .h.ps:
              a2ps -o  $*.ps $<
      
      


      und dann:
      $ make
    • Rabenstein
      Rabenstein
      Bronze
      Dabei seit: 14.08.2006 Beiträge: 3.010
      danke für die Mühe, aber er findet gfortran nicht - zu welchem compiler gehört das? gcc?
    • dusterl
      dusterl
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 2.089
      zum GCC.
      $ sudo apt-get install gfortran
    • Rabenstein
      Rabenstein
      Bronze
      Dabei seit: 14.08.2006 Beiträge: 3.010
      Muss ich dafür gcc installieren? Wenn ja, beim Befehl "make install" in dem entpackten Verzeichnis kommt der Fehler "no rule to make install"...wtf?
    • dusterl
      dusterl
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 2.089
      Original von dusterl
      zum GCC.
      $ sudo apt-get install gfortran
      gfortran ist der fortran teil der gcc.
      Unter Ubuntu installierst du den wie oben gepostet.
    • Rabenstein
      Rabenstein
      Bronze
      Dabei seit: 14.08.2006 Beiträge: 3.010
      schon versucht, er findet das package nicht...

      in der Anleitung steht, dass man das erst konfigurieren und builden muss? o.O
    • dusterl
      dusterl
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 2.089
      Uhm. Das ist ein Kernpaket. Das sollte eigentlich gehen.
      Sicher, dass du Ubuntu benutzt? Eventuell eine ältere Version? Tippfehler?
    • Rabenstein
      Rabenstein
      Bronze
      Dabei seit: 14.08.2006 Beiträge: 3.010
      Was bewirkt das "$"? Wenn ich das davormache, sagt er, er könne das Admin-Verzeichnis nicht "unlock"en und fragt mich, ob ich root bin.

      Ohne das $ funktioniert apt-get normal, er findet nur wie gesagt gfortran nicht.
    • dusterl
      dusterl
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 2.089
      $ steht für den prompt. Heißt nur, dass das folgende in die Kommandozeile eingegeben werden soll($ also nicht mitschreiben).
      Welche Ausgabe gibt:
      $ lsb_release -a
      ?
    • Rabenstein
      Rabenstein
      Bronze
      Dabei seit: 14.08.2006 Beiträge: 3.010
      Ubuntu 8.04, no LSB modules available
    • dusterl
      dusterl
      Bronze
      Dabei seit: 14.07.2006 Beiträge: 2.089
      Mh und wie siehts mit:
      $ cat /etc/apt/sources.list
      aus?

      Soll bei dem Prog mit den Beispieldaten eigentlich etwas sinnvolles rauskommen? Bei mir spuckt er nur :
      $ bin/SPheno
      there has been a problem, kont = -2
      aus.
      Also ka ob sich der Aufwand überhaupt lohnt. Das Makefile ist jedenfalls sehr wirr geschrieben mit lauter unsinnigen/doppelten Definitionen, die dann teilweise gar nicht benutzt werden. Wenn der eigentliche Quellcode genauso wirr ist - au weia. ^^
    • Rabenstein
      Rabenstein
      Bronze
      Dabei seit: 14.08.2006 Beiträge: 3.010
      lmao, das Prog ist von meinem Professor geschrieben und ich muss es verwenden :D

      edit:
      ich setz mich morgen wieder dran, und ja, eigentlich soll was sinnvolles bei rauskommen :D ... danke für die Hilfe einstweilen, vielleicht guckst du morgen nochmal in den Thread? :)
    • p0kerjack
      p0kerjack
      Bronze
      Dabei seit: 30.04.2008 Beiträge: 67
      Ist das nicht irgendwo auf nem Unirechner installiert?
      Wenn ja dann nimm PuTTY und mach ne SSH-Verbindung, fertig.
      Kann ja keiner verlangen, dass du dir den Rotz erst installieren musst.
    • daegga
      daegga
      Bronze
      Dabei seit: 11.02.2007 Beiträge: 2.255
      Original von Rabenstein
      Muss ich dafür gcc installieren? Wenn ja, beim Befehl "make install" in dem entpackten Verzeichnis kommt der Fehler "no rule to make install"...wtf?
      einfach nur make, nicht make install eingeben
      gibt halt keine regel für "install" im makefile ;)

      wenn er das paket sollte er eigentlich finden, ist glaub ich sogar auf der cd enthalten. propiers halt mal übern synaptic packet manager... und vl. mal quellen updaten bzw. vorher alle quellen erlauben
    • 1
    • 2