jordansissel / xdotool

fake keyboard/mouse input, window management, and more
Other
3.26k stars 320 forks source link

can't compile on CentOS #15

Closed ingber closed 11 years ago

ingber commented 11 years ago

I ZIP'd the latest code, and modified the makefile: DEFAULT_LIBS=-L/usr/lib -L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama

DEFAULT_LIBS=-L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama

since Xtst is under /usr/lib /usr/lib/libXtst.so.6 /usr/lib/libXtst.so.6.1.0 /usr/lib64/libXtst.so.6 /usr/lib64/libXtst.so.6.1.0

I tried to compile, but get: pod2man -c "" -r "" xdotool.pod > xdotool.1 sh version.sh --header > xdo_version.h cc -pipe -O2 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -Wno-missing-field-initializers -g -std=c99 -I/usr/X11R6/include -I/usr/local/include -fPIC -c xdo.c cc -pipe -O2 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -Wno-missing-field-initializers -g -std=c99 -I/usr/X11R6/include -I/usr/local/include -fPIC -c xdo_search.c cc -shared -Wl,-soname=libxdo.so.2 xdo.o xdo_search.o -o libxdo.so -lrt -L/usr/lib -L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama /usr/bin/ld: skipping incompatible /usr/lib/librt.so when searching for -lrt /usr/bin/ld: skipping incompatible /usr/lib/librt.a when searching for -lrt /usr/bin/ld: skipping incompatible /usr/lib/libX11.so when searching for -lX11 /usr/bin/ld: cannot find -lXtst collect2: ld returned 1 exit status make: *\ [libxdo.so] Error 1

Any suggestions?

Thanks.

Lester

P.S.:

I also could not compile on Ubuntu 12.04: pod2man -c "" -r "" xdotool.pod > xdotool.1 sh version.sh --header > xdo_version.h cc -pipe -O2 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -Wno-missing-field-initializers -g -std=c99 -I/usr/X11R6/include -I/usr/local/include -fPIC -c xdo.c xdo.c:29:34: fatal error: X11/extensions/XTest.h: No such file or directory compilation terminated. make: *\ [xdo.o] Error 1

jordansissel commented 11 years ago

Sounds like it's trying to link against a 32bit librt and libx11, and also that you are missing libXtst.

Distros change how their linking systems are organized pretty much daily, so I've given up trying to chase things down ;)

You can probably resolve this by using -L/usr/lib64 (instead of -L/usr/lib) and by installing libXtst.

jordansissel commented 11 years ago

Sounds like it's trying to link against a 32bit librt and libx11, and also that you are missing libXtst.

Distros change how their linking systems are organized pretty much daily, so I've given up trying to chase things down ;)

You can probably resolve this by using -L/usr/lib64 (instead of -L/usr/lib) and by installing libXtst.

ingber commented 11 years ago

libXtst is under /usr/lib and /usr/lib64 . I tried both.

jordansissel commented 11 years ago

got it working?

ingber commented 11 years ago

Sorry, no.

ingber commented 11 years ago

Note the added info under my original issue: I also couldn't compile under Ubuntu.

I know it's a hassle using Configure (I don't in my public software), but I think that with the libs you're using, you'd have to do something like that.

jordansissel commented 11 years ago

if you have pkg-config installed, everything should just work.

jordansissel commented 11 years ago

if you have pkg-config installed, everything should just work.

ingber commented 11 years ago

pkg-config are installed on both the CentOS and Ubuntu machines. I have to use this on CentOS, but I just wanted to test the compile on Ubuntu.

jordansissel commented 11 years ago

I don't have any ubuntu systems on hand right now so I can't try to reproduce this immediately

My laptop has ubuntu in a vm and it has xdotool compiled for sure.

In the very worst case, you can use 'apt-get install xdotool' to get some version of xdotool.

ingber commented 11 years ago

That's good news about xdotool already being packaged for Ubuntu. I'm not as familiar with CentOS. Do you happen to know if there is an rpm package for that?

ingber commented 11 years ago

On Ubuntu under synaptic I found version xdotool: $ xdotool --version xdotool version 2.20110530.1

Now, I have to get the CentOS maintainer to find it.

This might work OK.

Thanks.

ingber commented 11 years ago

I found http://rpmfind.net/linux/rpm2html/search.php?query=xdotool and asked the CentOS maintainer to install that.

electroniceagle commented 11 years ago

Sorry for posting to a closed issue, but for compiling this package under CENTOS 6, I needed to:

sudo yum groupinstall 'Development Tools' sudo yum install libXi-devel libXtst-devel libXinerama-devel sudo make install

Hope this makes someones google walkabout a little shorter :-).