Hi all,

I've reached the end of my cmake knowledge, and need a bit of help.

I've improved the error handling in the tests to tell us what's wrong. Cmake 
wants to build in a not-source-directory, but some tests assume they are being 
run from the source directory.

I don't know the correct cmake way to handle this. Copy the data files? Support 
an environment variable prefix? Not sure.

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

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?

Regards,
Graham
--



Reply via email to