Re: CMake request for help: tests looking for data files in wrong place

"Graham Leggett via dev" <[email protected]> Wed, 26 Mar 2025 14:15:08 +0000
Newsgroups gmane.comp.apache.apr.devel
Message-ID <[email protected]>
On 26 Mar 2025, at 14:06, Ivan Zhakov <[email protected]> wrote:

>> 22/52 Test #22: testmmap .........................***Failed    0.02 sec
>> testmmap            :  apr_file_open() failed: D:/a/apr/apr/build/data/mmap_large_datafile.txt: The system cannot find the file specified.  
>> Line 110: expected <0>, but saw <720002>
>>  SKIP: Line 119: File not open, skipping filesize test.
>>  SKIP: Line 146: File not open, skipping read.
>>  SKIP: Line 182: File not open, skipping mmap create.
>> Line 201: expected non-NULL, but saw NULL
>>  SKIP: Line 204: MMap not open, skipping size comparison.
>>  SKIP: Line 244: MMap not open, skipping mmap offset.
>>  SKIP: Line 221: MMap not open, skipping mmap delete.
>>  SKIP: Line 81: File not open, skipping file close.
>> apr_file_open() failed: D:/a/apr/apr/build/data/mmap_large_datafile.txt: The system cannot find the file specified.  
>> Line 110: expected <0>, but saw <720002>
>>  SKIP: Line 119: File not open, skipping filesize test.
>>  SKIP: Line 146: File not open, skipping read.
>>  SKIP: Line 182: File not open, skipping mmap create.
>> Line 201: expected non-NULL, but saw NULL
>>  SKIP: Line 204: MMap not open, skipping size comparison.
>>  SKIP: Line 244: MMap not open, skipping mmap offset.
>>  SKIP: Line 221: MMap not open, skipping mmap delete.
>>  SKIP: Line 81: File not open, skipping file close.
>> SKIPPED 14 of 27
>> FAILED 4 of 27
>> 
> Does this problem still occur? 

This was fixed.

The CMake build copied two files from data when it should have copied three files. Copying the third file above made the tests work.
 
>> The second cmake failure is this one in apr-util:
>> 
>> LINK Pass 1: command "C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1443~1.348\bin\Hostx64\x64\link.exe /nologo CMakeFiles\testall.dir\test\abts.c.obj CMakeFiles\testall.dir\test\testutil.c.obj CMakeFiles\testall.dir\test\testbuckets.c.obj CMakeFiles\testall.dir\test\testbuffer.c.obj CMakeFiles\testall.dir\test\testcrypto.c.obj CMakeFiles\testall.dir\test\testdate.c.obj CMakeFiles\testall.dir\test\testdbd.c.obj CMakeFiles\testall.dir\test\testdbm.c.obj CMakeFiles\testall.dir\test\testjson.c.obj CMakeFiles\testall.dir\test\testjose.c.obj CMakeFiles\testall.dir\test\testldap.c.obj CMakeFiles\testall.dir\test\testmd4.c.obj CMakeFiles\testall.dir\test\testmd5.c.obj CMakeFiles\testall.dir\test\testmemcache.c.obj CMakeFiles\testall.dir\test\testpass.c.obj CMakeFiles\testall.dir\test\testqueue.c.obj CMakeFiles\testall.dir\test\testredis.c.obj CMakeFiles\testall.dir\test\testreslist.c.obj CMakeFiles\testall.dir\test\testrmm.c.obj CMakeFiles\testall.dir\test\testsiphash.c.obj CMakeFiles\testall.dir\test\teststrmatch.c.obj CMakeFiles\testall.dir\test\testuri.c.obj CMakeFiles\testall.dir\test\testuuid.c.obj CMakeFiles\testall.dir\test\testxlate.c.obj CMakeFiles\testall.dir\test\testxml.c.obj /out:testall.exe /implib:testall.lib /pdb:testall.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console libaprutil-1.lib D:\a\apr-util\apr-util\install\lib\libapr-1.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\testall.dir/intermediate.manifest CMakeFiles\testall.dir/manifest.res" failed (exit code 1120) with the following output:
>> testldap.c.obj : error LNK2019: unresolved external symbol __imp_ldap_unbind_s referenced in function test_legacy_ldap_connection
>> testldap.c.obj : error LNK2019: unresolved external symbol __imp_ldap_set_option referenced in function test_legacy_ldap_connection
>> testldap.c.obj : error LNK2019: unresolved external symbol __imp_ldap_simple_bind_s referenced in function test_legacy_ldap_connection
>> 
>> testldap.c.obj : error LNK2019: unresolved external symbol __imp_ldap_err2string referenced in function test_legacy_ldap_connection
>> 
>> testall.exe : fatal error LNK1120: 4 unresolved externals
>> 
>> The legacy apr-util v1.7 testall.exe (but not the trunk one) needs to be linked to the LDAP library on Windows for the legacy tests to compile. Not sure of the correct way to do that.
>>  
>> Can someone who knows cmake take a look if possible?
>> 
> As far as I understand, this problem has been fixed in r1924334 <https://svn.apache.org/r1924334>. Is this correct?

This is fixed.

Regards,
Graham
--