Вы можете использовать команду tee:
sort -u filename | tee filename > /dev/null
Команда tee считывает со стандартного ввода и записывает на стандартный вывод и файлы.
Как определить проблему?
file cross_compiled_executable
Содержит что-то вроде:
interpreter /lib/ld-uClibc.so.0
, и проблема в том, что этот файл не существует на цели.
Как определить проблему?
Использовать правильный компилятор:
человек, создавший образ диска, должен предоставить вам крест компилятор или расскажите, как его построить, например с перекрестным движением. скомпилируйте свой собственный образ и кросс-компилятор, например. с Стройком. Вот пример. используйте собственный компилятор для цели. Но в целом цели намного медленнее, чем ваш хост, и пространство ограничено, поэтому вы, вероятно, не хотите этого делать. Вы также можете использовать функциональный эмулятор, такой как QEMU для сборки, а затем запускать программы только на более медленной платформе, например. gem5 или медленная доска.Просто взломать interpreter потенциально недостаточно, особенно вам нужно обеспечить двоичную совместимость между программой и целевым libc, или интерфейсами программ и ядра (syscalls, /proc и т. д.), если вы пытаетесь использовать -static (целевое ядро может быть слишком старым и не содержать требуемые интерфейсы). Единственное надежное решение - использовать правильную инструментальную цепочку.
Как определить проблему?
file cross_compiled_executable
Содержит что-то вроде:
interpreter /lib/ld-uClibc.so.0
, и проблема в том, что этот файл не существует на цели.
Как определить проблему?
Использовать правильный компилятор:
человек, создавший образ диска, должен предоставить вам крест компилятор или расскажите, как его построить, например с перекрестным движением. скомпилируйте свой собственный образ и кросс-компилятор, например. с Стройком. Вот пример. используйте собственный компилятор для цели. Но в целом цели намного медленнее, чем ваш хост, и пространство ограничено, поэтому вы, вероятно, не хотите этого делать. Вы также можете использовать функциональный эмулятор, такой как QEMU для сборки, а затем запускать программы только на более медленной платформе, например. gem5 или медленная доска.Просто взломать interpreter потенциально недостаточно, особенно вам нужно обеспечить двоичную совместимость между программой и целевым libc, или интерфейсами программ и ядра (syscalls, /proc и т. д.), если вы пытаетесь использовать -static (целевое ядро может быть слишком старым и не содержать требуемые интерфейсы). Единственное надежное решение - использовать правильную инструментальную цепочку.
Как определить проблему?
file cross_compiled_executable
Содержит что-то вроде:
interpreter /lib/ld-uClibc.so.0
, и проблема в том, что этот файл не существует на цели.
Как определить проблему?
Использовать правильный компилятор:
человек, создавший образ диска, должен предоставить вам крест компилятор или расскажите, как его построить, например с перекрестным движением. скомпилируйте свой собственный образ и кросс-компилятор, например. с Стройком. Вот пример. используйте собственный компилятор для цели. Но в целом цели намного медленнее, чем ваш хост, и пространство ограничено, поэтому вы, вероятно, не хотите этого делать. Вы также можете использовать функциональный эмулятор, такой как QEMU для сборки, а затем запускать программы только на более медленной платформе, например. gem5 или медленная доска.Просто взломать interpreter потенциально недостаточно, особенно вам нужно обеспечить двоичную совместимость между программой и целевым libc, или интерфейсами программ и ядра (syscalls, /proc и т. д.), если вы пытаетесь использовать -static (целевое ядро может быть слишком старым и не содержать требуемые интерфейсы). Единственное надежное решение - использовать правильную инструментальную цепочку.