Ankündigung

Einklappen
Keine Ankündigung bisher.

Installation auf Synology 411

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #61
    Sorry. Gerade glaube ich Mist gepostet... das Python ist das aus dem Community Repository oder? Soweit ich mich erinnere habe ich ephem mit easy-install installiert und musste davor auch header files umkopieren. Dann ging es aber! Nicht aufgeben, ich hab 3 Tage für den ganzen Kram gebraucht, inklusive diverser Sachen selber zu kompilieren. Das hat aber mehr eibd betroffen.
    Läuft auf einer RS815+ - insofern: irgendwie kriegt man es hin! Den Raspi2 habe ich jetzt trotzdem, aber für andere Spieleren.. die DS hat einfach ordentlich Power für das ganze Zeugs, daher würde ich dranbleiben! Vielleicht fällt mir bis morgen ein was ich genau gemacht habe. War auch ziemlich wild alles.

    Mit dem Standard Python3 von Synology habe ich es aber NICHT hinbekommen. Daher Community Repository..

    Anbei meine Paketquellen:
    gfdg.PNG

    Der eibd geht bei Dir? Gabs da irgendwo ein Paket das kompiliert war? pthsem hat mich zum Wahnsinn getrieben...
    Zuletzt geändert von psilo; 25.11.2015, 15:49.

    Kommentar


      #62
      Das mit dem Phyton3 aus dem Community Repository ist ein guter Tipp. Das werd ich mal versuchen. Bisher verwende ich das Phyton das mit der Synology offiziell mitkommt.

      Weisst du ob ich das Standard Phyton von der Synology werfen sollte, wenn ich die Community Version verwendenn will?

      Mit dem eibd hab ich auch lange gekämpt und es nicht hinbekommen.
      Aber irgendwann hab ich dann erfahren, dass hier im Downloadbereich des Forums bereits ein fertiges Paket für die Synology gibt. Damit hat es dann praktisch per Kompdruck geklappt.
      Gruß Kex

      Kommentar


        #63
        Ich hab jetzt mal das Community Python3 installiert. Das Standard Python hab ich allerdings drauf gelassen.
        Die Probleme sind aber praktisch die selben:
        - pip und easy-install findet den gcc nicht. Deshalb musste ich wieder einen Symlink setzen (allerdings diesmal an eine andere Stelle)
        - Die Headerfiles wurden nicht gefunden. Deshalb habe ich die wieder von Hand kopiert und versucht ephem wie folgt zu bauen:

        Code:
        CFLAGS="" /volume1/@appstore/python3/bin/python3.4m setup.py install
        Ohne das CFLAGS bekomme ich jede menge Compilerwarnungen.

        Beim Test von ephem mit Python3.4 bekomme ich allerdings immernoch die unicoode Fehlermeldung (siehe oben).

        Allerdings habe ich inzwischen einen ziemlichen verdacht:
        Die Headerfiles habe ich von einer Python 3.2 Installation genommen, die auf meiner Synology drauf ist. Hab ich wohl mal über IPKG installiert. Warum ich die Files von hier nehme? Ich finde ums ver*****n keine Headerfiles für mein Python 3.4!
        Inzwischen habe ich rausgefunden dass die Python 3.2 Installation das UCS2 unterstützt. Wenn ich das gebaute ephem hier teste scheint es zu laufen!!!!!

        Allerdings läuft hier smarthome.py nicht. Also war meine Freude von kurzer Dauer!. Das logfile ist recht kurz:
        Code:
        2015-11-25 19:55:52,360 INFO     Main         Start SmartHome.py 1.0 -- smarthome.py:__init__:231
        2015-11-25 19:55:52,361 DEBUG    Main         Python 3.2.3 -- smarthome.py:__init__:232
        2015-11-25 19:55:52,365 ERROR    Main         Unhandled exception: invalid literal for int() with base 10: '598.92'
        <class 'ValueError'>
          File "/usr/local/smarthome-1.0/bin/smarthome.py", line 605, in <module>
            sh = SmartHome()
          File "/usr/local/smarthome-1.0/bin/smarthome.py", line 245, in __init__
            self.sun = lib.orb.Orb('sun', self._lon, self._lat, self._elev)
          File "/usr/local/smarthome-1.0/lib/orb.py", line 47, in __init__
            self._obs.elevation = int(elev)
         -- smarthome.py:_excepthook:494
        ´
        Jetzt habe ich wie gesagt die Headerfiles in Verdacht. Kann mir jemand sagen wo ich die richtigen Headerfiles her bekomme?
        Gruß Kex

        Kommentar


          #64
          Hallo Zusammen,

          ich stand vor dem gleichen Problem seit sich ephem nicht mehr über easy install oder pip installieren lässt. Darum habe ich ephem in einer virtuellen Maschine (Ubuntu) cross-compiled.
          Ich nutze Python aus den Synology Sourcen, also das Standard Paket. Nach jedem Update muss ich das kompilierte ephem wieder auf die DS kopieren und entpacken. Meine 413+ hat leider eine so seltene CPU, dass meine Sourcen Euch nicht helfen :-/

          Hier aber meine Notizen zum Cross-Compile:
          Code:
          # Compile Python 3.4.3
          # http://randomsplat.com/id5-cross-compiling-python-for-embedded-linux.html
          #Download Python 3.4.3
          tar -xvzf Python-3.4.3.tgz
          cd Python-3.4.3
          #Run in clean terminal to compile with host GCC
          ./configure
          make python Parser/pgen
          mv python hostpython
          mv Parser/pgen Parser/hostpgen
          make distclean
          #Patch for 3.4.3 is not available, use 3.2.2 and clean up afterwards
          patch -p1 < Python-3.2.2-xcompile.patch
          
          #Cross Compile Python
          export PATH=/usr/local/powerpc-none-linux-gnuspe/bin:$PATH
          ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=yes CC=powerpc-none-linux-gnuspe-gcc CXX=powerpc-none-linux-gnuspe-g++ AR=powerpc-none-linux-gnuspe-ar RANLIB=powerpc-none-linux-gnuspe-ranlib ./configure --host=powerpc-none-linux-gnuspe --build=i686-pc-linux --prefix=/python --disable-ipv6
          make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen BLDSHARED="powerpc-none-linux-gnuspe-gcc -shared" CROSS_COMPILE=powerpc-none-linux-gnuspe- CROSS_COMPILE_TARGET=yes HOSTARCH=i686-pc-linux BUILDARCH=i686-pc-linux
          make install HOSTPYTHON=./hostpython BLDSHARED="powerpc-none-linux-gnuspe-gcc -shared" CROSS_COMPILE=powerpc-none-linux-gnuspe- CROSS_COMPILE_TARGET=yes prefix=~/Downloads/Python-3.4.3/_install
          
          #Cross Compile ephem
          export DS_TOOLCHAIN_ROOT=/usr/local/powerpc-none-linux-gnuspe
          export PYTHONXCPREFIX=/path/to/Python-3.4.3/_install
          export CROSS_COMPILE=powerpc-none-linux-gnuspe-
          export CC="${CROSS_COMPILE}gcc -pthread -I$DS_TOOLCHAIN_ROOT/include -I/usr/local/include -I/path/to/Python-3.4.3/_install/include/python3.4m/"
          export LDSHARED="${CC} -shared"
          export LDFLAGS="-L/path/to/Python-3.4.3/_install/lib -L/usr/local/powerpc-none-linux-gnuspe/lib"
          python setup.py build
          #Make sure /opt/lib/python exists
          sudo python setup.py install --home=/opt
          
          #Create tar.gz. package
          
          #Move package to NAS
          scp ephem.tar.gz user@nas:/path/to/home/
          
          #Extract in Synology 
          sudo cp /path/to/home/ephem.tar.gz /path/to/@appstore/py3k/usr/local/lib/python3.4/
          cd /path/to/@appstore/py3k/usr/local/lib/python3.4/
          sudo tar xzvf ephem.tar.gz

          Kommentar


            #65
            Danke, ich werde mal schauen ob mir das weiterhilft. Ich hoffe ich komme Am Wochenende dazu an dem Thema weiterzumachen.

            Da es sich hier um Deine Notizen für eine DS413+ handelt und diese eine andere CPU hat als eine DS214play muss ich an einigen Stellen bestimmt die CPU anpassen. Richtig?
            Gruß Kex

            Kommentar


              #66
              Genau, mir hat damals der Synology Developer Guide sehr geholfen. Drücke Dir die Daumen bei der Frickelei. Aber von der Geschwindigkeit her lohnt es sich auf jeden Fall. Hach, gut zu wissen, dass ich nicht der einzige bin, der seine Freizeit mit so einem Zeugs verbringt ;-)

              Kommentar


                #67
                Ich will gar nicht wissen wieviel Zeit ich jetzt da schon rein gesteckt hab...

                Ich hatte gehofft um das Crosscompilieren drum rum zu kommen und hab jetzt nochmal erfolglos getestet ob ich mir von der python Homepage mir das orginal Paket mit den Header files holen kann.
                Hab's auch tatsächlich in der richtigen version gefunden. Und da waren auch die Header files drin.
                Ehpem konnte ich tatsächlich auch bauen.

                Nachdem ich dann folgendes getestet hatte und keine Fehlermeldung bekommen hatte war bei mir erstmal die Freude groß:
                Code:
                DS214play> ./python3.4
                Python 3.4.1 (default, May 25 2015, 18:49:16)
                [GCC 4.6.3] on linux
                Type "help", "copyright", "credits" or "license" for more information.
                >>> import ephem
                >>>
                Eigentlich bin ich davon ausgegangen, wenn ich bei "import ephem" keine Fehlermeldung bekomme ist alles in Ordnung.
                Leider sieht das Logfile von smarthome beim Start immernoch so aus:

                Code:
                DS214play> more /usr/local/smarthome-1.0/var/log/smarthome.log
                2015-11-26 19:48:04,165 INFO     Main         Start SmartHome.py 1.0 -- smarthome.py:__init__:231
                2015-11-26 19:48:04,166 DEBUG    Main         Python 3.4.1 -- smarthome.py:__init__:232
                2015-11-26 19:48:04,170 ERROR    Main         Unhandled exception: invalid literal for int() with base 10: '598.92'
                <class 'ValueError'>
                  File "/usr/local/smarthome-1.0/bin/smarthome.py", line 605, in <module>
                    sh = SmartHome()
                  File "/usr/local/smarthome-1.0/bin/smarthome.py", line 245, in __init__
                    self.sun = lib.orb.Orb('sun', self._lon, self._lat, self._elev)
                  File "/usr/local/smarthome-1.0/lib/orb.py", line 47, in __init__
                    self._obs.elevation = int(elev)
                 -- smarthome.py:_excepthook:494
                Was soll mir das jetzt sagen. Ich fürchte dass ein crosscompilieren von ephem auch nicht wirklich zum erfolg führt, denn bauen konnte ich es ja jetzt und im python interpreter sieht auch alles ganz gut aus.

                Kann jemand was mit dem Logfile anfangen?
                Gruß Kex

                Kommentar


                  #68
                  ES LÄUFT DOCH!

                  Ich hab jetzt den elev Eintrag aus der smarthome.conf rausgeschmissen und jetzt läuft smarthome!

                  Im Log tauchen jetzt diese beiden Zeilen auf

                  Code:
                  2015-11-26 20:08:40,898 DEBUG    env_loc      Item env.location.sunrise = 2015-11-27 07:44:49.715531+01:00 via Logic None None -- item.py:__update:363
                  2015-11-26 20:08:40,923 DEBUG    env_loc      Item env.location.sunset = 2015-11-27 16:28:56.958855+01:00 via Logic None None -- item.py:__update:363
                  Ich denke das ist mal ein recht gutes Zeichen!
                  Gruß Kex

                  Kommentar

                  Lädt...
                  X