Ankündigung

Einklappen
Keine Ankündigung bisher.

EIBD und USB

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

    #46
    Danke, Martin.

    Das mit der pthsem kann sein. Ich habe mal mit Etch angefangen und immer dist-upgrade mit Deinen Sources durchgeführt. Da wurden die Pakete immer automatisch installiert.

    Beschäftige mich erst seit ca. 1/2 Jahr mit Selbstkompilierung und dann kann sowas schon mal passieren.

    Ich werde es heute abend ausprobieren.

    P.S. Glücklicherweise habe ich noch eine N148 und ohne --enable-usb läuft die Kompilierung aus dem GIT Rep auch sauber durch.

    P.S2. Gibt es eigentlich ein Tool unter Linux, das solche doppelten Installationen identifizieren kann?

    Frank

    Kommentar


      #47
      Zitat von Ottorino Beitrag anzeigen
      P.S. Glücklicherweise habe ich noch eine N148 und ohne --enable-usb läuft die Kompilierung aus dem GIT Rep auch sauber durch.

      P.S2. Gibt es eigentlich ein Tool unter Linux, das solche doppelten Installationen identifizieren kann?
      Add 1) Halte ich für problematisch - fürs Linken ist es (bis auf usb) egal, ob pthsem 2.0.7 oder 2.0.8. Wenn der dynamische Linker beim Ausführen die 2.0.7 Library nimmt, gibt es sicher Probleme

      Add 2) Tool ist mir dafür keines bekannt.
      Alles was man als root per make install installiert, wird überhaupt nirgends verwaltet.

      Kommentar


        #48
        Vielen Dank an alle Helfer! Probleme gelöst.

        In der Tat hatte ich das bcusdk quasi zweimal auf dem Server - einmal durch apt-get aus den Paketen von MKoegler und dann durch die Selbstkompilierung aus dem GIT.

        Habe jetzt alles in mühevoller Kleinarbeit bereinigt und nochmals neu aus dem GIT installiert - jetzt läuft es auch unter Squeeze einwandfrei.

        Frank

        P.S.: Das Problem aus Post 21 dieses Threads hatte ich auch - die korrekte Codezeile lautet allerdings "autoreconf -i -I /usr/local/share/aclocal"

        Kommentar


          #49
          Ich bin ja auch ein Switcher und habe mit der Compiliererei noch ein bißchen meine Probleme. Ich habe mit die folgende Anleitung genommen:

          Zitat von Jockel Beitrag anzeigen
          1. Clonen des GIT Repositories
          git clone git://bcusdk.git.sourceforge.net/gitroot/bcusdk/bcusdk

          2. Pthsem installieren
          git checkout -b pthsem origin/pthsem/master

          3. eibd installieren
          git checkout -b pu origin/pu
          und scheitere schon bei Punkt 2 ... habe GIT bisher noch nie benutzt und stehe da wohl etwas auf dem Schlauch. Zu den Einzelheiten:

          Nachdem ich Schritt 1 durchgeführt habe, sieht beim Verzeichnis wie folgt aus:

          Code:
          teichsta@max:~/eibd$ git clone git://bcusdk.git.sourceforge.net/gitroot/bcusdk/bcusdk
          Initialized empty Git repository in /home/teichsta/eibd/bcusdk/.git/
          remote: Counting objects: 49140, done.
          remote: Compressing objects: 100% (30554/30554), done.
          remote: Total 49140 (delta 19431), reused 46834 (delta 17364)
          Receiving objects: 100% (49140/49140), 74.24 MiB | 612 KiB/s, done.
          Resolving deltas: 100% (19431/19431), done.
          
          teichsta@max:~/eibd$ ls -l
          total 4
          drwxr-xr-x 13 teichsta teichsta 4096 2010-08-11 09:26 bcusdk
          in eben diesem Verzeichnis (eibd) möchte ich nun Schritt 2 ausführen und erhalte

          Code:
          teichsta@max:~/eibd$ git checkout -b pthsem origin/pthsem/master
          fatal: git checkout: updating paths is incompatible with switching branches.
          Did you intend to checkout 'origin/pthsem/master' which can not be resolved as commit?
          wenn ich in das Verzeichnis bcusdk wechsel wird der Inhalt darin überschrieben ... was mache ich da falsch?

          Wäre für jeden Tipp dankbar!
          Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

          Kommentar


            #50
            Zitat von teichsta Beitrag anzeigen
            in eben diesem Verzeichnis (eibd) möchte ich nun Schritt 2 ausführen und erhalte

            Code:
            teichsta@max:~/eibd$ git checkout -b pthsem origin/pthsem/master
            fatal: git checkout: updating paths is incompatible with switching branches.
            Did you intend to checkout 'origin/pthsem/master' which can not be resolved as commit?
            wenn ich in das Verzeichnis bcusdk wechsel wird der Inhalt darin überschrieben ... was mache ich da falsch?
            Erst einmal ein Tipp: Nimm einfach pthsem 2.0.8 statt der Version aus den GIT.

            git checkout schlägt wahrscheinlich fehl, weil du in keinen GIT Repository (zu erkennen, das im aktuellen Verzeichnis oder einen Elternverzeichnis ein Directory names .git exisitiert). git Befehle (mit der Ausnahme von clone und init) machen nur in einen GIT Repository Sinn.

            Das Überschreiben ist so gedacht. Aus einen Repository kann nur immer ein Stand ausgecheckt sein. Beim BCUSDK Repository fällt es eben auf, da mehrere für dich interessante Branches (pthsem, bcusdk) enthalten sind.

            Die Lösung für deinen Wunsch ist, das man sich einen zweites GIT Verzeichnis anlegt.
            Wenn dir der Netzwerk-Traffic egal ist, führe clone in einen weiteren Directory noch einmal aus (bzw. übergibt einen Verzeichnis-Namen als dritten Parameter an git clone).
            Alternativ kann man das ganze bcusdk Verzeichnis auch einfach kopieren.
            In einen Verzeichnis machst du dann den Checkout für pthsem und in den anderen für den EIBD.

            Kommentar


              #51
              Hi Martin,

              Zitat von mkoegler Beitrag anzeigen
              Die Lösung für deinen Wunsch ist, das man sich einen zweites GIT Verzeichnis anlegt.
              Wenn dir der Netzwerk-Traffic egal ist, führe clone in einen weiteren Directory noch einmal aus (bzw. übergibt einen Verzeichnis-Namen als dritten Parameter an git clone).
              Alternativ kann man das ganze bcusdk Verzeichnis auch einfach kopieren.
              In einen Verzeichnis machst du dann den Checkout für pthsem und in den anderen für den EIBD.
              Vielen Dank für den entscheidenden Hinweis! Kompilieren hat nun funktioniert. Der eibd läuft auch schon soweit, dass ich darüber Geräte programmieren kann. Sogar stabil ...

              Was funktioniert, sind leider die ganzen Kommandozeilentools die verabschieden sich alle mit einem Fehler

              Code:
              teichsta@max:/media/1-wire$ vbusmonitor1
              vbusmonitor1: error while loading shared libraries: libeibclient.so.0: cannot open shared object file: No such file or directory
              teichsta@max:/media/1-wire$ busmonitor1 
              busmonitor1: error while loading shared libraries: libeibclient.so.0: cannot open shared object file: No such file or directory
              teichsta@max:/media/1-wire$ vbusmonitor1 ip:192.168.1.100
              vbusmonitor1: error while loading shared libraries: libeibclient.so.0: cannot open shared object file: No such file or directory
              teichsta@max:/media/1-wire$ groupwrite 
              groupwrite: error while loading shared libraries: libeibclient.so.0: cannot open shared object file: No such file or directory
              Es wird ja wohl an irgendwelchen Pfaden liegen, die noch nicht richtig gesetzt sind, denn das make ist (soweit ich das übersehen kann) ordentlich durchgelaufen.

              hat einer von Euch eine Idee?
              Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

              Kommentar


                #52
                Das ist merkwürdig ...

                Hast Du einfach ein make gemacht ? Oder ein Installationspaket gebaut und das dann installiert ?

                Ich habe eibd unter Fedora am laufen und hatte dazu dann erstmal die RPMs gebaut. Unter FC13 mit Martins Hilfe - an dieser Stelle nochmals Danke.

                Als Resultat habe ich eine libeibclient.a

                Fedora 8 ( 32bit ) : /usr/lib/libeibclient.a
                Fedora 13 ( 64bit ) : /usr/lib64/libeibclient.a

                eine libeibclient.so.0 habe ich nicht.

                Installiert ist bei mir bcusdk 0.0.4 sowie pthsem 2.0.7 :

                32bit : rpm -qa | egrep "eib|pthsem"
                pthsem-devel-2.0.7-1
                libeibclient-devel-0.0.4-1 <- hier steckt die library drin
                eibd-client-sources-0.0.4-1
                eibd-clients-0.0.4-1
                pthsem-debuginfo-2.0.7-1
                pthsem-2.0.7-1
                eibd-server-0.0.4-1

                64bit : rpm -qa | egrep "eib|pthsem"
                eibd-clients-0.0.4-1.x86_64
                pthsem-2.0.7-3.fc12.x86_64
                eibd-client-sources-0.0.4-1.x86_64
                eibd-server-0.0.4-1.x86_64
                libeibclient-devel-0.0.4-1.x86_64 <- hier steckt die library drin

                EDIT : Selbst wenn ich mir das File anschaue ( z.B. groupreadresponse ) zeigt sich bei mir keine libeibclient Abhängigkeit ( readelf oder strings $(which groupreadresponse) | grep libeib ).


                Viele Grüße,

                Bernd

                Kommentar


                  #53
                  Hi Bernd,

                  Zitat von bss Beitrag anzeigen
                  Hast Du einfach ein make gemacht ?
                  ja, habe, weil ich beim ersten mal die falschen --enable-XXX Optionen gesetzt hatte.

                  Jetzt muß ich wohl erstmal aufräumen?

                  Wie stelle ich das am besten an?
                  Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                  Kommentar


                    #54
                    Ich glaub dann ist die Lösung einfacher :

                    Hast Du mal ein "make install" gemacht ? Sonst wird das nix, ein "make clean" räumt üblicherweise auf ( nur da wo Du compilierst, im System nicht ).

                    Falls es Dir hilft, bei mir wurde der configure so aufgerufen :

                    configure --enable-ft12 --enable-pei16 --enable-tpuart --enable-pei16s --enable-tpuarts --enable-eibnetip --enable-eibnetipserver --enable-eibnetiptunnel --enable-usb --enable-groupcache --enable-java


                    Viele Grüße,

                    Bernd

                    Kommentar


                      #55
                      Zitat von bss Beitrag anzeigen
                      Hast Du mal ein "make install" gemacht ?
                      jo habe ich. Habe es gerade nochmal gemacht der Output daraus ist

                      Code:
                      teichsta@max:~/eibd/eibd-core$ sudo make install
                      [sudo] password for teichsta: 
                      make  install-recursive
                      make[1]: Entering directory `/home/teichsta/eibd/eibd-core'
                      Making install in .
                      make[2]: Entering directory `/home/teichsta/eibd/eibd-core'
                      make[3]: Entering directory `/home/teichsta/eibd/eibd-core'
                      make[3]: Nothing to be done for `install-exec-am'.
                      make[3]: Nothing to be done for `install-data-am'.
                      make[3]: Leaving directory `/home/teichsta/eibd/eibd-core'
                      make[2]: Leaving directory `/home/teichsta/eibd/eibd-core'
                      Making install in common
                      make[2]: Entering directory `/home/teichsta/eibd/eibd-core/common'
                      make[3]: Entering directory `/home/teichsta/eibd/eibd-core/common'
                      make[3]: Nothing to be done for `install-exec-am'.
                      test -z "/usr/local/include" || /bin/mkdir -p "/usr/local/include"
                       /usr/bin/install -c -m 644 eibloadresult.h '/usr/local/include'
                      make[3]: Leaving directory `/home/teichsta/eibd/eibd-core/common'
                      make[2]: Leaving directory `/home/teichsta/eibd/eibd-core/common'
                      Making install in eibd
                      make[2]: Entering directory `/home/teichsta/eibd/eibd-core/eibd'
                      Making install in include
                      make[3]: Entering directory `/home/teichsta/eibd/eibd-core/eibd/include'
                      make[4]: Entering directory `/home/teichsta/eibd/eibd-core/eibd/include'
                      make[4]: Nothing to be done for `install-exec-am'.
                      test -z "/usr/local/include" || /bin/mkdir -p "/usr/local/include"
                       /usr/bin/install -c -m 644 eibclient.h eibtypes.h '/usr/local/include'
                      make[4]: Leaving directory `/home/teichsta/eibd/eibd-core/eibd/include'
                      make[3]: Leaving directory `/home/teichsta/eibd/eibd-core/eibd/include'
                      Making install in client
                      make[3]: Entering directory `/home/teichsta/eibd/eibd-core/eibd/client'
                      Making install in def
                      make[4]: Entering directory `/home/teichsta/eibd/eibd-core/eibd/client/def'
                      make[5]: Entering directory `/home/teichsta/eibd/eibd-core/eibd/client/def'
                      make[5]: Nothing to be done for `install-exec-am'.
                      make[5]: Nothing to be done for `install-data-am'.
                      make[5]: Leaving directory `/home/teichsta/eibd/eibd-core/eibd/client/def'
                      make[4]: Leaving directory `/home/teichsta/eibd/eibd-core/eibd/client/def'
                      Making install in c
                      make[4]: Entering directory `/home/teichsta/eibd/eibd-core/eibd/client/c'
                      make  install-am
                      make[5]: Entering directory `/home/teichsta/eibd/eibd-core/eibd/client/c'
                      make[6]: Entering directory `/home/teichsta/eibd/eibd-core/eibd/client/c'
                      test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib"
                       /bin/bash ../../../libtool   --mode=install /usr/bin/install -c   libeibclient.la '/usr/local/lib'
                      libtool: install: /usr/bin/install -c .libs/libeibclient.so.0.0.0 /usr/local/lib/libeibclient.so.0.0.0
                      libtool: install: (cd /usr/local/lib && { ln -s -f libeibclient.so.0.0.0 libeibclient.so.0 || { rm -f libeibclient.so.0 && ln -s libeibclient.so.0.0.0 libeibclient.so.0; }; })
                      libtool: install: (cd /usr/local/lib && { ln -s -f libeibclient.so.0.0.0 libeibclient.so || { rm -f libeibclient.so && ln -s libeibclient.so.0.0.0 libeibclient.so; }; })
                      libtool: install: /usr/bin/install -c .libs/libeibclient.lai /usr/local/lib/libeibclient.la
                      libtool: install: /usr/bin/install -c .libs/libeibclient.a /usr/local/lib/libeibclient.a
                      libtool: install: chmod 644 /usr/local/lib/libeibclient.a
                      libtool: install: ranlib /usr/local/lib/libeibclient.a
                      libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /usr/local/lib
                      ----------------------------------------------------------------------
                      Libraries have been installed in:
                         /usr/local/lib
                      
                      [...]
                      mein /usr/local/lib - Vezeichnis sieht inzwischen so aus :-)

                      Code:
                      teichsta@max:/usr/local/lib$ ls -l
                      total 1632
                      -rw-r--r-- 1 root root  581456 2010-08-11 15:41 libeibclient.a
                      -rwxr-xr-x 1 root root     970 2010-08-11 15:41 libeibclient.la
                      lrwxrwxrwx 1 root root      21 2010-08-11 15:41 libeibclient.so -> libeibclient.so.0.0.0
                      lrwxrwxrwx 1 root root      21 2010-08-11 15:41 libeibclient.so.0 -> libeibclient.so.0.0.0
                      -rwxr-xr-x 1 root root  237130 2010-08-11 15:41 libeibclient.so.0.0.0
                      -rw-r--r-- 1 root root  538538 2010-08-11 12:02 libpthsem.a
                      -rwxr-xr-x 1 root root     955 2010-08-11 12:02 libpthsem.la
                      lrwxrwxrwx 1 root root      20 2010-08-11 12:02 libpthsem.so -> libpthsem.so.20.0.28
                      lrwxrwxrwx 1 root root      20 2010-08-11 12:02 libpthsem.so.20 -> libpthsem.so.20.0.28
                      -rwxr-xr-x 1 root root  281168 2010-08-11 12:02 libpthsem.so.20.0.28
                      drwxrwxr-x 3 root root    4096 2009-12-24 15:23 perl
                      drwxr-xr-x 2 root root    4096 2010-08-11 12:02 pkgconfig
                      drwxrwsr-x 3 root staff   4096 2010-01-23 06:26 python2.4
                      drwxrwsr-x 4 root staff   4096 2009-12-24 00:01 python2.6
                      drwxr-xr-x 3 root root    4096 2009-12-24 15:23 tcltk
                      da werde ich dann wohl doch mal aufräumen müssen ... kann ich die links und Dateien einfach löschen und dann nochmal "make install" machen? Wird dann mit der Nummerierung wieder von vorne begonnen?
                      Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                      Kommentar


                        #56
                        Zitat von bss Beitrag anzeigen
                        Falls es Dir hilft, bei mir wurde der configure so aufgerufen :

                        configure --enable-ft12 --enable-pei16 --enable-tpuart --enable-pei16s --enable-tpuarts --enable-eibnetip --enable-eibnetipserver --enable-eibnetiptunnel --enable-usb --enable-groupcache --enable-java
                        bei mir war beim letzten Mal auch noch

                        --with-pth=yes --without-pth-test

                        dabei ... ohne das ich wüßte wofür diese Optionen stehen. Kann man das eigentlich irgendwo nachlesen?
                        Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                        Kommentar


                          #57
                          Zitat von teichsta Beitrag anzeigen
                          bei mir war beim letzten Mal auch noch

                          --with-pth=yes --without-pth-test

                          dabei ... ohne das ich wüßte wofür diese Optionen stehen. Kann man das eigentlich irgendwo nachlesen?
                          Klar.
                          Code:
                          ./configure --help
                          ergibt:
                          Code:
                          ....
                          Optional Packages:
                            --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
                            --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
                          .....
                            --with-pth=ARG        Build with pthsem Library  (default=yes)
                            --with-pth-test         Perform pthsem Sanity Test (default=yes)
                          Also mit pthsem Library, aber ohne pthsem Sanity Test. --without-pth-test ist eigentlich nur wichtig bei CrossCompile builds.

                          Gruß
                          Dirk

                          Kommentar


                            #58
                            Zitat von bss Beitrag anzeigen
                            Als Resultat habe ich eine libeibclient.a

                            Fedora 8 ( 32bit ) : /usr/lib/libeibclient.a
                            Fedora 13 ( 64bit ) : /usr/lib64/libeibclient.a

                            eine libeibclient.so.0 habe ich nicht.
                            Libeibclient.so ist erst nach den Release vom bcusdk-0.0.4 hinzugekommen.
                            Es hat sich leider herausgestellt, das eine statische Library nicht in anderen dynamischen Libraries verwendbar ist - deshalb wird libeibclient jetzt mit libtool erzeugt.

                            Kommentar


                              #59
                              Zitat von teichsta Beitrag anzeigen
                              da werde ich dann wohl doch mal aufräumen müssen ... kann ich die links und Dateien einfach löschen und dann nochmal "make install" machen? Wird dann mit der Nummerierung wieder von vorne begonnen?
                              Die "Nummern" sind vom Program festgelegt. Bei gewissen Änderungen in der Library müssen sie vom Programmierer verändert werden.
                              Jeder Install aus den selben Sourcen erzeugt die selben Dateinamen.

                              Übrigens:
                              Es gibt ein "make uninstall" . Beim bcusdk ist es aber nicht 100% .

                              Kommentar


                                #60
                                Hi,

                                Zitat von mkoegler Beitrag anzeigen
                                Es gibt ein "make uninstall" . Beim bcusdk ist es aber nicht 100% .
                                jedenfalls hat es so gut funktioniert, dass es nun klappt. Ich habe einfach make uninstall aufgerufen und die ganze make-sauce nochmal neu (mit frisch ausgecheckten Sourcen) und jetzt geht es.

                                Vielen Dank an alle die mitgeholfen und mitgedacht haben.
                                Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                                Kommentar

                                Lädt...
                                X