Здравствуйте!
Собирал я сейчас небольшую программку из исходников (http://interreality.org/~tetron/technology/joy2key/joy2key-1.6.tar.gz). И очень странное поведение наблюдаю. Все действия что здесь описаны делаются от обычного пользователя (не от рута).
Даю команды
./configure
make
gcc -g -O2 -o joy2key joy2key.o -L -lX11
joy2key.o: In function `sendkey':
/home/xi/work/ubuntu_compilpro/joy2key-1.6.1/joy2key.c:798: undefined reference to `XSendEvent'
joy2key.o: In function `repeat_handler':
/home/xi/work/ubuntu_compilpro/joy2key-1.6.1/joy2key.c:766: undefined reference to `XFlush'
./configure --libdir=/usr/lib
make
А дальше начинается интересное. Правлю *.c исходник, даю команду
make
gcc -g -O2 -o joy2key joy2key.o -L -lX11
joy2key.o: In function `sendkey':
/home/xi/work/ubuntu_compilpro/joy2key-1.6.1/joy2key.c:815: undefined reference to `XSendEvent'
joy2key.o: In function `repeat_handler':
/home/xi/work/ubuntu_compilpro/joy2key-1.6.1/joy2key.c:783: undefined reference to `XFlush'
./configure --libdir=/usr/lib
make
gcc -g -O2 -o joy2key joy2key.o -L -lX11
joy2key.o: In function `sendkey':
/home/xi/work/ubuntu_compilpro/joy2key-1.6.1/joy2key.c:815: undefined reference to `XSendEvent'
joy2key.o: In function `repeat_handler':
/home/xi/work/ubuntu_compilpro/joy2key-1.6.1/joy2key.c:783: undefined reference to `XFlush'
Благо, проект из одного файла всего. Собираю его напрямую (обратите внимание, опцию -lX11 не указываю)
gcc -g -O2 -o joy2key joy2key.o -L/usr/lib
gcc -g -O2 -o joy2key joy2key.o -L/usr/lib
joy2key.o: In function `sendkey':
/home/xi/work/ubuntu_compilpro/joy2key-1.6.1/joy2key.c:815: undefined reference to `XSendEvent'
joy2key.o: In function `repeat_handler':
/home/xi/work/ubuntu_compilpro/joy2key-1.6.1/joy2key.c:783: undefined reference to `XFlush'
gcc -g -O2 -o joy2key joy2key.o -lX11
Но остаются открытыми вопросы
1. Почему один раз сработали, а потом перестали срабалывать команды "./configure --libdir=/usr/lib" и «make» ?
2. Почему одинраз работает, потом не работает команда «gcc -g -O2 -o joy2key joy2key.o -L/usr/lib» ?
PS: Изменения в *.c файле были просто отладочными - добавлял printf() в некоторые места.