id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	branch_state	votes
1728	configure: error: S-Lang library version 2.0 or newer not found	al37919		"Trying to cross-compile 4.7.0-pre3 using optware/oleg toolchain. S-lang 2.1.4 is available and correctly staged (slang.h is found in ""default place"" even without providing --with-slang-{includes,libs})

configure fails with the following messages:


{{{
checking SLANG-headers in default place ...
checking for slang.h... yes
checking if S-Lang uses termcap... no
checking for SLang_init_tty in -lslang... yes
checking for S-Lang version 2.0 or newer... no
checking SLANG-headers in /usr ...
checking for slang.h... yes
checking if S-Lang uses termcap... (cached) no
checking for SLang_init_tty in -lslang... yes
checking for S-Lang version 2.0 or newer... no
checking SLANG-headers in /usr/local ...
checking for slang.h... yes
checking if S-Lang uses termcap... (cached) no
checking for SLang_init_tty in -lslang... yes
checking for S-Lang version 2.0 or newer... no
configure: error: S-Lang library version 2.0 or newer not found
make: *** [/home/al/broadcom/optware/oleg/builds/mc/.configured] Ошибка 1
}}}


The error happens due to the following lines of configure: 44024-44025

if test ""$cross_compiling"" = yes; then
mc_slang_is_valid_version=no

There are two problems here. 
1) The displayed reason of configure's failure is misleading. It has failed not because of absence of slang2, but due to the fact of cross-compiling.
2) why cross compilation is prohibited at this point at all?

If I comment out this test, the further configure magics fails either. Here is the output with 'set -x' starting from the line 44023:

{{{
+ echo -n 'checking for S-Lang version 2.0 or newer... '
checking for S-Lang version 2.0 or newer... + cat
+ cat confdefs.h
+ cat
+ rm -f conftest
+ ac_try='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ case ""(($ac_try"" in
+ ac_try_echo='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ eval 'echo ""$as_me:44057: $CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5""'
++ echo 'configure:44057: /home/al/broadcom/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-gcc -std=gnu99 -o conft
+ ac_status=0
+ echo 'configure:44060: $? = 0'
+ exit 0
+ ac_try='./conftest$ac_exeext'
+ case ""(($ac_try"" in
+ ac_try_echo='./conftest$ac_exeext'
+ eval 'echo ""$as_me:44066: ./conftest$ac_exeext""'
++ echo 'configure:44066: ./conftest'
+ ac_status=126
+ echo 'configure:44069: $? = 126'
+ exit 126
}}}

If I comment out lines 44024-44080 and explicitly provide:
mc_slang_is_valid_version=yes
then I'm able to cross compile mc till the end ( of course, with standard optware patches plus this one: http://www.midnight-commander.org/changeset/69b06c4de488992278a7e8b6339c7cfcb176f4bc ).

This ""feature"" was introduced in recent pre2. In pre1 configure goes smoothly till the end without any patches."	defect	closed	major	4.7	mc-core	4.7.0-pre3	wontfix						
