Stlink: kompilasi di ubuntu 16.10

Dibuat pada 4 Des 2016  ·  12Komentar  ·  Sumber: stlink-org/stlink

Hai
Saya baru saja menginstal ubuntu 16.10 dan saya mencoba menginstal driver stlink. Sayangnya saya tidak dapat mengkompilasi kode. Apa yang saya lakukan salah? masalah dengan ubuntu 16.10?

CMakeFiles_output.zip

Ini adalah keluaran dari perintah make release :

membuat rilis

- Identifikasi penyusun C adalah GNU 6.2.0
- Periksa kompiler C yang berfungsi: / usr / bin / cc
- Periksa apakah compiler C yang berfungsi: / usr / bin / cc - works
- Mendeteksi info ABI compiler C
- Mendeteksi info ABI compiler C - selesai
- Mendeteksi fitur kompilasi C.
- Mendeteksi fitur kompilasi C - selesai
Kesalahan CMake di cmake / Versi. cmake: 25 (string):
string sub-perintah REGEX, mode REPLACE membutuhkan setidaknya 6 argumen total
perintah.
Call Stack (panggilan terbaru lebih dulu):
CMakeLists. txt: 15 (termasuk)

- Melakukan Tes C_SUPPORTS_STD_GNU99
- Melakukan Tes C_SUPPORTS_STD_GNU99 - Berhasil
- Melakukan Tes C_SUPPORTS_WALL
- Melakukan Tes C_SUPPORTS_WALL - Berhasil
- Melakukan Tes C_SUPPORTS_WEXTRA
- Melakukan Tes C_SUPPORTS_WEXTRA - Berhasil
- Melakukan Tes C_SUPPORTS_WSHADOW
- Melakukan Tes C_SUPPORTS_WSHADOW - Berhasil
- Melakukan Tes C_SUPPORTS_D_FORTIFY_SOURCE_2
- Melakukan Tes C_SUPPORTS_D_FORTIFY_SOURCE_2 - Berhasil
- Melakukan Tes C_SUPPORTS_FSTRICT_ALIASING
- Melakukan Tes C_SUPPORTS_FSTRICT_ALIASING - Berhasil
- Melakukan Tes C_SUPPORTS_WUNDEF
- Melakukan Tes C_SUPPORTS_WUNDEF - Berhasil
- Melakukan Tes C_SUPPORTS_WFORMAT
- Melakukan Tes C_SUPPORTS_WFORMAT - Berhasil
- Melakukan Tes C_SUPPORTS_WFORMAT_SECURITY
- Melakukan Tes C_SUPPORTS_WFORMAT_SECURITY - Berhasil
- Melakukan Tes C_SUPPORTS_WMAYBE_UNINITIALIZED
- Melakukan Tes C_SUPPORTS_WMAYBE_UNINITIALIZED - Berhasil
- Melakukan Tes C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS
- Melakukan Tes C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS - Gagal
- Melakukan Tes C_SUPPORTS_WSHORTEN_64_TO_32
- Melakukan Tes C_SUPPORTS_WSHORTEN_64_TO_32 - Gagal
- Melakukan Tes C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION
- Melakukan Tes C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION - Berhasil
- Melakukan Tes C_SUPPORTS_WREDUNDANT_DECLS
- Melakukan Tes C_SUPPORTS_WREDUNDANT_DECLS - Berhasil
- Melakukan Tes C_SUPPORTS_FPIC
- Melakukan Tes C_SUPPORTS_FPIC - Berhasil
- Ditemukan Libusb: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
- Ditemukan PkgConfig: / usr / bin / pkg-config (versi yang ditemukan "0.29.1")
- Memeriksa modul 'gtk + -3.0'
- Ditemukan gtk + -3.0, versi 3.20.9
- Mencari sys / mman.h
- Mencari sys / mman.h - ditemukan
- Pembuatan halaman manual dinonaktifkan
- Konfigurasi tidak lengkap, terjadi kesalahan!
Lihat juga "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeOutput.log".
Lihat juga "... / Toolchain / stlink / build / Release / CMakeFiles / CMakeError.log".
Makefile: 42 : resep untuk target 'build / Release' gagal
make: * [build / Release] Kesalahan 1

