Сборка.

Тема в разделе "Флудилка", создана пользователем Igor68, 3 янв 2019.

  1. Igor68

    Igor68 Гуру

    Да именно так я и брал. Только в Debian не попадал. Последнее что в samba.org именно тот, что я и брал и с гитхаба не другое. значит надо отдельно искать части.
     
  2. Igor68

    Igor68 Гуру

    Доброго времени суток!
    Вот интересен и ещё curl:
    Код (Text):
    www-data@Moxa:~$ curl -V
    curl 7.63.0 (arm-unknown-linux-gnu) libcurl/7.63.0 OpenSSL/1.0.2p
    Release-Date: 2018-12-12
    Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
    Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL TLS-SRP UnixSockets HTTPS-proxy
    www-data@Moxa:~$
     
    Да! Именно 7.63.0, который умеет ещё и smb:
    Код (Text):
    www-data@Moxa:~$ curl -u ":" smb://192.168.0.231/test/test.txt
    ---- TEST ----
    Тут некий файл test.txt выведен в консоль из сети, по некоему пути. А вот положить туда в сеть файл так:
    Код (Text):
    www-data@Moxa:~/ramdisk$ curl -T "test2.txt" -u ":" smb://192.168.0.231/test/test2.txt
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100    37    0     0  100    37      0     25  0:00:01  0:00:01 --:--:--    25
    www-data@Moxa:~/ramdisk$
    Правда не из консоли, а из фала локального.
    Ну и проверка уже его в консоль:
    Код (Text):
    www-data@Moxa:~/ramdisk$ curl -u ":" smb://192.168.0.231/test/test2.txt              
    TEST2 --
    123456789
    abcdef
    .....
    ABC

    www-data@Moxa:~/ramdisk$
    Вроде всё нормально, но надо что бы работал не с файлом, а с параметром скрипта. Даже curlftpfs собрал и вот:
    Код (Text):
    root@Moxa:~# curlftpfs ftp://www-data:www-data@192.168.0.232 /var/tmp                  
    fuse: device not found, try 'modprobe fuse' first
    root@Moxa:~#
    Нет такого fuse, как модуля. А fuse собирал:
    Код (Text):
    lrwxrwxrwx    1 root     root           16 Feb  2 22:30 libfuse.so -> libfuse.so.2.9.2
    lrwxrwxrwx    1 root     root           16 Feb  2 22:32 libfuse.so.2 -> libfuse.so.2.9.2
    -rwxr-xr-x    1 root     root       753697 Feb  3 17:10 libfuse.so.2.9.2
    Но он не вышел модулем, а как файл библиотеки да и fusermount уже есть (стал).
    Вот и пока не знаю куда копать, что и печально.
    cifs так же полностью никак не соберу, а всё кусочки. И толпу всяких библиотек собрал уже и пока ничего.
    Кстати этот curl достоин внимания к себе.
     
  3. Igor68

    Igor68 Гуру

    Вот дела и curl 7.64.0 уже на гитхабе.
    Пока собираю так (configure):
    Код (Text):
    #!/bin/sh



    echo "------ для UC7112LX-plus ------"

    ./configure \
    ARCH=arm \
    CC=/usr/local/arm-linux/bin/arm-linux-gcc \
    CXX=/usr/local/arm-linux/bin/arm-linux-g++ \
    CPP=/usr/local/arm-linux/bin/arm-linux-cpp \
    CROSS_COMPILE=/usr/local/arm-linux/bin/arm-linux- \
    --host=arm-linux
    Много чего не указал (--prefix и т.п.)
    А для тех кто на малине или на PC с Debian и запарки не надо. Собирается на целевой платформе и там же работает
     
  4. Igor68

    Igor68 Гуру

    Доброго времени суток!
    Вот пытаюсь собрать nmap-7.70 и вот заткнулся при компиляции:
    Код (Text):
    make[1]: вход в каталог «/home/igor/coding/moxa/uc7112lx_plus/nmap-7.70/libssh2/src»
    make  all-am
    make[2]: вход в каталог «/home/igor/coding/moxa/uc7112lx_plus/nmap-7.70/libssh2/src»
      CC       channel.lo
      CC       comp.lo
      CC       crypt.lo
    crypt.c:133: error: `EVP_aes_128_ctr' undeclared here (not in a function)
    crypt.c:133: error: initializer element is not constant
    crypt.c:133: error: (near initialization for `libssh2_crypt_method_aes128_ctr.algo')
    crypt.c:145: error: `EVP_aes_192_ctr' undeclared here (not in a function)
    crypt.c:145: error: initializer element is not constant
    crypt.c:145: error: (near initialization for `libssh2_crypt_method_aes192_ctr.algo')
    crypt.c:157: error: `EVP_aes_256_ctr' undeclared here (not in a function)
    crypt.c:157: error: initializer element is not constant
    crypt.c:157: error: (near initialization for `libssh2_crypt_method_aes256_ctr.algo')
    Makefile:580: ошибка выполнения рецепта для цели «crypt.lo»
    make[2]: *** [crypt.lo] Ошибка 1
    make[2]: выход из каталога «/home/igor/coding/moxa/uc7112lx_plus/nmap-7.70/libssh2/src»
    Makefile:445: ошибка выполнения рецепта для цели «all»
    make[1]: *** [all] Ошибка 2
    make[1]: выход из каталога «/home/igor/coding/moxa/uc7112lx_plus/nmap-7.70/libssh2/src»
    Makefile:148: ошибка выполнения рецепта для цели «build-libssh2»
    make: *** [build-libssh2] Ошибка 2
    igor@debianTool:~/coding/moxa/uc7112lx_plus/nmap-7.70$
    Есть ли "на слуху" места определения - имена заголовочных файлов. Что-то не могу найти.
    Собирал как для Debian по умолчанию(там без проблем), так и для UC-7112-LX-Plus с этим:
    Код (C++):
    #!/bin/dash
    #


    echo "------ для UC7112LX-plus ------"

    ./configure \
    --host=arm-linux \
    ARCH=arm \
    CROSS_COMPILE=/usr/local/arm-linux/bin/arm-linux- \
    CC=/usr/local/arm-linux/bin/arm-linux-gcc \
    CXX=/usr/local/arm-linux/bin/arm-linux-g++ \
    CPP=/usr/local/arm-linux/bin/arm-linux-cpp \
    LD=/usr/local/arm-linux/bin/arm-linux-ld \
    AR=/usr/local/arm-linux/bin/arm-linux-ar \
    \
    --with-pcap=linux \
    \
    --without-zenmap \
    --without-liblua \
    Это один из "шаблонов". Часто получается что надо в файл Си ставить:
    Код (C++):
    ....
    #include <что-то> <что-то>
    ....
    вот к примеру иногда не знает u32:
    Код (C++):
    ...
    #ifndef u32
    #include <stdint.h>
    #define u32 uint32_t
    #endif
     
    это было в curl, fuse, curlftpfs.
    Вот кстати по curlftpfs требует fuse.ko которого нет (говорил ранее)
     
  5. AlexU

    AlexU Гуру

    А откуда взяли этот nmap? Что-то не могу найти в официальных исходниках такого:
    Код (Text):
    crypt.c:133: `EVP_aes_128_ctr'
     
  6. Igor68

    Igor68 Гуру

  7. Igor68

    Igor68 Гуру

    Вот бы тулчейн нормальный собрать для устройств (они полностью совместимы, только периферия несколько отличается по количеству) UC-7112-LX-Plus / IA240 / IA241... что бы там и работал:rolleyes:
     
  8. AlexU

    AlexU Гуру

    Да вот что-то не сходится...
    Похоже ручками правили исходники...
    Попробуйте привести всё к исходному виду и заново собрать.
     
  9. Igor68

    Igor68 Гуру

    Доброго времени суток!
    nmap собирается спокойно для PC, т.е не кросс-компиляция. Да ладно... позже разберусь.
    Вот, коли взялся за самообучение в сборке(ках) опять больной вопрос про тулчейн(он главный). А именно чтобы он работал на самом устройстве. Вот наткнулся:
    http://www.emb-linux.narod.ru/tion-pro-270/building-toolchain.html
    и по ходу шагов сразу:
    Код (Text):
    checking whether #! works in shell scripts... yes
    checking for bash... /bin/bash
    checking for sed... /usr/bin/sed
    checking sed version... configure: error: we need at least GNU sed 4.x
    sed видите ли не подходит.:confused:

    Да ладно начал ещё тут:
    https://tech-geek.ru/gcc-toolchain/
    И в ходе сразу реальный отчёт в консоль (фрагмент)
    build = ...x86-linux...
    host = ...x86-linux...
    target = ...arm-linux...
    а надо:
    build = ...x86-linux...
    host = ...arm-linux...
    target = ...arm-linux...
    Но... Но пока не пойму где указать:(. Можно наверное через псевдографическое меню указать. Но вот пока технически не готов - поздно... да и виртуальную машину надо расчистить. Место осталось на фиксированном образе диска менее 1 Гб. Так, что получил ошибку о недостатке места.
     
  10. Igor68

    Igor68 Гуру

    А по поводу править - это верно. Есть нюансы при применении кросс-компилятора, что шел с устройством в комплекте на DVD диске. И /usr/local/arm-linux/lib дополнял, как из устройства (в устройство) из/в /lib и др. И /usr/local/arm-linux/include дополняю. Так, что деваться некуда.