Dos Line endings on response files when cross compiling.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Dos Line endings on response files when cross compiling.

Gebhard, Joseph

On our project we do development on windows but build for QNX.  We use the Unix Makefile generator.

 

My team added several new source files to a project resulting in cmake generating an objects1.rsp file.  When building after this, we would get an error from the linker, it always failed to find the last object file in the list despite it very clearly being in the binary directory.  I eventually traced it down to dos line ending in the objects1.rsp file.  It was looking for a ctrl+M character on the end of the file name.  After running textto on the file, the project built as expected.

 

After a little playing around with this we determined that 3.7.2 works fine, but 3.9, 3.10 and 3.11.3 all have this issue.

 

Is this a defect in cmake, or is there configuration I am missing in the newer versions?

 

To work around this, is there a way to disable the use of response files, or do I have to write a script that executes post configure to run textto on the files?

 

Any help would be appreciated, Thanks!

 

Joe Gebhard

 

 



The information contained in or attached to this message is the confidential and proprietary information of Knorr-Bremse AG ("Knorr") and its wholly owned subsidiaries, New York Air Brake, LLC, Anchor Brake Shoe Company LLC, and Knorr Brake Ltd., and may contain the intellectual property of Knorr including, without limitation, trade secrets and copyrighted works. The information shall not be reproduced, disclosed to a third party, or used for any purposes other than those expressly permitted by Knorr. Your receipt and use of the information constitutes your acceptance of the confidential nature of the information and your obligation to protect the information subject to or in addition to any implied obligations or express agreements regarding confidential information between you or your employer and Knorr. If you received this communication in error, please notify the sender immediately and destroy all copies including any attachments.
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Dos Line endings on response files when cross compiling.

Brad King
On 06/20/2018 10:42 AM, Gebhard, Joseph wrote:
> traced it down to dos line ending in the objects1.rsp file.  It was looking
> for a ctrl+M character on the end of the file name.
> After a little playing around with this we determined that 3.7.2 works fine,
> but 3.9, 3.10 and 3.11.3 all have this issue.
>
> Is this a defect in cmake, or is there configuration I am missing in the newer versions?

It's likely a regression.  Please open an issue:

  https://gitlab.kitware.com/cmake/cmake/issues

Thanks,
-Brad
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake