View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000418CMakepublic2003-12-05 13:062004-04-28 10:27
ReporterFred Wheeler 
Assigned ToSystem Admin 
PrioritylowSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000418: Borland 5.5.1, Templates/*.cxx files with '+' chars used in execs
DescriptionCMake List:

There seems to be a problem with Borland 5.5.1 and Templates/*.cxx files
that have a '+' character in them that are directly linked into
executables (as opposed to being used in libraries, which works fine).

This situation happens in VXL/contrib/rpl/rrel/tests
http://cvs.sourceforge.net/viewcvs.py/vxl/vxl/contrib/rpl/rrel/tests/ [^]

The CMakeLists.txt file:
http://cvs.sourceforge.net/viewcvs.py/vxl/vxl/contrib/rpl/rrel/tests/CMakeLi [^]
sts.txt?rev=1.12&view=markup

The directory VXL/contrib/rpl/rrel/tests/Templates contains file
vcl_vector+image_point_match-.cxx. If I rename that file to
vcl_vectorimage_point_match-.cxx (dropping the '+') everything
compiles fine. If the file is left as is, I get the errors below.

Building executable
C:\cygwin\home\wheeler\work_vxl\vxl_bld_bcc\contrib\rpl\rrel\tests\rrel_test
_all.exe...
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: Unable to open file 'VCL_VECTOR.OBJ'
** error 1 ** deleting
C:\cygwin\home\wheeler\work_vxl\vxl_bld_bcc\contrib\rpl\rrel\tests\rrel_test
_all.exe
** error 1 ** deleting default_target

I know Borland will not allow '-' characters in directory names, so
this does not surprise me too much.

This is happening with CMake 1.8.2, installed with the Windows installer. The problem might become visible on the VXL Dashboard in the Continuous Borland build errors, but is not at this moment because of other errors.


Thanks,
Fred Wheeler
TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0000437)
Brad King (manager)
2003-12-30 17:45

This seems to be a limitation of the Borland command line tools. When bcc32 is called to create an executable or shared library, it calls ilink32 behind the scenes. This internal call does not properly quote object file arguments with + in the name.

To solve this problem, we will have to start creating executables and shared libraries by directly calling ilink32 with the proper options.
(0000443)
Brad King (manager)
2004-01-05 11:31

Calling ilink32 directly to work-around this Borland bug will be a non-trivial change that cannot be done in a patch release. I'm changing this bug to the development branch and not 1.8.
(0000444)
Fred Wheeler (reporter)
2004-01-05 12:30

To work around this problem in VXL, we eliminated some Templates/vcl_*.cxx files that were not needed because explicit instantiation is not necessary for vcl anymore, and renamed a couple other Templates/*.cxx files, replacing the '+' with a 'X'. So, VXL now compiles fine with the Borland compiler and this bug is not a critical issue for VXL.
(0000858)
Bill Hoffman (manager)
2004-04-10 08:23

Impossible to fix, the borland compiler can not handle the syntax.
(0000988)
System Admin (reporter)
2004-04-28 10:27

This is, believed or not, fixed....


 Issue History
Date Modified Username Field Change


Copyright © 2000 - 2018 MantisBT Team