Я пытался скомпилировать Squid 3.5.7 на ARM Cortex A8 (Linux).
Я скачал это с http://www.squid-cache.org/Versions/v3/3.5/
У меня есть arm-linux-gnueabi-gcc и arm-linux-gnueabi-g ++.
tar -zxvf squid-3.5.7.tar.gz
cd squid-3.5.7
./configure --prefix=/usr/local/squid
make all
make install
Затем я копирую папки / usr / local / squid и ~ / squid-3.5.7 на SD-карту.
Когда я пытаюсь открыть ./squid -z с SD-карты на плате с ARM, у меня возникает проблема:
root@am335x:/# ls
bin etc lib mnt srv usr
boot findHelp linuxrc proc sys var
dev home media sbin tmp
root@am335x:/media/mmcblk0/squid/sbin# ls
squid
root@am335x:/media/mmcblk0/squid/sbin# ./squid -z
./squid: line 20: syntax error: ")" unexpected
root@am335x:/media/mmcblk0/squid/sbin# ./squid
./squid: line 20: syntax error: ")" unexpected
root@am335x:/media/mmcblk0/squid/sbin#
Я не знаю, что делать: /
Двоичный файл, который вы создали, создан для архитектуры вашего ПК. Чтобы собрать кальмара для руки, следуйте приведенным ниже инструкциям.
Конфигурация пытается запустить тест, который не будет выполнен, если вы используете кросс-компилятор, поэтому добавьте файл кэша, чтобы переопределить эти тесты.
Например, создайте файл кеша squid.cache со строкой, показанной ниже
squid_cv_gnu_atomics=no
Экспортируйте переменную BUILDCXX, необходимую для компиляции squid
export BUILDCXX=g++
Убедитесь, что вы экспортировали путь набора инструментов в переменную пути ($ PATH)
export PATH=<TOOLCHAIN_PATH>:$PATH
Затем настройте squid, запустив configure, как показано ниже
./configure --host=arm-linux-gnueabi --cache-file=squid.cache --prefix=<install/dir>
Наконец скомпилируйте squid, запустив make
make
Затем установите двоичные файлы, используя make install
make install