Handling Missing X Libs Better
Alexander Neundorf
neundorf at kde.org
Tue Feb 27 22:32:33 CET 2007
On Tuesday 27 February 2007 21:56, Allen Winter wrote:
> On Tuesday 27 February 2007 3:42:22 pm Alexander Neundorf wrote:
> > On Tuesday 27 February 2007 19:20, Allen Winter wrote:
> > > Howdy,
> > >
> > > Here's a problem with the buildsystem that I hope a cmake guru can fix.
> > > A least twice I've had to help people on $kde4-devel with the following
> > > scenario:
> > >
> > > - user runs cmake && make
> > > - compile fails due to missing ICE include files
> > > - user installs their distros libICE-devel packages
> > > - user runs cmake && make
> > > - linking fails (can't find libICE)
> > >
> > > apparently the fact that libICE can't be found is cached.
> > > so the user needs to remove their cmake cache so the
> > > search for libICE is re-run and then added to the linker libs list.
> > >
> > > Should there be an error exit from cmake if libICE can't be found
> > > in the first place?
> >
> > Where does this happen ?
>
> Alex,
>
> You're forcing me to not be lazy :)
>
> OK, in FindX11.cmake we see
> CHECK_LIBRARY_EXISTS("ICE" "IceConnectionNumber" "${X11_LIBRARY_DIR}"
> CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
> if (CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
> set(X11_X_PRE_LIBS -lSM -lICE)
> endif (CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
>
> If not found, then you'll have in CMakeCache.txt:
> MAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER:INTERNAL=0
> and cmake continues normally.
>
> then the compile starts and errors when you encounter a file that
> looks for an ICE include file.
>
> then you realize you need the libICE devel package, so you install it.
>
> then you run cmake again, but CHECK_LIBRARY_EXISTS("ICE".... ) apparently
> looks at the cache value of CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER
> so you'll never have "-lSM -lICE" added to your X11_LIBS
That feels more like a bug in the cmake module. If the test wasn't successfull
it should try again the next time. Apparently it doesn't.
I'll have a look.
Bye
Alex
--
Work: alexander.neundorf AT jenoptik.com - http://www.jenoptik-los.de
Home: neundorf AT kde.org - http://www.kde.org
alex AT neundorf.net - http://www.neundorf.net
More information about the Kde-buildsystem
mailing list