Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
17.11.2017, 18:15:52

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
  • Mitglieder insgesamt: 19089
  • Letzte: achso
Statistiken
  • Beiträge insgesamt: 491886
  • Themen insgesamt: 39547
  • Heute online: 341
  • Am meisten online: 679
  • (03.04.2017, 15:20:01)
Benutzer Online

Autor Thema:  kompilieren mit cmake funktioniert nicht  (Gelesen 1234 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

kompilieren mit cmake funktioniert nicht
« am: 09.10.2016, 09:24:10 »
Hallo,

möchte ttwatch installieren um meine TomTom Runner 2 Laufuhr auszulesen.
Hab mir dazu ttwatch geholt, beim Versuch es zu kompilieren ist schon bei cmake Schluß.
Ich hab LinuxMint 18 mit Cinnamon 64bit Desktop
hier der Fehler:

- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is unknown
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- broken
CMake Error at /usr/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "/usr/bin/cc" is not able to compile a simple test program.

  It fails with the following output:

   Change Dir: /media/stefan/Obi-Wan/TomTom_Runner2/ttwatch-master/CMakeFiles/CMakeTmp

 

  Run Build Command:"/usr/bin/make" "cmTC_5436e/fast"

  /usr/bin/make -f CMakeFiles/cmTC_5436e.dir/build.make
  CMakeFiles/cmTC_5436e.dir/build

  make[1]: Verzeichnis
  „/media/stefan/Obi-Wan/TomTom_Runner2/ttwatch-master/CMakeFiles/CMakeTmp“
  wird betreten

  Building C object CMakeFiles/cmTC_5436e.dir/testCCompiler.c.o

  /usr/bin/cc -o CMakeFiles/cmTC_5436e.dir/testCCompiler.c.o -c
  /media/stefan/Obi-Wan/TomTom_Runner2/ttwatch-master/CMakeFiles/CMakeTmp/testCCompiler.c


  Linking C executable cmTC_5436e

  /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5436e.dir/link.txt
  --verbose=1

  /usr/bin/cc CMakeFiles/cmTC_5436e.dir/testCCompiler.c.o -o cmTC_5436e
  -rdynamic

  /usr/bin/ld: cannot find crt1.o: Datei oder Verzeichnis nicht gefunden

  /usr/bin/ld: cannot find crti.o: Datei oder Verzeichnis nicht gefunden

  /usr/bin/ld: cannot find -lc

  /usr/bin/ld: cannot find crtn.o: Datei oder Verzeichnis nicht gefunden

  collect2: error: ld returned 1 exit status

  CMakeFiles/cmTC_5436e.dir/build.make:97: die Regel für Ziel
  „cmTC_5436e“ scheiterte

  make[1]: *** [cmTC_5436e] Fehler 1

  make[1]: Verzeichnis
  „/media/stefan/Obi-Wan/TomTom_Runner2/ttwatch-master/CMakeFiles/CMakeTmp“
  wird verlassen

  Makefile:126: die Regel für Ziel „cmTC_5436e/fast“ scheiterte

  make: *** [cmTC_5436e/fast] Fehler 2

 

 

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:2 (project)


CMake Error at CMakeLists.txt:2 (project):
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!

Hat jemenad eine Idee?
Mfg
Stefan

Re: kompilieren mit cmake funktioniert nicht
« Antwort #1 am: 09.10.2016, 09:35:45 »
Ein Schuss ins Blaue:
Hast du sichergestellt, dass alle Abhängigkeiten installiert sind?
Siehe https://github.com/ryanbinns/ttwatch#system-requirements

Re: kompilieren mit cmake funktioniert nicht
« Antwort #2 am: 09.10.2016, 10:03:45 »
Ich hab tatsächlich nicht alles übeprüft, das libusb hab ich vergessen.
Aber jetzt hab ich das nächste Problem, beim installieren von libusb
configure lief durch
make auch,
bei make install gibts Probleme, brauch ich ein sudo davor,
oder muß ich das libusb 1.0.0 vorher deinstallieren?

hier das make:

make  all-recursive
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird betreten
Making all in libusb
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
make[3]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
  CC       libusb_1_0_la-core.lo
  CC       libusb_1_0_la-descriptor.lo
  CC       libusb_1_0_la-io.lo
  CC       libusb_1_0_la-strerror.lo
  CC       libusb_1_0_la-sync.lo
  CC       libusb_1_0_la-hotplug.lo
  CC       os/libusb_1_0_la-threads_posix.lo
  CC       os/libusb_1_0_la-linux_usbfs.lo
  CC       os/libusb_1_0_la-poll_posix.lo
  CC       os/libusb_1_0_la-linux_udev.lo
  CCLD     libusb-1.0.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[3]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
Making all in doc
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird betreten
make[2]: Für das Ziel „all“ ist nichts zu tun.
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird verlassen
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird betreten
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird verlassen
stefan@stefan-System-Product-Name /media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20 $ make check
Making check in libusb
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
make[2]: Für das Ziel „check-am“ ist nichts zu tun.
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
Making check in doc
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird betreten
make[1]: Für das Ziel „check“ ist nichts zu tun.
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird betreten
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird verlassen

und make install:
Making install in libusb
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
make[3]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
 /bin/mkdir -p '/usr/local/lib'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   libusb-1.0.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libusb-1.0.so.0.1.0 /usr/local/lib/libusb-1.0.so.0.1.0
/usr/bin/install: cannot create regular file '/usr/local/lib/libusb-1.0.so.0.1.0': Permission denied
Makefile:486: die Regel für Ziel „install-libLTLIBRARIES“ scheiterte
make[3]: *** [install-libLTLIBRARIES] Fehler 1
make[3]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
Makefile:919: die Regel für Ziel „install-am“ scheiterte
make[2]: *** [install-am] Fehler 2
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
Makefile:755: die Regel für Ziel „install-recursive“ scheiterte
make[1]: *** [install-recursive] Fehler 1
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
Makefile:470: die Regel für Ziel „install-recursive“ scheiterte
make: *** [install-recursive] Fehler 1



Re: kompilieren mit cmake funktioniert nicht
« Antwort #3 am: 09.10.2016, 10:05:39 »
Für ein Install braucht man immer sudo, egal was man installieren will.

Re: kompilieren mit cmake funktioniert nicht
« Antwort #4 am: 09.10.2016, 10:19:33 »
Eigentlich sollte es reichen, wenn du libusb-1.0-0 aus den Ubuntu-Repos installierst.

Edit: Evtl. auch  libusb-1.0-0-dev

Re: kompilieren mit cmake funktioniert nicht
« Antwort #5 am: 09.10.2016, 10:28:52 »
das lib 1.0.0 war installiert!

jetzt lief das lib 1.0.20 durch, jetzt geht noch weniger

Making install in libusb
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
make[3]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
 /bin/mkdir -p '/usr/local/lib'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   libusb-1.0.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libusb-1.0.so.0.1.0 /usr/local/lib/libusb-1.0.so.0.1.0
libtool: install: (cd /usr/local/lib && { ln -s -f libusb-1.0.so.0.1.0 libusb-1.0.so.0 || { rm -f libusb-1.0.so.0 && ln -s libusb-1.0.so.0.1.0 libusb-1.0.so.0; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libusb-1.0.so.0.1.0 libusb-1.0.so || { rm -f libusb-1.0.so && ln -s libusb-1.0.so.0.1.0 libusb-1.0.so; }; })
libtool: install: /usr/bin/install -c .libs/libusb-1.0.lai /usr/local/lib/libusb-1.0.la
libtool: install: /usr/bin/install -c .libs/libusb-1.0.a /usr/local/lib/libusb-1.0.a
libtool: install: chmod 644 /usr/local/lib/libusb-1.0.a
libtool: install: ranlib /usr/local/lib/libusb-1.0.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /bin/mkdir -p '/usr/local/include/libusb-1.0'
 /usr/bin/install -c -m 644 libusb.h '/usr/local/include/libusb-1.0'
make[3]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
Making install in doc
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird betreten
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird betreten
make[2]: Für das Ziel „install-exec-am“ ist nichts zu tun.
make[2]: Für das Ziel „install-data-am“ ist nichts zu tun.
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird betreten
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird betreten
make[2]: Für das Ziel „install-exec-am“ ist nichts zu tun.
 /bin/mkdir -p '/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 libusb-1.0.pc '/usr/local/lib/pkgconfig'
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird verlassen

Probleme mit cmake
Making install in libusb
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
make[3]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird betreten
 /bin/mkdir -p '/usr/local/lib'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   libusb-1.0.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libusb-1.0.so.0.1.0 /usr/local/lib/libusb-1.0.so.0.1.0
libtool: install: (cd /usr/local/lib && { ln -s -f libusb-1.0.so.0.1.0 libusb-1.0.so.0 || { rm -f libusb-1.0.so.0 && ln -s libusb-1.0.so.0.1.0 libusb-1.0.so.0; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libusb-1.0.so.0.1.0 libusb-1.0.so || { rm -f libusb-1.0.so && ln -s libusb-1.0.so.0.1.0 libusb-1.0.so; }; })
libtool: install: /usr/bin/install -c .libs/libusb-1.0.lai /usr/local/lib/libusb-1.0.la
libtool: install: /usr/bin/install -c .libs/libusb-1.0.a /usr/local/lib/libusb-1.0.a
libtool: install: chmod 644 /usr/local/lib/libusb-1.0.a
libtool: install: ranlib /usr/local/lib/libusb-1.0.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /bin/mkdir -p '/usr/local/include/libusb-1.0'
 /usr/bin/install -c -m 644 libusb.h '/usr/local/include/libusb-1.0'
make[3]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/libusb“ wird verlassen
Making install in doc
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird betreten
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird betreten
make[2]: Für das Ziel „install-exec-am“ ist nichts zu tun.
make[2]: Für das Ziel „install-data-am“ ist nichts zu tun.
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20/doc“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird betreten
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird betreten
make[2]: Für das Ziel „install-exec-am“ ist nichts zu tun.
 /bin/mkdir -p '/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 libusb-1.0.pc '/usr/local/lib/pkgconfig'
make[2]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird verlassen
make[1]: Verzeichnis „/media/stefan/Obi-Wan/TomTom_Runner2/libusb-1.0.20“ wird verlassen



Re: kompilieren mit cmake funktioniert nicht
« Antwort #6 am: 09.10.2016, 10:33:19 »
In den Paketquellen ist libusb in Version 1.0.20
Wie kommst du also an die Version 1.0.0?

Es wäre sinnvoll, wenn du zu den Ausgaben auch den Befehl posten würdest, den du eingegeben hast.

Re: kompilieren mit cmake funktioniert nicht
« Antwort #7 am: 09.10.2016, 10:46:11 »
Ok mach ich

es war sudo make install bei libusb

und dann cmake . bei ttwatch

in der Paketverwaltung steht bei libusb 1.0.0

Re: kompilieren mit cmake funktioniert nicht
« Antwort #8 am: 09.10.2016, 11:05:19 »
hab das ttwatch noch mal neu entpackt, und den Befehl cmake ausgeführt,
das ist jetzt der momentane Stand:

stefan@stefan-System-Product-Name /media/stefan/Obi-Wan/TomTom_Runner2/ttwatch-master $ cmake .
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is unknown
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at CMakeLists.txt:2 (project):
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!

Re: kompilieren mit cmake funktioniert nicht
« Antwort #9 am: 09.10.2016, 11:07:46 »
in der Paketverwaltung steht bei libusb 1.0.0
Nein, das ist Version 1.0.20 (Installierte Version/ Neueste Version)

Re: kompilieren mit cmake funktioniert nicht
« Antwort #10 am: 09.10.2016, 11:11:16 »
blöde Frage: warum steht da 1.0.0 und nicht 1.0.20?


Re: kompilieren mit cmake funktioniert nicht
« Antwort #11 am: 09.10.2016, 11:14:42 »
Habs gesehen steht bei installierte version  :D

hab nochmal in den Paketquellen nach libcurl-dev gesucht ist bei mir nur libcurlpp-dev drin

Re: kompilieren mit cmake funktioniert nicht
« Antwort #12 am: 09.10.2016, 11:53:57 »
blöde Frage: warum steht da 1.0.0 und nicht 1.0.20?
Da steht nirgends "1.0.0", aber ich nehme mal an, du meinst "1.0-0":
Das ist ein Teil des Namens des Pakets, und gibt nicht die exakte Versionsnummer wieder. Man macht dass, damit man verschiedene Versionen eines Pakets installieren kann.

Ich konnte ttwatch erfolgreich kompilieren.

Hast du den Versuch mit dem selbstkompiliertem libusb eigentlich wieder rückgängig gemacht?

Re: kompilieren mit cmake funktioniert nicht
« Antwort #13 am: 09.10.2016, 13:21:09 »
Nein, was muss ich da machen?

brauch ich das libcurl-dev auch?
falls ja, was muss ich da installieren?
« Letzte Änderung: 09.10.2016, 13:53:19 von neusto »

Re: kompilieren mit cmake funktioniert nicht
« Antwort #14 am: 09.10.2016, 14:34:03 »
Du kannst es mit sudo make uninstall versuchen zu deinstallieren.

Ist das Paket build-essential installiert?