On Monday 12 April 2010 11:03:57 pm William Immendorf wrote:
> Hmm... You might want to try this:
>
> ln -sfv $XORG_PREFIX/lib/libXi.so /usr/lib
>
Thanks for the advice, ( It compiles to 100%) with a symbolic link of libXi.so
to /usr/lib, But I have invested quite a bit (ensuring that paths are set
correctly etc) to avoid this .
> CMAKE, unfountrantly, always assumes that X.org is in /usr, and you
> have to satisfy it.
It seems to be a kde problem rather than a cmake problem. The search paths
from cmake are correct I believe:-
######## excerpt from ~/share/cmake2.8/findX11.cmake ##########
IF (UNIX)
SET(X11_FOUND 0)
SET(CMAKE_FIND_FRAMEWORK_SAVE ${CMAKE_FIND_FRAMEWORK})
SET(CMAKE_FIND_FRAMEWORK NEVER)
SET(X11_INC_SEARCH_PATH
/usr/pkg/xorg/include
/usr/X11R7.5/include
/usr/X11R6/include
...
)
SET(X11_LIB_SEARCH_PATH
/usr/X11R7.5/lib
/usr/pkg/xorg/lib
/usr/X11R6/lib
...
)
----
FIND_PATH(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h
${X11_INC_SEARCH_PATH})
FIND_PATH(X11_Xi_INCLUDE_PATH X11/extensions/Xi.h
${X11_INC_SEARCH_PATH})
...
FIND_LIBRARY(X11_X11_LIB X11 ${X11_LIB_SEARCH_PATH})
...
FIND_LIBRARY(X11_Xxf86misc_LIB Xxf86misc ${X11_LIB_SEARCH_PATH})
FIND_LIBRARY(X11_Xi_LIB Xi ${X11_LIB_SEARCH_PATH})
###################
running cmake gives output such as:-
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/X11R7.5/lib64/libX11.so
/usr/X11R7.5/lib64/libX11.so;/usr/X11R7.5/lib64/libXext.so;/usr/X11R7.5/lib64/libXft.so;/usr/X11R7.5/lib64/libXau.so;/usr/X11R7.5/lib64/libXdmcp.so;/usr/X11R7.5/lib64/libXpm.so
-- Looking for XOpenDisplay
in
/usr/X11R7.5/lib64/libX11.so;/usr/X11R7.5/lib64/libXext.so;/usr/X11R7.5/lib64/libXft.so;/usr/X11R7.5/lib64/libXau.so;/usr/X11R7.5/lib64/libXdmcp.so;/usr/X11R7.5/lib64/libXpm.so
-
found
so clearly some libraries and headers are detected ...... whilst others are
not
i.e. for libXxf86misc and libXi
-- Looking for XF86MiscSetGrabKeysState in Xxf86misc
-- Looking for XF86MiscSetGrabKeysState in Xxf86misc - not found
-- Looking for _XiGetDevicePresenceNotifyEvent
-- Looking for _XiGetDevicePresenceNotifyEvent - not found
I have even created a module for finding libXi:-
cat >cmake/modules/FindlibXiNotINusr.cmake<<"EOF"
###########################################
FIND_PATH(LIBXi_INCLUDE_DIR
Xi.h /usr/X11R7.5/include/X11/extensions /usr/X11R6/include/X11/extensions)
FIND_LIBRARY(LIBXi_LIBRARY NAMES libXi.so
PATH /usr/X11R7.5/lib /usr/X11R7.5/lib64 )
IF (LIBXi_INCLUDE_DIR AND LIBXi_LIBRARY)
SET(LIBXi_FOUND TRUE)
ENDIF (LIBXi_INCLUDE_DIR AND LIBXi_LIBRARY)
IF (LIBXi_FOUND)
IF (NOT libXi_FIND_QUIETLY)
MESSAGE(STATUS "Found libXi: ${LIBXi_LIBRARY}")
ENDIF (NOT libXi_FIND_QUIETLY)
ELSE (LIBXi_FOUND)
IF (libXi_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find libXi")
ENDIF (libXi_FIND_REQUIRED)
ENDIF (LIBXi_FOUND)
EOF
and tried to load it by adding this to CMakeLists.txt in the base
directory:-
"macro_optional_find_package(FindlibXiNotINusr.cmake)"
it responded with:-
Adjust CMAKE_MODULE_PATH to find FindFindlibXiNotINusr.cmake.cmake or set
FindlibXiNotINusr.cmake_DIR to the directory containing a CMake
configuration file for FindlibXiNotINusr.cmake. The file will have one of
the following names:
FindlibXiNotINusr.cmakeConfig.cmake
findlibxinotinusr.cmake-config.cmake
========
I would be grateful is someone could explain how I could get this pogram to
compile without having to link libraries to /usr/lib.
sincerely
lux-integ
--
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page