The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=12457 
====================================================================== 
Reported By:                Funda Wang
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   12457
Category:                   CMake
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2011-09-14 11:28 EDT
Last Modified:              2011-09-14 11:28 EDT
====================================================================== 
Summary:                    Wrong detection for pthread under Linux
Description: 
The patch introduced in http://public.kitware.com/Bug/view.php?id=11333 produces
wrong result for Linux.

It always builds successful when checking symbols within the first round
detection. i.e.

<snip>
Run Build Command:/usr/bin/gmake "cmTryCompileExec/fast"
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec.dir/build.make
CMakeFiles/cmTryCompileExec.dir/build
gmake[1]: Entering directory
`/home/fwang/rpm/BUILD/OpenSceneGraph-3.0.0/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report
/home/fwang/rpm/BUILD/OpenSceneGraph-3.0.0/build/CMakeFiles/CMakeTmp/CMakeFiles
1
Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o
/usr/bin/gcc   -O2 -g -frecord-gcc-switches -Wstrict-aliasing=2 -pipe -Wformat
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector
--param=ssp-buffer-size=4 -fomit-frame-pointer -mtune=generic -march=i586
-fasynchronous-unwind-tables      -o a.c.o   -c a.c
Linking C executable cmTryCompileExec
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt
--verbose=1
/usr/bin/gcc   -O2 -g -frecord-gcc-switches -Wstrict-aliasing=2 -pipe -Wformat
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector
--param=ssp-buffer-size=4 -fomit-frame-pointer -mtune=generic -march=i586
-fasynchronous-unwind-tables       -Wl,--as-needed -Wl,--no-undefined
-Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags a.c.o  -o
cmTryCompileExec -rdynamic
gmake[1]: Leaving directory
`/home/fwang/rpm/BUILD/OpenSceneGraph-3.0.0/build/CMakeFiles/CMakeTmp'

File
/home/fwang/rpm/BUILD/OpenSceneGraph-3.0.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

void cmakeRequireSymbol(int dummy,...){(void)dummy;}
int main()
{
#ifndef pthread_create
  cmakeRequireSymbol(0,&pthread_create);
#endif
  return 0;
}
</snip>

Maybe check libc's pthread function should be conditioned with platform.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-09-14 11:28 Funda Wang     New Issue                                    
======================================================================

_______________________________________________
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to