WillAyd commented on code in PR #47282:
URL: https://github.com/apache/arrow/pull/47282#discussion_r2336983269
##########
cpp/src/arrow/meson.build:
##########
@@ -420,19 +481,38 @@ foreach key, val : arrow_components
arrow_deps += val.get('dependencies', [])
endforeach
+arrow_lib_cpp_shared_args = ['-DARROW_EXPORTING', '-DURI_LIBRARY_BUILD']
+if needs_compute
+ arrow_lib_cpp_shared_args += ['-DARROW_COMPUTE_EXPORTING']
+endif
+
arrow_lib = library(
'arrow',
sources: arrow_srcs,
include_directories: arrow_includes,
dependencies: arrow_deps,
install: true,
gnu_symbol_visibility: 'inlineshidden',
- cpp_shared_args: ['-DARROW_EXPORTING'],
+ gnu_symbol_visibility: 'hidden',
+ c_shared_args: [
+ '-DARROW_EXPORTING',
+ '-DURI_LIBRARY_BUILD',
+ '-DURI_VISIBILITY',
Review Comment:
Hmm trying it again it doesn't appear to matter whether `-DURI_VISIBILITY`
is set or not - let's remove for now.
> BTW, why do we need to use `-DURI_LIBRARY_BUILD`? CMake uses
`URI_STATIC_BUILD` because vendored/uriparser is built into `libarrow`:
I think you are correct that on non-Windows platforms we may not require
this macro, but on Windows removing this generates a ton of linker warnings:
<details>
```
[5/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriMemory.c.obj
../src/arrow/vendored/uriparser/UriMemory.c(129): warning C4273:
'uriEmulateCalloc': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriBase.h(328):
note: see previous definition of 'uriEmulateCalloc'
../src/arrow/vendored/uriparser/UriMemory.c(151): warning C4273:
'uriEmulateReallocarray': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriBase.h(348):
note: see previous definition of 'uriEmulateReallocarray'
../src/arrow/vendored/uriparser/UriMemory.c(264): warning C4273:
'uriCompleteMemoryManager': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriBase.h(309):
note: see previous definition of 'uriCompleteMemoryManager'
../src/arrow/vendored/uriparser/UriMemory.c(288): warning C4273:
'uriTestMemoryManager': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriBase.h(373):
note: see previous definition of 'uriTestMemoryManager'
[6/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriIp4.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriIp4.c(94):
warning C4273: 'uriParseIpFourAddressA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriIp4.h(98):
note: see previous definition of 'uriParseIpFourAddressA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriIp4.c(94):
warning C4273: 'uriParseIpFourAddressW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriIp4.h(98):
note: see previous definition of 'uriParseIpFourAddressW'
[7/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriCompare.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriCompare.c(72):
warning C4273: 'uriEqualsUriA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(585):
note: see previous definition of 'uriEqualsUriA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriCompare.c(72):
warning C4273: 'uriEqualsUriW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(585):
note: see previous definition of 'uriEqualsUriW'
[8/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriFile.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriFile.c(218):
warning C4273: 'uriUnixFilenameToUriStringA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(742):
note: see previous definition of 'uriUnixFilenameToUriStringA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriFile.c(224):
warning C4273: 'uriWindowsFilenameToUriStringA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(765):
note: see previous definition of 'uriWindowsFilenameToUriStringA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriFile.c(230):
warning C4273: 'uriUriStringToUnixFilenameA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(784):
note: see previous definition of 'uriUriStringToUnixFilenameA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriFile.c(236):
warning C4273: 'uriUriStringToWindowsFilenameA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(803):
note: see previous definition of 'uriUriStringToWindowsFilenameA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriFile.c(218):
warning C4273: 'uriUnixFilenameToUriStringW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(742):
note: see previous definition of 'uriUnixFilenameToUriStringW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriFile.c(224):
warning C4273: 'uriWindowsFilenameToUriStringW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(765):
note: see previous definition of 'uriWindowsFilenameToUriStringW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriFile.c(230):
warning C4273: 'uriUriStringToUnixFilenameW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(784):
note: see previous definition of 'uriUriStringToUnixFilenameW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriFile.c(236):
warning C4273: 'uriUriStringToWindowsFilenameW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(803):
note: see previous definition of 'uriUriStringToWindowsFilenameW'
[10/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriEscape.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriEscape.c(71):
warning C4273: 'uriEscapeA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(395):
note: see previous definition of 'uriEscapeA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriEscape.c(78):
warning C4273: 'uriEscapeExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(371):
note: see previous definition of 'uriEscapeExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriEscape.c(247):
warning C4273: 'uriUnescapeInPlaceA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(440):
note: see previous definition of 'uriUnescapeInPlaceA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriEscape.c(253):
warning C4273: 'uriUnescapeInPlaceExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(417):
note: see previous definition of 'uriUnescapeInPlaceExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriEscape.c(71):
warning C4273: 'uriEscapeW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(395):
note: see previous definition of 'uriEscapeW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriEscape.c(78):
warning C4273: 'uriEscapeExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(371):
note: see previous definition of 'uriEscapeExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriEscape.c(247):
warning C4273: 'uriUnescapeInPlaceW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(440):
note: see previous definition of 'uriUnescapeInPlaceW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriEscape.c(253):
warning C4273: 'uriUnescapeInPlaceExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(417):
note: see previous definition of 'uriUnescapeInPlaceExW'
[11/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriNormalize.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(477):
warning C4273: 'uriNormalizeSyntaxMaskRequiredA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(638):
note: see previous definition of 'uriNormalizeSyntaxMaskRequiredA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(485):
warning C4273: 'uriNormalizeSyntaxMaskRequiredExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(656):
note: see previous definition of 'uriNormalizeSyntaxMaskRequiredExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(512):
warning C4273: 'uriNormalizeSyntaxExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(678):
note: see previous definition of 'uriNormalizeSyntaxExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(518):
warning C4273: 'uriNormalizeSyntaxExMmA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(700):
note: see previous definition of 'uriNormalizeSyntaxExMmA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(526):
warning C4273: 'uriNormalizeSyntaxA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(720):
note: see previous definition of 'uriNormalizeSyntaxA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(477):
warning C4273: 'uriNormalizeSyntaxMaskRequiredW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(638):
note: see previous definition of 'uriNormalizeSyntaxMaskRequiredW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(485):
warning C4273: 'uriNormalizeSyntaxMaskRequiredExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(656):
note: see previous definition of 'uriNormalizeSyntaxMaskRequiredExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(512):
warning C4273: 'uriNormalizeSyntaxExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(678):
note: see previous definition of 'uriNormalizeSyntaxExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(518):
warning C4273: 'uriNormalizeSyntaxExMmW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(700):
note: see previous definition of 'uriNormalizeSyntaxExMmW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriNormalize.c(526):
warning C4273: 'uriNormalizeSyntaxW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(720):
note: see previous definition of 'uriNormalizeSyntaxW'
[12/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriQuery.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(89):
warning C4273: 'uriComposeQueryCharsRequiredA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(822):
note: see previous definition of 'uriComposeQueryCharsRequiredA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(100):
warning C4273: 'uriComposeQueryCharsRequiredExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(842):
note: see previous definition of 'uriComposeQueryCharsRequiredExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(112):
warning C4273: 'uriComposeQueryA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(870):
note: see previous definition of 'uriComposeQueryA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(123):
warning C4273: 'uriComposeQueryExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(897):
note: see previous definition of 'uriComposeQueryExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(140):
warning C4273: 'uriComposeQueryMallocA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(923):
note: see previous definition of 'uriComposeQueryMallocA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(151):
warning C4273: 'uriComposeQueryMallocExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(948):
note: see previous definition of 'uriComposeQueryMallocExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(160):
warning C4273: 'uriComposeQueryMallocExMmA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(974):
note: see previous definition of 'uriComposeQueryMallocExMmA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(360):
warning C4273: 'uriFreeQueryListA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(1063):
note: see previous definition of 'uriFreeQueryListA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(366):
warning C4273: 'uriFreeQueryListMmA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(1078):
note: see previous definition of 'uriFreeQueryListMmA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(381):
warning C4273: 'uriDissectQueryMallocA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(999):
note: see previous definition of 'uriDissectQueryMallocA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(392):
warning C4273: 'uriDissectQueryMallocExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(1022):
note: see previous definition of 'uriDissectQueryMallocExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(401):
warning C4273: 'uriDissectQueryMallocExMmA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(1047):
note: see previous definition of 'uriDissectQueryMallocExMmA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(89):
warning C4273: 'uriComposeQueryCharsRequiredW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(822):
note: see previous definition of 'uriComposeQueryCharsRequiredW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(100):
warning C4273: 'uriComposeQueryCharsRequiredExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(842):
note: see previous definition of 'uriComposeQueryCharsRequiredExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(112):
warning C4273: 'uriComposeQueryW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(870):
note: see previous definition of 'uriComposeQueryW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(123):
warning C4273: 'uriComposeQueryExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(897):
note: see previous definition of 'uriComposeQueryExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(140):
warning C4273: 'uriComposeQueryMallocW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(923):
note: see previous definition of 'uriComposeQueryMallocW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(151):
warning C4273: 'uriComposeQueryMallocExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(948):
note: see previous definition of 'uriComposeQueryMallocExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(160):
warning C4273: 'uriComposeQueryMallocExMmW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(974):
note: see previous definition of 'uriComposeQueryMallocExMmW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(360):
warning C4273: 'uriFreeQueryListW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(1063):
note: see previous definition of 'uriFreeQueryListW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(366):
warning C4273: 'uriFreeQueryListMmW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(1078):
note: see previous definition of 'uriFreeQueryListMmW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(381):
warning C4273: 'uriDissectQueryMallocW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(999):
note: see previous definition of 'uriDissectQueryMallocW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(392):
warning C4273: 'uriDissectQueryMallocExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(1022):
note: see previous definition of 'uriDissectQueryMallocExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriQuery.c(401):
warning C4273: 'uriDissectQueryMallocExMmW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(1047):
note: see previous definition of 'uriDissectQueryMallocExMmW'
[13/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriRecompose.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriRecompose.c(76):
warning C4273: 'uriToStringCharsRequiredA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(602):
note: see previous definition of 'uriToStringCharsRequiredA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriRecompose.c(84):
warning C4273: 'uriToStringA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(620):
note: see previous definition of 'uriToStringA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriRecompose.c(76):
warning C4273: 'uriToStringCharsRequiredW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(602):
note: see previous definition of 'uriToStringCharsRequiredW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriRecompose.c(84):
warning C4273: 'uriToStringW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(620):
note: see previous definition of 'uriToStringW'
[14/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriShorten.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriShorten.c(296):
warning C4273: 'uriRemoveBaseUriA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(538):
note: see previous definition of 'uriRemoveBaseUriA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriShorten.c(306):
warning C4273: 'uriRemoveBaseUriMmA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(567):
note: see previous definition of 'uriRemoveBaseUriMmA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriShorten.c(296):
warning C4273: 'uriRemoveBaseUriW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(538):
note: see previous definition of 'uriRemoveBaseUriW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriShorten.c(306):
warning C4273: 'uriRemoveBaseUriMmW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(567):
note: see previous definition of 'uriRemoveBaseUriMmW'
[15/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriResolve.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriResolve.c(297):
warning C4273: 'uriAddBaseUriA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(461):
note: see previous definition of 'uriAddBaseUriA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriResolve.c(305):
warning C4273: 'uriAddBaseUriExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(484):
note: see previous definition of 'uriAddBaseUriExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriResolve.c(313):
warning C4273: 'uriAddBaseUriExMmA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(509):
note: see previous definition of 'uriAddBaseUriExMmA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriResolve.c(297):
warning C4273: 'uriAddBaseUriW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(461):
note: see previous definition of 'uriAddBaseUriW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriResolve.c(305):
warning C4273: 'uriAddBaseUriExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(484):
note: see previous definition of 'uriAddBaseUriExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriResolve.c(313):
warning C4273: 'uriAddBaseUriExMmW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(509):
note: see previous definition of 'uriAddBaseUriExMmW'
[16/18] Compiling C object
src/arrow/arrow.dll.p/vendored_uriparser_UriParse.c.obj
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2156):
warning C4273: 'uriParseUriExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(221):
note: see previous definition of 'uriParseUriExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2203):
warning C4273: 'uriParseUriA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(241):
note: see previous definition of 'uriParseUriA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2212):
warning C4273: 'uriParseSingleUriA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(263):
note: see previous definition of 'uriParseSingleUriA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2219):
warning C4273: 'uriParseSingleUriExA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(288):
note: see previous definition of 'uriParseSingleUriExA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2230):
warning C4273: 'uriParseSingleUriExMmA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(314):
note: see previous definition of 'uriParseSingleUriExMmA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2258):
warning C4273: 'uriFreeUriMembersA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(331):
note: see previous definition of 'uriFreeUriMembersA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2264):
warning C4273: 'uriFreeUriMembersMmA': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(347):
note: see previous definition of 'uriFreeUriMembersMmA'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2156):
warning C4273: 'uriParseUriExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(221):
note: see previous definition of 'uriParseUriExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2203):
warning C4273: 'uriParseUriW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(241):
note: see previous definition of 'uriParseUriW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2212):
warning C4273: 'uriParseSingleUriW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(263):
note: see previous definition of 'uriParseSingleUriW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2219):
warning C4273: 'uriParseSingleUriExW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(288):
note: see previous definition of 'uriParseSingleUriExW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2230):
warning C4273: 'uriParseSingleUriExMmW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(314):
note: see previous definition of 'uriParseSingleUriExMmW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2258):
warning C4273: 'uriFreeUriMembersW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(331):
note: see previous definition of 'uriFreeUriMembersW'
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\UriParse.c(2264):
warning C4273: 'uriFreeUriMembersMmW': inconsistent dll linkage
C:\Users\Alison\clones\arrow\cpp\src\arrow\vendored\uriparser\Uri.h(347):
note: see previous definition of 'uriFreeUriMembersMmW'
[17/18] Linking target src/arrow/arrow.dll
Creating library src/arrow\arrow.lib and object src/arrow\arrow.exp
LINK : warning LNK4217: symbol 'uriEscapeExA' defined in
'vendored_uriparser_UriEscape.c.obj' is imported by
'vendored_uriparser_UriFile.c.obj' in function 'uriFilenameToUriStringA'
LINK : warning LNK4286: symbol 'uriEscapeExA' defined in
'vendored_uriparser_UriEscape.c.obj' is imported by
'vendored_uriparser_UriQuery.c.obj'
LINK : warning LNK4217: symbol 'uriUnescapeInPlaceExA' defined in
'vendored_uriparser_UriEscape.c.obj' is imported by
'vendored_uriparser_UriFile.c.obj' in function 'uriUriStringToFilenameA'
LINK : warning LNK4286: symbol 'uriUnescapeInPlaceExA' defined in
'vendored_uriparser_UriEscape.c.obj' is imported by
'vendored_uriparser_UriQuery.c.obj'
LINK : warning LNK4217: symbol 'uriEscapeExW' defined in
'vendored_uriparser_UriEscape.c.obj' is imported by
'vendored_uriparser_UriFile.c.obj' in function 'uriFilenameToUriStringW'
LINK : warning LNK4286: symbol 'uriEscapeExW' defined in
'vendored_uriparser_UriEscape.c.obj' is imported by
'vendored_uriparser_UriQuery.c.obj'
LINK : warning LNK4217: symbol 'uriUnescapeInPlaceExW' defined in
'vendored_uriparser_UriEscape.c.obj' is imported by
'vendored_uriparser_UriFile.c.obj' in function 'uriUriStringToFilenameW'
LINK : warning LNK4286: symbol 'uriUnescapeInPlaceExW' defined in
'vendored_uriparser_UriEscape.c.obj' is imported by
'vendored_uriparser_UriQuery.c.obj'
LINK : warning LNK4217: symbol 'uriParseIpFourAddressA' defined in
'vendored_uriparser_UriIp4.c.obj' is imported by
'vendored_uriparser_UriParse.c.obj' in function 'uriOnExitOwnHost2A'
LINK : warning LNK4217: symbol 'uriParseIpFourAddressW' defined in
'vendored_uriparser_UriIp4.c.obj' is imported by
'vendored_uriparser_UriParse.c.obj' in function 'uriOnExitOwnHost2W'
LINK : warning LNK4217: symbol 'uriFreeUriMembersMmA' defined in
'vendored_uriparser_UriParse.c.obj' is imported by
'vendored_uriparser_UriResolve.c.obj' in function 'uriAddBaseUriExMmA'
LINK : warning LNK4217: symbol 'uriFreeUriMembersMmA' defined in
'vendored_uriparser_UriParse.c.obj' is imported by
'vendored_uriparser_UriShorten.c.obj' in function 'uriEqualsAuthorityA'
LINK : warning LNK4217: symbol 'uriFreeUriMembersMmW' defined in
'vendored_uriparser_UriParse.c.obj' is imported by
'vendored_uriparser_UriResolve.c.obj' in function 'uriAddBaseUriExMmW'
LINK : warning LNK4217: symbol 'uriFreeUriMembersMmW' defined in
'vendored_uriparser_UriParse.c.obj' is imported by
'vendored_uriparser_UriShorten.c.obj' in function 'uriRemoveBaseUriImplW'
```
</details>
I have a poor understanding of the MSVC linker, so I can't answer with much
detail why. Maybe we should just conditionally define this on MSVC instead of
all the time?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]