rdesktop / rdesktop

🚨 rdesktop is in need of a new maintainter. Please see the home page for more details. 🚨
http://www.rdesktop.org
GNU General Public License v3.0
1.29k stars 369 forks source link

./configure says that libxcursor are missing, but it's not #355

Closed enoch85 closed 4 years ago

enoch85 commented 5 years ago

Hi!

Running ./configure on rdesktop 1.9.0 says that libxcursor is missing, but it's not. What am I missing here?

Ubuntu 18.04 Mate (i386)

checking sysexits.h presence... yes
checking for sysexits.h... yes
checking for strip... strip
checking for pkg-config... no

rdesktop requires libXcursor, install the dependency

root@ltsp01:~/rdesktop-1.9.0# dpkg -l | grep libxcursor
ii  libxcursor-dev:i386                     1:1.1.15-1                                   i386         X cursor management library (development files)
ii  libxcursor1:i386                        1:1.1.15-1                                   i386         X cursor management library
root@ltsp01:~/rdesktop-1.9.0# 

Thanks!

CendioOssman commented 5 years ago

Looks like the correct package name at least. But it does show a 32-bit package. Is this a 32-bit system or might the wrong architecture be installed?

enoch85 commented 5 years ago

It is 32-bit architecture.

CendioOssman commented 5 years ago

Alright, let's look further then. What does this command show:

$ pkg-config --path xcursor

Does the libxcursor-dev package correctly include a xcursor.pc somewhere?

enoch85 commented 5 years ago

Thanks!

Sorry that option doesn't exist:

root@ltsp01:/home/guest# pkg-config --help
Usage:
  pkg-config [OPTION?]

Help Options:
  -h, --help                              Show help options

Application Options:
  --version                               output version of pkg-config
  --modversion                            output version for package
  --atleast-pkgconfig-version=VERSION     require given version of pkg-config
  --libs                                  output all linker flags
  --static                                output linker flags for static linking
  --short-errors                          print short errors
  --libs-only-l                           output -l flags
  --libs-only-other                       output other libs (e.g. -pthread)
  --libs-only-L                           output -L flags
  --cflags                                output all pre-processor and compiler flags
  --cflags-only-I                         output -I flags
  --cflags-only-other                     output cflags not covered by the cflags-only-I option
  --variable=NAME                         get the value of variable named NAME
  --define-variable=NAME=VALUE            set variable NAME to VALUE
  --exists                                return 0 if the module(s) exist
  --print-variables                       output list of variables defined by the module
  --uninstalled                           return 0 if the uninstalled version of one or more module(s) or their dependencies will be used
  --atleast-version=VERSION               return 0 if the module is at least version VERSION
  --exact-version=VERSION                 return 0 if the module is at exactly version VERSION
  --max-version=VERSION                   return 0 if the module is at no newer than version VERSION
  --list-all                              list all known packages
  --debug                                 show verbose debug information
  --print-errors                          show verbose information about missing or conflicting packages (default unless --exists or --atleast/exact/max-version given on the command line)
  --silence-errors                        be silent about errors (default when --exists or --atleast/exact/max-version given on the command line)
  --errors-to-stdout                      print errors from --print-errors to stdout not stderr
  --print-provides                        print which packages the package provides
  --print-requires                        print which packages the package requires
  --print-requires-private                print which packages the package requires for static linking
  --validate                              validate a package's .pc file
  --define-prefix                         try to override the value of prefix for each .pc file found with a guesstimated value based on the location of the .pc file
  --dont-define-prefix                    don't try to override the value of prefix for each .pc file found with a guesstimated value based on the location of the .pc file
  --prefix-variable=PREFIX                set the name of the variable that pkg-config automatically sets
CendioOssman commented 5 years ago

Huh. Must be a newer pkg-config here I guess.

How about pkg-config --libs xcursor instead?

enoch85 commented 5 years ago
root@ltsp01:/home/guest# pkg-config --libs xcursor
-lXcursor

root@ltsp01:/home/guest# dpkg -l | grep pkg-config
ii  pkg-config                              0.29.1-0ubuntu2                              i386         manage compile and link flags for libraries
CendioOssman commented 5 years ago

Yet configure isn't finding it. What does your ./configure line look like?

enoch85 commented 5 years ago

./configure --disable-credssp --disable-smartcard as all the guides for 1.8.6 say online, I actually don't know what it affects but I have a hard time thinking that it would do any harm since we don't use smartcards.

Please enlighten me if I should change anything.

Thanks!

enoch85 commented 5 years ago

I ran without the credssp switch now and got this:

CredSSP support requires GSSAPI, install the dependency
or disable the feature using --disable-credssp.

So the command I used is correct.

bavier commented 5 years ago

Your configure output says that it cannot find pkg-config. It will have a hard time finding other things with pkg-config, like libxcursor.

enoch85 commented 5 years ago

@bavier But it finds pkg-config. Or what do you mean?

@CendioOssman Any ideas?

bavier commented 4 years ago

@enoch85 just that you obviously have pkg-config in your environment, but configure seems unable to find it. Figuring out why might be a good start.

enoch85 commented 4 years ago

I'm using xfreerdp2-x11 now instead, working great.

I'm still able to debug if needed.

but configure seems unable to find it.

configure have a hard time finding libxcursor and pkg-config have a hard time finding xcursor.

benjifisher commented 4 years ago

I had the same problem. I resolved it by installing extra packages:

sudo apt-get install libx11-dev libxcursor-dev pkg-config libtasn1-dev nettle-dev gnutls-dev
./configure --disable-credssp --disable-smartcard
make
sudo make install
which rdesktop

I have not tested, but I think that installing gnutls-dev would have installed most or all of the others, since it depends on them.

enoch85 commented 4 years ago

Thanks, we ended up going with FreeRDP instead.

pr0b3r7 commented 4 years ago

+1 to @enoch85 - having the same issue...

0oook commented 2 years ago

I ran without the credssp switch now and got this:

CredSSP support requires GSSAPI, install the dependency
or disable the feature using --disable-credssp.

So the command I used is correct.

sudo apt install krb5-config sudo apt install libkrb5-dev sudo apt install heimdal-dev pip install gssapi

jpjarnoux commented 2 years ago

I had the same problem. I resolved it by installing extra packages:

sudo apt-get install libx11-dev libxcursor-dev pkg-config libtasn1-dev nettle-dev gnutls-dev
./configure --disable-credssp --disable-smartcard
make
sudo make install
which rdesktop

I have not tested, but I think that installing gnutls-dev would have installed most or all of the others, since it depends on them.

Thanks, @benjifisher 👍🏼

For people with FEDORA you can use the same by replacing dev by devel :

 sudo dnf install libX11-devel libXcursor-devel pkg-config libtasn1-devel nettle-devel gnutls-devel
./bootstrap
./configure --disable-credssp --disable-smartcard
make
make install  # I had to made this one sudo  

Hope it's helping