|
Сборка Linux исходников под Windows для тестирования а в последствии для ARM для работы, Почемуто Cygwin не хочет понимать >gcc make |
|
|
|
May 22 2008, 06:18
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Задача стоит в том, чтоб программа заработала на АРМ контроллере, на котором работает Linux. При этом хочу использовать платформу обычных недорогих роутеров типа ASUS или Dlink? на них как я понял уже стоит линукс, нужно только докинуть исполнямый файл в прошивку.
Но это только в планах, саму программу пока нужно подкорректировать, тестировать нужно в Windows. Для сборки в EXE файл линукс исходников используют популярую Cygwin.
Скачал Cygwin, установил проект с пакетами GCC, размер около 40мб.
Запустил, зашол в папку с исходниками где находятся файл Makefile, при попытке компиляции программы :
$ gcc make gcc: make: No such file or directory gcc: no input files
при том , что в чистом линуксе проект собирается без всяких проблем.
Подскажите в чем может проблемма ? С ув.
|
|
|
|
|
May 22 2008, 06:38
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
вам же русским языком написали: Цитата make: No such file or directory не может найти make Цитата gcc: no input files естественно, компилеру нечего делать, кроме как закончить работу. Либо запускайте из той же папки, где make лежит, либо прописывайте полный путь Цитата Запустил, зашол в папку с исходниками где находятся файл Makefile Вообще-то, make и Makefile это несколько разные вещи с т.з. компутера
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 22 2008, 07:39
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Цитата(MrYuran @ May 22 2008, 10:34)  а если просто запустить make? просто: make<Enter> а ещё так: gcc -h и посмотреть, что там должно быть Код $ make c:\WinAVR-20071221\utils\bin\make: invalid option -- O c:\WinAVR-20071221\utils\bin\make: invalid option -- _ Usage: make [options] [target] ... Options: -b, -m Ignored for compatibility. -B, --always-make Unconditionally make all targets. -C DIRECTORY, --directory=DIRECTORY Change to DIRECTORY before doing anything. -d Print lots of debugging information. --debug[=FLAGS] Print various types of debugging information. -e, --environment-overrides Environment variables override makefiles. -f FILE, --file=FILE, --makefile=FILE Read FILE as a makefile. -h, --help Print this message and exit. -i, --ignore-errors Ignore errors from commands. -I DIRECTORY, --include-dir=DIRECTORY Search DIRECTORY for included makefiles. -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg. -k, --keep-going Keep going when some targets can't be made. -l [N], --load-average[=N], --max-load[=N] Don't start multiple jobs unless load is below N. -L, --check-symlink-times Use the latest mtime between symlinks and target. -n, --just-print, --dry-run, --recon Don't actually run any commands; just print them. -o FILE, --old-file=FILE, --assume-old=FILE Consider FILE to be very old and don't remake it. -p, --print-data-base Print make's internal database. -q, --question Run no commands; exit status says if up to date. -r, --no-builtin-rules Disable the built-in implicit rules. -R, --no-builtin-variables Disable the built-in variable settings. -s, --silent, --quiet Don't echo commands. -S, --no-keep-going, --stop Turns off -k. -t, --touch Touch targets instead of remaking them. -v, --version Print the version number of make and exit. -w, --print-directory Print the current directory. --no-print-directory Turn off -w, even if it was turned on implicitly. -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE Consider FILE to be infinitely new. --warn-undefined-variables Warn when an undefined variable is referenced.
This program built for i386-pc-mingw32 Report bugs to <bug-make@gnu.org> только непойму причем тут WinAVR-20071221, неужели он пытается make от WinAVR использовать
Сообщение отредактировал west329_ - May 22 2008, 07:41
|
|
|
|
|
May 22 2008, 07:58
|
Знающий
   
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559

