[GNC-dev] Unable to run test on mac os.

John Ralls jralls at ceridwen.us
Tue Mar 24 11:34:06 EDT 2020

I pushed to maint and haven't yet merged up.

John Ralls

> On Mar 23, 2020, at 9:33 PM, jean <ripngo at gmail.com> wrote:
> Did you push to master? Or does this live outside of git? I don't see any change.
> On 3/23/20 6:02 PM, John Ralls wrote:
>> For that solution it should have been CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR, but I decided instead to add a generator statement so that it would put libgtest.a and libgmock.a where Xcode expects them. I also added CONFIGURATIONS statements to the add_test specs so that all of the tests get run. That's pushed.
>> The three tests that failed for you fail for me on Xcode too. The problem is that they're gncmodule-loading tests and they can't find the modules they're supposed to load. It's not a dependency problem, the modules are built. I haven't figured out what's wrong yet.
>> Regards,
>> John Ralls
>>> On Mar 23, 2020, at 9:44 AM, Jean Laroche <ripngo at gmail.com> wrote:
>>> Yes, I wiped everything out, changed common/test-core/CMakeLists.txt and reran the cmake command that creates the xcode project. LMK if I can provide more testing. I'm definitely not familiar with cmake (only started using it at work in the past couple months).
>>> J.
>>> On 3/23/20 9:34 AM, John Ralls wrote:
>>>> Jean,
>>>> At this point the build messages from libgtest.a are more interesting because that's what we're trying to coerce Xcode into putting somewhere different.
>>>> I trust that you started fresh from an empty build dir after changing common/test-core/CMakeLists.txt.
>>>> Regards,
>>>> John Ralls
>>>>> On Mar 22, 2020, at 4:04 PM, jean <ripngo at gmail.com> wrote:
>>>>> I tried your suggestion, modified common/test-core/CMakeLists.txt (in the src directory I assume). But I'm still getting the same issue trying to build check.
>>>>> Showing Recent Messages
>>>>> Ld /Users/Shari/gnucash-stable/build_xcode/bin/test-gnc-rational normal x86_64
>>>>>    cd /Users/Shari/gnucash-stable/src/gnucash-git
>>>>>    export MACOSX_DEPLOYMENT_TARGET=10.14
>>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -L/Users/Shari/gnucash-stable/build_xcode/bin -F/Users/Shari/gnucash-stable/build_xcode/bin -filelist /Users/Shari/gnucash-stable/build_xcode/libgnucash/engine/test/gnucash.build/Debug/test-gnc-rational.build/Objects-normal/x86_64/test-gnc-rational.LinkFileList -mmacosx-version-min=10.14 -Xlinker -object_path_lto -Xlinker /Users/Shari/gnucash-stable/build_xcode/libgnucash/engine/test/gnucash.build/Debug/test-gnc-rational.build/Objects-normal/x86_64/test-gnc-rational_lto.o -Xlinker -no_deduplicate -L/usr/local/opt/openblas/lib -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/Users/Shari/gnucash-stable/lib -lintl -lglib-2.0 -L/Users/Shari/gnucash-stable/lib -lgobject-2.0 -lintl -lglib-2.0 -L/Users/Shari/gnucash-stable/lib -lgmodule-2.0 -lintl -lglib-2.0 -L/Users/Shari/gnucash-stable/lib -lgthread-2.0 -lintl -lglib-2.0 -L/Users/Shari/gnucash-stable/lib -licui18n -licuuc -licudata /Users/Shari/gnucash-stable/lib/libboost_date_time.dylib /Users/Shari/gnucash-stable/lib/libboost_regex.dylib /Users/Shari/gnucash-stable/lib/libboost_locale.dylib /Users/Shari/gnucash-stable/lib/libboost_filesystem.dylib /Users/Shari/gnucash-stable/lib/libboost_system.dylib /Users/Shari/gnucash-stable/build_xcode/common/test-core/libgtest.a -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -licui18n -licuuc -licudata /Users/Shari/gnucash-stable/lib/libboost_date_time.dylib /Users/Shari/gnucash-stable/lib/libboost_regex.dylib /Users/Shari/gnucash-stable/lib/libboost_locale.dylib /Users/Shari/gnucash-stable/lib/libboost_filesystem.dylib /Users/Shari/gnucash-stable/lib/libboost_system.dylib /Users/Shari/gnucash-stable/build_xcode/common/test-core/libgtest.a -Xlinker -dependency_info -Xlinker /Users/Shari/gnucash-stable/build_xcode/libgnucash/engine/test/gnucash.build/Debug/test-gnc-rational.build/Objects-normal/x86_64/test-gnc-rational_dependency_info.dat -o /Users/Shari/gnucash-stable/build_xcode/bin/test-gnc-rational
>>>>> clang: error: no such file or directory: '/Users/Shari/gnucash-stable/build_xcode/common/test-core/libgtest.a'
>>>>> clang: error: no such file or directory: '/Users/Shari/gnucash-stable/build_xcode/common/test-core/libgtest.a'
>>>>> On 3/22/20 3:25 PM, John Ralls wrote:
>>>>>>> On Mar 22, 2020, at 2:48 PM, jean <ripngo at gmail.com> wrote:
>>>>>>> clang: error: no such file or directory: '/Users/Shari/gnucash-stable/build_xcode/common/test-core/libgtest.a'
>>>>>>> clang: error: no such file or directory: '/Users/Shari/gnucash-stable/build_xcode/common/test-core/libgtest.a'
>>>>>>> The missing .a files are here:
>>>>>>> ./common/test-core/Debug/libgtest.a
>>>>>>> I.e. xcode expects common/test-core/libgtest.a but instead I have ./common/test-core/Debug/libgtest.a
>>>>>> That's because Xcode lets you select the build type from the GUI and of course Cmake doesn't know about that at configure time so it can't adjust the locations. I'm actually a bit surprised that this is the only thing that broke.
>>>>>> This stackoverflow seems to address the problem: https://stackoverflow.com/questions/18393813/how-do-i-suppress-xcode-from-generating-a-folder-named-after-the-build-configura
>>>>>> Since it's just ligbtest maybe just tweaking that one target will work. Try adding to common/test-core/CMakeLists.txt at line 80
>>>>>>     if (CMAKE_GENERATOR STREQUAL Xcode)
>>>>>>        set_target_properties(gtest PROPERTIES
>>>>>>                              ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}
>>>>>>                              ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}
>>>>>>                              )
>>>>>>     endif()
>>>>>> and re-run cmake.
>>>>>> Regards,
>>>>>> John Ralls

More information about the gnucash-devel mailing list