Tests fail to build: cannot open output file tests: Is a directory

Issue #76 invalid
yurivict created an issue
-- 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)

  1. Markus Rickert

    When building in the source directory (not recommended), the test programs in the tests subdirectory create a target and file tests 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, and CMAKE_RUNTIME_OUTPUT_DIRECTORY properties to put all output files in bin and lib folders to prevent this.

  2. Log in to comment