LINUX.ORG.RU

Ответ на: комментарий от Dark_SavanT

Не хочет:

user@ubuntu910desktop:/tmp/harimini_nas/src/PlutoUtils$ wget mysql.tar.gz tar zxvf mysql.tar.gz ./configure --host=arm-linux --prefix=/usr/local/arm-none-linux-gnueabi make install 
wget: --host-directories: Invalid boolean `arm-linux'; use `on' or `off'.

LA_
() автор топика
Ответ на: комментарий от AnDoR

Не поможет. Человек даже не понял, что ему втолковать пытаются, тупо вбил команду в терминал, несмотря на то, что их там несколько.

unikoid ★★★
()
Ответ на: комментарий от unikoid

Поможет.
Но мне нужно более детальное объяснение, т.к. я только начинаю работать с linux и с++ программы до этого никогда не компилировал.


Я так понимаю, что команды выше - это 4 команды:
1) wget mysql.tar.gz
2) tar zxvf mysql.tar.gz
3) ./configure --host=arm-linux --prefix=/usr/local/arm-none-linux-gnueabi
4) make install

1-ая должна скачать исходники (?) mysql
2-ая - распаковать его содержимое
3-я - сконфигурировать исходники для компиляции под arm
4-я - установить полученное

Только вот у меня такие вопросы:
1) как можно передать wget лишь имя файла, без url? откуда он скачивать будет?
3) как можно запустить configure с опцией help, когда скачивание еще не произошло и этого файла нет? (чтоб понять почему он ожидает значение on или off)

LA_
() автор топика
Ответ на: комментарий от LA_

Проблема в том, что если все эти команды переданы одной строкой, то все это воспринимается только как параметры wget, а не как отдельные команды.
Правильно так:
wget <ссылка_на_тарбол_с_исходниками_mysql>
tar xvfz <скачанный_тарбол> (можно набрать mysql и воспользоваться автодополнением по Tab'у)
cd <распакованная_директория_с_исходниками>
./configure --help чтобы почитать самому об опциях, либо, как посоветовали выше попробовать
./configure --host=arm-linux --prefix=/usr/local/arm-none-linux-gnueabi

make
make install

Последняя команда может потребовать прав рута (вы ведь не работаете все время под ним?), раз prefix в /usr/local

unikoid ★★★
()
Ответ на: комментарий от unikoid

Тогда можно сказать, что основной вопрос остался (хотя и значительно упростился, наверное - нужно искать не компилированную версию, а исходники)...
Только вот где взять ссылку на исходники mysql? :)
(и, что такое тарбол?)

LA_
() автор топика
Ответ на: комментарий от LA_

>Только вот где взять ссылку на исходники mysql? :)
http://www.mysql.com/downloads/mysql/#downloads , не?
Выбираем Source Code -> Generic Linux (Architecture Independent), Compressed TAR Archive.

(и, что такое тарбол?)

Тарбол - жаргонное название архива с исходниками.

unikoid ★★★
()
Ответ на: комментарий от unikoid

Выполнил все до шага make. Выполняю make и получаю ошибку:

user@ubuntu910desktop:/tmp/harimini_nas/temp/mysql-5.1.48$ make
make: *** No targets specified and no makefile found.  Stop.
user@ubuntu910desktop:/tmp/harimini_nas/temp/mysql-5.1.48$ ls
aclocal.m4      configure.in        libmysql     plugin        support-files
BUILD           COPYING             libmysqld    pstack        tests
ChangeLog       dbug                libmysql_r   README        unittest
client          depcomp             ltmain.sh    regex         vio
CMakeLists.txt  Docs                Makefile.am  scripts       win
cmd-line-utils  EXCEPTIONS-CLIENT   Makefile.in  server-tools  ylwrap
config          extra               man          sql           zlib
config.guess    include             missing      sql-bench
config.log      install-sh          mysql-test   sql-common
config.sub      INSTALL-SOURCE      mysys        storage
configure       INSTALL-WIN-SOURCE  netware      strings
user@ubuntu910desktop:/tmp/harimini_nas/temp/mysql-5.1.48$ make -f Makefile.am
make: *** No rule to make target `all', needed by `init-db'.  Stop.
user@ubuntu910desktop:/tmp/harimini_nas/temp/mysql-5.1.48$ make -f Makefile.in
Makefile.in:15: *** missing separator.  Stop.

Обычный Makefile должен создаться как результат работы configure?

LA_
() автор топика
Ответ на: комментарий от LA_

Попробовал еще такой вариант (из инструкции по компиляции приложений для моего девайса):

# env CC=/usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc \
LD=/usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ld \
RANLIB=/usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ranlib \
CFLAGS="-I/usr/local/arm-none-linux-gnueabi/include" \
LDFLAGS="-L/usr/local/arm-none-linux-gnueabi/lib" \
./configure \
--host=armle-unknown-linux \
--target=armle-unknown-linux \
--build=i686-pc-linux \
--prefix=/usr/local
получаю:
checking for restartable system calls... configure: error: in `/tmp/harimini_nas/temp/mysql-5.1.48':
configure: error: cannot run test program while cross compiling
See `config.log' for more details.

LA_
() автор топика
Ответ на: комментарий от LA_

Аааа, в том же руководстве вот что нашел:

Please note that most projects require that you modify the “configure” when cross compiling because it cannot run a test program to determine the capability of the target machine. For example, it cannot run a test program to get the size of pointers, whether the system has the device /dev/random or not. When “configure” fails, you need to modify the configuration file and provide the correct value manually.

Только чего править в этом файле configure нужно - не понимаю.

LA_
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.