View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0012548CMakeCMakepublic2011-10-30 08:262014-12-04 08:48
ReporterHong Xu 
Assigned ToBrad King 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
Platformx86OSWindowsOS Version6.0 (Vista)
Product VersionCMake 2.8.6 
Target VersionCMake 2.8.7Fixed in VersionCMake 2.8.7 
Summary0012548: "Watcom WMake" generator fails if path to CMake contains parentheses
Descriptioncheck_function_exists failed to check the existence of functions when specified "Watcom WMake". When checking strdup, it reports it is not found, however, strdup does exist.
Steps To ReproduceAdd this line to CMakeLists:

check_function_exists(strdup HAVE_STRDUP)

then:

cmake . -G "Watcom WMake"

HAVE_STRDUP is not set.
TagsNo tags attached.
Attached Filesgz file icon CMakeFiles.tar.gz [^] (33,668 bytes) 2011-11-01 19:57

 Relationships
related to 0015279closedKitware Robot CMake fails with OpenWatcom in default install location 

  Notes
(0027677)
Brad King (manager)
2011-10-31 09:07

I cannot reproduce this:

>type ..\CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project(FOO C)
include(CheckFunctionExists)
check_function_exists(strdup HAVE_STRDUP)

>cmake .. -G"Watcom WMake"
-- The C compiler identification is Watcom
-- Check for Watcom compiler version
-- Check for working C compiler: C:/WATCOM/binnt/wcl386.exe
-- Check for working C compiler: C:/WATCOM/binnt/wcl386.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Looking for strdup
-- Looking for strdup - found
-- Configuring done
-- Generating done
(0027678)
Brad King (manager)
2011-10-31 09:07

What is the full output on a fresh build tree when you run CMake? Does the check for working compiler pass?
(0027694)
Hong Xu (reporter)
2011-11-01 06:38

Full output is here:

-- The C compiler identification is Watcom
-- The CXX compiler identification is Watcom
-- Check for Watcom compiler version
-- Check for working C compiler: C:/watcom/binnt/wcl386.exe
-- Check for working C compiler: C:/watcom/binnt/wcl386.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working CXX compiler: C:/watcom/binnt/wcl386.exe
-- Check for working CXX compiler: C:/watcom/binnt/wcl386.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Looking for strdup
-- Looking for strdup - not found
-- Looking for strndup
-- Looking for strndup - not found
-- Configuring done
-- Generating done

ABI info checking is failed.
(0027701)
Brad King (manager)
2011-11-01 11:02

The ABI check probably fails for the same reason that the strdup check incorrectly fails. Please attach a tarball of the CMakeFiles subdirectory from the top of the build tree. That contains lots of logging information about the checks. You can read CMakeFiles/CMakeError.log to look for details.
(0027705)
Hong Xu (reporter)
2011-11-01 19:58

The file is uploaded.
(0027706)
Brad King (manager)
2011-11-02 07:58

The CMakeError.log file shows errors caused by spaces in the path to CMake. While CMake normally installs into such paths it appears that support for Watcom with spaces in the path to CMake may be broken. To confirm, please try installing CMake into a path that has no spaces and run it from there. If it works then at least you'll be able to get going until this is fixed.
(0027713)
Hong Xu (reporter)
2011-11-03 04:17

Confirmed. But could you fix this, since it's the default install location. Thanks.
(0027714)
Brad King (manager)
2011-11-03 09:04

Re 0012548:0027706: It turns out that the problematic characters are the parentheses, not the spaces. This is why it works for some people and not for others. Those running 32-bit windows do not have the parentheses in the default Program Files install location.
(0027715)
Brad King (manager)
2011-11-03 09:43

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=23381d83 [^]
(0029447)
David Cole (manager)
2012-05-09 15:26

Closing resolved issues that have not been updated in more than 4 months.

 Issue History
Date Modified Username Field Change
2011-10-30 08:26 Hong Xu New Issue
2011-10-31 09:07 Brad King Note Added: 0027677
2011-10-31 09:07 Brad King Note Added: 0027678
2011-11-01 06:38 Hong Xu Note Added: 0027694
2011-11-01 11:02 Brad King Note Added: 0027701
2011-11-01 19:57 Hong Xu File Added: CMakeFiles.tar.gz
2011-11-01 19:58 Hong Xu Note Added: 0027705
2011-11-02 07:58 Brad King Note Added: 0027706
2011-11-03 04:17 Hong Xu Note Added: 0027713
2011-11-03 09:04 Brad King Note Added: 0027714
2011-11-03 09:04 Brad King Assigned To => Brad King
2011-11-03 09:04 Brad King Status new => assigned
2011-11-03 09:04 Brad King Category Modules => CMake
2011-11-03 09:04 Brad King Summary check_function_exists failed to check the existence of functions when specified "Watcom WMake" => "Watcom WMake" generator fails if path to CMake contains parentheses
2011-11-03 09:43 Brad King Note Added: 0027715
2011-11-03 09:43 Brad King Status assigned => resolved
2011-11-03 09:43 Brad King Resolution open => fixed
2011-12-16 17:23 David Cole Fixed in Version => CMake 2.8.7
2011-12-16 17:23 David Cole Target Version => CMake 2.8.7
2012-05-09 15:26 David Cole Note Added: 0029447
2012-05-09 15:26 David Cole Status resolved => closed
2014-12-04 08:48 Brad King Relationship added related to 0015279


Copyright © 2000 - 2018 MantisBT Team