|
Цитата Задача стоит в том, чтоб программа заработала на АРМ контроллере, на котором работает Linux. При этом хочу использовать платформу обычных недорогих роутеров типа ASUS или Dlink? на них как я понял уже стоит линукс, нужно только докинуть исполнямый файл в прошивку. Не думаю что так просто. Много моментов которые надо учесть.
|
|
|
|
|
May 22 2008, 08:41
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата на них как я понял уже стоит линукс, нужно только докинуть исполнямый файл в прошивку ниже привожу график энтузиазма при реализации данной идеи (наблюдал лично) Цитата в чистом линуксе проект собирается без всяких проблем а чего ж тогда там-то не работается?
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 22 2008, 09:28
|
Профессионал
    
Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757

|
Цитата(west329_ @ May 22 2008, 10:19)  Цитата(andrew_b @ May 22 2008, 09:55)  В том, что вы дали странную команду. Странно в линуксе проходит Не верю. Код $ ls M* Makefile $ gcc make i586-alt-linux-gcc: make: Нет такого файла или каталога i586-alt-linux-gcc: не заданы входные файлы $
|
|
|
|
|
May 22 2008, 10:48
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Цитата(andrew_b @ May 22 2008, 12:28)  Странно в линуксе проходит Не верю. Код $ ls M* Makefile $ gcc make i586-alt-linux-gcc: make: Нет такого файла или каталога i586-alt-linux-gcc: не заданы входные файлы $ Немного расставлю точки. Я не большой профи в линуксе и в cpp но так буквально все воспринемать не надо, Этот проект собирается на линуксе 100%, я лично собирал без сучка и задоринки, дистрибудив Mandriva 2007 free, установленны по умалчанию, из под командной строки в терминале под root, находясь в папке с исходниками проекта, набираю команду make, и все нормально компилится . Никаких дополнительных пакетов и компиляторов я не ставил. Потом мне этот проект попался с расширением EXE и с библиотекой cygwin1.dll, он прекрасно работал под Windows? функционал при этом не поменялся, так как программа написана простая. Вот и решил повторить подобное. Цитата(COMA @ May 22 2008, 10:58)  Не думаю что так просто. Много моментов которые надо учесть. Согласен, и не занимался этим бы еслиб не увидел все в живых рабочих экземплярах. Нашол пару дырок. Оказывается Cygwin не установил команду make, а нашол на компьютере установленный WinAvr и и с его make начал собирать. Доставил родной make в CYGVIN. Тепер без всяких GCC make, а просто make начинает собиратся проект но не полностью. Вот что получается. Код $ make ----------------------------------------------------- Build for platform i386-pc-linux ----------------------------------------------------- make -C cscrypt gcc -O2 -DOS_LINUX -c md5.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a md5.o ar: creating ../lib/libcscrypt-i386-pc-linux.a a - md5.o gcc -O2 -DOS_LINUX -c crc32.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a crc32.o a - crc32.o gcc -O2 -DOS_LINUX -c aes_core.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a aes_core.o a - aes_core.o gcc -O2 -DOS_LINUX -c des.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a des.o a - des.o gcc -O2 -DOS_LINUX -c bn_add.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_add.o a - bn_add.o gcc -O2 -DOS_LINUX -c bn_asm.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_asm.o a - bn_asm.o gcc -O2 -DOS_LINUX -c bn_ctx.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_ctx.o a - bn_ctx.o gcc -O2 -DOS_LINUX -c bn_div.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_div.o a - bn_div.o gcc -O2 -DOS_LINUX -c bn_exp.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_exp.o a - bn_exp.o gcc -O2 -DOS_LINUX -c bn_lib.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_lib.o a - bn_lib.o gcc -O2 -DOS_LINUX -c bn_mul.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_mul.o a - bn_mul.o gcc -O2 -DOS_LINUX -c bn_print.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_print.o a - bn_print.o gcc -O2 -DOS_LINUX -c bn_shift.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_shift.o a - bn_shift.o gcc -O2 -DOS_LINUX -c bn_sqr.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_sqr.o a - bn_sqr.o gcc -O2 -DOS_LINUX -c bn_word.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a bn_word.o a - bn_word.o gcc -O2 -DOS_LINUX -c mem.c ar -rvsl ../lib/libcscrypt-i386-pc-linux.a mem.o a - mem.o make -C csctapi gcc -O2 -DOS_LINUX -c apdu.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a apdu.o ar: creating ../lib/libcsctapi-i386-pc-linux.a a - apdu.o gcc -O2 -DOS_LINUX -c atr.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a atr.o a - atr.o gcc -O2 -DOS_LINUX -c cardterminal.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a cardterminal.o a - cardterminal.o gcc -O2 -DOS_LINUX -c ct_list.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a ct_list.o a - ct_list.o gcc -O2 -DOS_LINUX -c ct_slot.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a ct_slot.o a - ct_slot.o gcc -O2 -DOS_LINUX -c ctapi.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a ctapi.o a - ctapi.o gcc -O2 -DOS_LINUX -c icc_async.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a icc_async.o a - icc_async.o gcc -O2 -DOS_LINUX -c ifd_towitoko.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a ifd_towitoko.o a - ifd_towitoko.o gcc -O2 -DOS_LINUX -c io_serial.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a io_serial.o a - io_serial.o gcc -O2 -DOS_LINUX -c pps.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a pps.o a - pps.o gcc -O2 -DOS_LINUX -c protocol_t0.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a protocol_t0.o a - protocol_t0.o gcc -O2 -DOS_LINUX -c protocol_t1.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a protocol_t1.o a - protocol_t1.o gcc -O2 -DOS_LINUX -c t1_block.c ar -rvsl ../lib/libcsctapi-i386-pc-linux.a t1_block.o a - t1_block.o gcc -O2 -DOS_LINUX -c -Icsctapi mpcs-simples.c In file included from mpcs-simples.c:1: globals.h:190: error: parse error before "ulong" globals.h:190: warning: no semicolon at end of struct or union globals.h:193: error: parse error before '}' token globals.h:193: warning: `packed' attribute ignored globals.h:200: error: parse error before "ulong" globals.h:200: warning: no semicolon at end of struct or union globals.h:201: warning: `packed' attribute ignored globals.h:206: error: parse error before "FILTER" globals.h:206: warning: no semicolon at end of struct or union globals.h:207: warning: `packed' attribute ignored globals.h:213: error: parse error before "FTAB" globals.h:213: warning: no semicolon at end of struct or union globals.h:214: warning: `packed' attribute ignored globals.h:219: error: parse error before "PORT" globals.h:219: warning: no semicolon at end of struct or union globals.h:220: warning: `packed' attribute ignored globals.h:227: error: parse error before "ulong" globals.h:227: warning: no semicolon at end of struct or union globals.h:228: warning: data definition has no type or storage class globals.h:259: error: parse error before "PTAB" globals.h:259: warning: no semicolon at end of struct or union globals.h:280: error: parse error before "ulong" globals.h:280: warning: no semicolon at end of struct or union globals.h:282: error: 'dup' redeclared as different kind of symbol /usr/include/sys/unistd.h:35: error: previous declaration of 'dup' was here globals.h:282: error: 'dup' redeclared as different kind of symbol /usr/include/sys/unistd.h:35: error: previous declaration of 'dup' was here globals.h:287: error: parse error before "sidtabok" globals.h:287: warning: data definition has no type or storage class globals.h:288: error: parse error before "sidtabno" globals.h:288: warning: data definition has no type or storage class globals.h:291: error: 'stat' redeclared as different kind of symbol /usr/include/sys/stat.h:124: error: previous declaration of 'stat' was here globals.h:291: error: 'stat' redeclared as different kind of symbol /usr/include/sys/stat.h:124: error: previous declaration of 'stat' was here globals.h:300: warning: built-in function 'log' declared as non-function globals.h:306: error: parse error before "pcrc" globals.h:306: warning: data definition has no type or storage class globals.h:317: error: parse error before "fchid" globals.h:317: warning: data definition has no type or storage class globals.h:318: error: parse error before "ftab" globals.h:318: warning: data definition has no type or storage class globals.h:320: error: parse error before '}' token globals.h:326: error: parse error before "ulong" globals.h:326: warning: no semicolon at end of struct or union globals.h:340: error: parse error before "sidtabok" globals.h:340: warning: data definition has no type or storage class globals.h:341: error: parse error before "sidtabno" globals.h:341: warning: data definition has no type or storage class globals.h:368: error: parse error before "fchid" globals.h:368: warning: data definition has no type or storage class globals.h:369: error: parse error before "ftab" globals.h:369: warning: data definition has no type or storage class globals.h:382: error: parse error before '}' token globals.h:399: error: parse error before "ulong" globals.h:399: warning: no semicolon at end of struct or union globals.h:403: error: conflicting types for 'next' globals.h:192: error: previous declaration of 'next' was here globals.h:404: error: parse error before '}' token globals.h:414: error: parse error before "ulong" globals.h:414: warning: no semicolon at end of struct or union globals.h:417: error: parse error before "sidtabok" globals.h:417: warning: data definition has no type or storage class globals.h:418: error: parse error before "sidtabno" globals.h:418: warning: data definition has no type or storage class globals.h:419: error: parse error before "fchid" globals.h:419: warning: data definition has no type or storage class globals.h:420: error: parse error before "ftab" globals.h:420: warning: data definition has no type or storage class globals.h:423: error: conflicting types for 'ac_idx' globals.h:313: error: previous declaration of 'ac_idx' was here globals.h:430: error: conflicting types for 'next' globals.h:403: error: previous declaration of 'next' was here globals.h:430: error: conflicting types for 'next' globals.h:403: error: previous declaration of 'next' was here globals.h:431: error: parse error before '}' token globals.h:449: error: parse error before "ulong" globals.h:449: warning: no semicolon at end of struct or union globals.h:453: error: parse error before "delay" globals.h:453: warning: data definition has no type or storage class globals.h:461: error: conflicting types for 'srvid' globals.h:191: error: previous declaration of 'srvid' was here globals.h:477: error: parse error before "c35_tcp_ptab" globals.h:477: warning: data definition has no type or storage class globals.h:479: error: parse error before "ncd_ptab" globals.h:479: warning: data definition has no type or storage class globals.h:490: error: conflicting types for 'gbox_pwd' globals.h:371: error: previous declaration of 'gbox_pwd' was here globals.h:503: error: conflicting types for 'ac_penalty' globals.h:425: error: previous declaration of 'ac_penalty' was here globals.h:510: error: parse error before '}' token globals.h:526: error: parse error before "ulong" globals.h:526: warning: no semicolon at end of struct or union globals.h:541: error: parse error before '}' token globals.h:541: warning: `packed' attribute ignored globals.h:560: error: parse error before "cs_atoi" globals.h:560: warning: data definition has no type or storage class globals.h:570: error: parse error before "b2i" globals.h:570: warning: data definition has no type or storage class globals.h:572: error: parse error before "ulong" globals.h:573: error: parse error before "a2i" globals.h:573: warning: data definition has no type or storage class globals.h:590: error: conflicting types for 'reader' globals.h:527: error: previous declaration of 'reader' was here globals.h:599: error: conflicting types for 'ph' globals.h:354: error: previous declaration of 'ph' was here globals.h:600: error: parse error before '*' token globals.h:600: warning: data definition has no type or storage class globals.h:614: error: parse error before '*' token globals.h:620: error: parse error before '*' token globals.h:623: error: parse error before "ECM_REQUEST" globals.h:624: error: parse error before "ECM_REQUEST" globals.h:626: error: parse error before "chk_provid" globals.h:626: warning: data definition has no type or storage class globals.h:627: error: parse error before '*' token globals.h:628: error: parse error before '*' token globals.h:629: error: parse error before '*' token globals.h:631: error: parse error before '*' token globals.h:631: warning: data definition has no type or storage class globals.h:632: error: parse error before '*' token globals.h:633: error: parse error before '*' token globals.h:635: error: parse error before '*' token globals.h:636: error: parse error before '*' token globals.h:637: error: parse error before '*' token globals.h:638: error: parse error before '*' token globals.h:639: error: parse error before '*' token globals.h:640: error: parse error before '*' token globals.h:651: error: parse error before '*' token globals.h:655: error: parse error before '*' token globals.h:663: error: parse error before "ulong" globals.h:693: error: parse error before '*' token globals.h:698: error: parse error before '*' token globals.h:704: error: parse error before '*' token globals.h:710: error: parse error before '*' token globals.h:716: error: parse error before '*' token mpcs-simples.c:3: error: static declaration of 'aeskey' follows non-static decla ration globals.h:307: error: previous declaration of 'aeskey' was here mpcs-simples.c: In function `aes_set_key': mpcs-simples.c:8: error: invalid use of undefined type `struct s_client' mpcs-simples.c:8: error: dereferencing pointer to incomplete type mpcs-simples.c: In function `aes_encrypt_idx': mpcs-simples.c:22: error: invalid use of undefined type `struct s_client' mpcs-simples.c:22: error: dereferencing pointer to incomplete type mpcs-simples.c: At top level: mpcs-simples.c:84: error: parse error before "cs_atoi" mpcs-simples.c: In function `cs_atoi': mpcs-simples.c:87: error: `ulong' undeclared (first use in this function) mpcs-simples.c:87: error: (Each undeclared identifier is reported only once mpcs-simples.c:87: error: for each function it appears in.) mpcs-simples.c:87: error: parse error before "rc" mpcs-simples.c: At top level: mpcs-simples.c:223: error: parse error before "b2i" mpcs-simples.c:245: error: parse error before "ulong" mpcs-simples.c: In function `i2b': mpcs-simples.c:248: error: `n' undeclared (first use in this function) mpcs-simples.c:251: error: `i' undeclared (first use in this function) mpcs-simples.c: At top level: mpcs-simples.c:268: error: parse error before "a2i" mpcs-simples.c: In function `a2i': mpcs-simples.c:271: error: `ulong' undeclared (first use in this function) mpcs-simples.c:271: error: parse error before "rc" mpcs-simples.c: At top level: globals.h:354: error: storage size of `ph' isn't known make[1]: *** [lib/libcs-i386-pc-linux.a(mpcs-simples.o)] Error 1 make: [i386-pc-linux] Error 2 (ignored) Странно всё както, все шло нормально а потом бац
|
|
|
|
|
May 22 2008, 11:33
|
Профессионал
    
Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757

|
Цитата(west329_ @ May 22 2008, 13:48)  но так буквально все воспринемать не надо Ну извините, я не телепат, чтобы вот тут воспринимать, а вот тут нет. И если вы собираете под Cygwin, то почему Цитата Build for platform i386-pc-linux
|
|
|
|
|
May 22 2008, 13:17
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Цитата(andrew_b @ May 22 2008, 14:33)  Ну извините, я не телепат, чтобы вот тут воспринимать, а вот тут нет.
И если вы собираете под Cygwin, то почему Сам немогу понять, вот принудительно прописал Код $ make win ----------------------------------------------------- Build for platform i386-pc-cygwin ----------------------------------------------------- make -C cscrypt i686-pc-cygwin-gcc -O2 -DOS_CYGWIN32 -c md5.c i686-pc-cygwin-ar -rvsl ../lib/libcscrypt-i386-pc-cygwin.a md5.o make[2]: i686-pc-cygwin-ar: Command not found make[2]: *** [../lib/libcscrypt-i386-pc-cygwin.a(md5.o)] Error 127 make[1]: *** [prepare] Error 2 make: [cross-i386-pc-cygwin] Error 2 (ignored) Сразу вылетела
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|