Dan ini CMakeError.log:

Melakukan Tes C SOURCE FILE C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS gagal dengan keluaran berikut:
Ubah Dir: ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp

Jalankan Perintah Build: "/ usr / bin / make" "cmTC_f6585 / fast"
make [1]: Memasuki direktori '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_f6585.dir / build.make CMakeFiles / cmTC_f6585.dir / build
make [2]: Memasuki direktori '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Membuat objek C CMakeFiles / cmTC_f6585.dir / src.co
/ usr / bin / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS-variabel cm dir / src.co -c ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp / src.c
cc: error: opsi baris perintah tidak dikenal '-Wmissing-variable-declarations'; maksud Anda '-Wmissing-declarations'?
CMakeFiles / cmTC_f6585.dir / build. make: 65 : resep untuk target 'CMakeFiles / cmTC_f6585.dir / src.co' gagal
membuat [2]: * [CMakeFiles / cmTC_f6585.dir / src.co] Kesalahan 1make [2]: Meninggalkan direktori '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : resep untuk target 'cmTC_f6585 / fast' gagalbuat [1]: * [cmTC_f6585 / fast] Kesalahan 2
make [1]: Meninggalkan direktori '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'

File sumber adalah:
int main (void) {return 0; }
Melakukan Tes C SOURCE FILE C_SUPPORTS_WSHORTEN_64_TO_32 gagal dengan keluaran berikut:
Ubah Dir: ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp

Jalankan Perintah Build: "/ usr / bin / make" "cmTC_04dd3 / fast"
make [1]: Memasuki direktori '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
/ usr / bin / make -f CMakeFiles / cmTC_04dd3.dir / build.make CMakeFiles / cmTC_04dd3.dir / build
make [2]: Memasuki direktori '... Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'
Membuat objek C CMakeFiles / cmTC_04dd3.dir / src.co
/ usr / bin / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WSHORTEN_64_TO_32 -WFiles / 64-CM cmTC_04dd3.dir / src.co -c ... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp / src.c
cc: kesalahan: opsi baris perintah tidak dikenal '-Wshorten-64-to-32'
CMakeFiles / cmTC_04dd3.dir / build. make: 65 : resep untuk target 'CMakeFiles / cmTC_04dd3.dir / src.co' gagal
buat [2]: * [CMakeFiles / cmTC_04dd3.dir / src.co] Kesalahan 1make [2]: Meninggalkan direktori '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'Makefile: 126 : resep untuk target 'cmTC_04dd3 / fast' gagalbuat [1]: * [cmTC_04dd3 / fast] Kesalahan 2
make [1]: Meninggalkan direktori '... / Toolchain / stlink / build / Release / CMakeFiles / CMakeTmp'

File sumber adalah:
int main (void) {return 0; }

bucompilation bufixed errocompilation olinux statuduplicate staturesolved

Komentar yang paling membantu

Masalah terpecahkan. Saya kehilangan header libusb: -). Maaf mengganggu.

Semua 12 komentar

Sepertinya cmake (versi) (Anda) tersedak ini: https://github.com/texane/stlink/blob/master/cmake/Version.cmake#L25 -L26

Versi manakah yang Anda jalankan cmake --version ?
Jika saya melihat daftar paket ubuntu Anda seharusnya menjalankan 3.5.x (http://packages.ubuntu.com/yakkety/cmake)

Terima kasih atas tanggapannya.

itu adalah cmake versi 3.5.2
Bagaimana saya bisa mengatasinya? Saya pemula dalam topik ini

Saya perlu menyelidiki ini. Karena saya tidak punya masalah dengan cmake 3.0 (debian 8) dan 3.7 (mac osx). Apakah Anda melakukan git clone atau mengunduh file zip dengan sumber?

Saya mengunduh file zip

Saya telah mengusulkan perbaikan. Itu karena pengembangan dan pembangunan dari pohon git (dan deteksi versi dari git), dan saya belum memeriksa pembuatan sumber zipfile.

Terima kasih telah melaporkan, seharusnya berfungsi sekarang!

Saya perlu memperbaiki ini (juga) pada versi git yang lebih lama, membuka kembali ... Sepertinya build integrasi berkelanjutan telah gagal.

Manual diuji pada

  • Debian 8, cmake 3.0, versi git ??
  • Mac OS X, cmake 3.7, git versi 2.9.3 (Apple Git-75)

Rusak

  • Ubuntu? Versi 12? di Travis CI (perlu versi persis yang dilaporkan> di sini <)

Saya juga mendapatkan kesalahan build ini di Ubuntu 16.04 LTS, cmake versi 3.5.1

Kesalahan dalam log:
opsi baris perintah yang tidak dikenal '-Wmissing-variable-declarations'
opsi baris perintah yang tidak dikenal '-Wshorten-64-to-32'

@newtoniant ini seharusnya tidak relevan saat menggunakan zipfile (master.zip) yang lebih baru. Komit https://github.com/texane/stlink/commit/0c63a2cffc7b7fca817d4c7fb896dbe696341ea3 harus memperbaiki ini.

Menutup, mempersiapkan v1.3.0. Jangan ragu untuk membuka terbitan baru setelah rilis baru terjadi.

Ini juga muncul saat membangun dari pohon git dengan git checkout 1.3.1; make debug di Fedora 25 (gcc 6.3.1, cmake 3.6.2). CMakeOutput.log dan CMakeError.log dilampirkan.

Secara khusus, kesalahannya sama:

Melakukan Tes C SOURCE FILE C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS gagal dengan keluaran berikut:
...
/ usr / lib64 / ccache / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WMISSING_VARIABLE_DECLARATION -SUPPORTS_WMISSING_VARIABLE_DECLARATION cmTC_df367.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: error: opsi baris perintah tidak dikenal '-Wmissing-variable-declarations'; maksud Anda '-Wmissing-declarations'?

...

Melakukan Tes C SOURCE FILE C_SUPPORTS_WSHORTEN_64_TO_32 gagal dengan keluaran berikut:
...
/ usr / lib64 / ccache / cc -std = gnu99 -Wall -Wextra -Wshadow -D_FORTIFY_SOURCE = 2 -fstrict-aliasing -Wundef -Wformat -Wformat-security -Wmaybe-uninitialized -DC_SUPPORTS_WSHORTEN_64_TO_32 -Wshorten-64-to-32-to-32 CMakeFiles / cmTC_0ceee.dir / src.co -c /home/blablabla/stlink/build/Release/CMakeFiles/CMakeTmp/src.c
cc: kesalahan: opsi baris perintah tidak dikenal '-Wshorten-64-to-32'

Meminta untuk membuka kembali masalah.

Masalah terpecahkan. Saya kehilangan header libusb: -). Maaf mengganggu.

Solusi termudah adalah dengan menghapus direktori .git dan coba lagi:
rm -r build && sudo rm -rf .git && make
Ini berfungsi di Linux Mint 18.3 dan mungkin di mana-mana.
Oh, dan jangan lupa untuk menjalankan sudo ldconfig setelah sudo make install

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

michaelsobczak-qeexo picture michaelsobczak-qeexo  ·  27Komentar

jpmzometa picture jpmzometa  ·  27Komentar

VictorLamoine picture VictorLamoine  ·  24Komentar

ihassin picture ihassin  ·  30Komentar

xor-gate picture xor-gate  ·  17Komentar