Tests fail to build: cannot open output file tests: Is a directory
Issue #76
invalid
-- Build files have been written to: /disk-samsung/freebsd-ports/devel/ode/work/ode-0.16.2
[1/1] : && /usr/bin/c++ -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -fstack-protector-strong CMakeFiles/tests.dir/tests/collision.cpp.o CMakeFiles/tests.dir/tests/friction.cpp.o CMakeFiles/tests.dir/tests/joint.cpp.o CMakeFiles/tests.dir/tests/main.cpp.o CMakeFiles/tests.dir/tests/odemath.cpp.o CMakeFiles/tests.dir/tests/joints/amotor.cpp.o CMakeFiles/tests.dir/tests/joints/ball.cpp.o CMakeFiles/tests.dir/tests/joints/dball.cpp.o CMakeFiles/tests.dir/tests/joints/fixed.cpp.o CMakeFiles/tests.dir/tests/joints/hinge.cpp.o CMakeFiles/tests.dir/tests/joints/hinge2.cpp.o CMakeFiles/tests.dir/tests/joints/piston.cpp.o CMakeFiles/tests.dir/tests/joints/pr.cpp.o CMakeFiles/tests.dir/tests/joints/pu.cpp.o CMakeFiles/tests.dir/tests/joints/slider.cpp.o CMakeFiles/tests.dir/tests/joints/universal.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/AssertException.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/Checks.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/DeferredTestReporter.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/DeferredTestResult.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/MemoryOutStream.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/ReportAssert.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/Test.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestDetails.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestList.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestReporter.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestReporterStdout.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestResults.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestRunner.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TimeConstraint.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/XmlTestReporter.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/Posix/SignalTranslator.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/Posix/TimeHelpers.cpp.o -o tests -Wl,-rpath,/disk-samsung/freebsd-ports/devel/ode/work/ode-0.16.2 libode.so.0.16.2 -pthread && :
FAILED: tests
: && /usr/bin/c++ -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -fstack-protector-strong CMakeFiles/tests.dir/tests/collision.cpp.o CMakeFiles/tests.dir/tests/friction.cpp.o CMakeFiles/tests.dir/tests/joint.cpp.o CMakeFiles/tests.dir/tests/main.cpp.o CMakeFiles/tests.dir/tests/odemath.cpp.o CMakeFiles/tests.dir/tests/joints/amotor.cpp.o CMakeFiles/tests.dir/tests/joints/ball.cpp.o CMakeFiles/tests.dir/tests/joints/dball.cpp.o CMakeFiles/tests.dir/tests/joints/fixed.cpp.o CMakeFiles/tests.dir/tests/joints/hinge.cpp.o CMakeFiles/tests.dir/tests/joints/hinge2.cpp.o CMakeFiles/tests.dir/tests/joints/piston.cpp.o CMakeFiles/tests.dir/tests/joints/pr.cpp.o CMakeFiles/tests.dir/tests/joints/pu.cpp.o CMakeFiles/tests.dir/tests/joints/slider.cpp.o CMakeFiles/tests.dir/tests/joints/universal.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/AssertException.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/Checks.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/DeferredTestReporter.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/DeferredTestResult.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/MemoryOutStream.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/ReportAssert.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/Test.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestDetails.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestList.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestReporter.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestReporterStdout.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestResults.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TestRunner.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/TimeConstraint.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/XmlTestReporter.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/Posix/SignalTranslator.cpp.o CMakeFiles/tests.dir/tests/UnitTest++/src/Posix/TimeHelpers.cpp.o -o tests -Wl,-rpath,/disk-samsung/freebsd-ports/devel/ode/work/ode-0.16.2 libode.so.0.16.2 -pthread && :
ld: error: cannot open output file tests: Is a directory
c++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Comments (2)
-
-
- changed status to invalid
No response from the reporter.
- Log in to comment
When building in the source directory (not recommended), the test programs in the
tests
subdirectory create a target and filetests
on Unix system that leads to a conflict. autotools has a separate Makefile in the tests subdirectory and creates the file there. CMake currently combines everything in one file to keep the changes to a minimum.I could for instance add the
CMAKE_ARCHIVE_OUTPUT_DIRECTORY
,CMAKE_LIBRARY_OUTPUT_DIRECTORY
, andCMAKE_RUNTIME_OUTPUT_DIRECTORY
properties to put all output files inbin
andlib
folders to prevent this.