Hello
I'm working on a small UEFI shell app.
I was hoping to make use of the JsonLib found in the Redfish Package.
When I include the Redfish JsonLib and it's dependencies:
JsonLib|RedfishPkg/Library/JsonLib/JsonLib.inf
Ucs2Utf8Lib|RedfishPkg/Library/BaseUcs2Utf8Lib/BaseUcs2Utf8Lib.inf
RedfishCrtLib|RedfishPkg/PrivateLibrary/RedfishCrtLib/RedfishCrtLib.inf
BaseSortLib|MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf
BaseSortLib has symbol clashes with SortLib resulting in the following:
/usr/bin/ld: UefiSortLib.obj (symbol from plugin): in function `PerformQuickSort':
(.text+0x0): multiple definition of `PerformQuickSort'; BaseSortLib.obj (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: UefiSortLib.obj (symbol from plugin): in function `PerformQuickSort':
(.text+0x0): multiple definition of `DevicePathCompare'; BaseSortLib.obj (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: UefiSortLib.obj (symbol from plugin): in function `PerformQuickSort':
(.text+0x0): multiple definition of `StringNoCaseCompare'; BaseSortLib.obj (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: UefiSortLib.obj (symbol from plugin): in function `PerformQuickSort':
(.text+0x0): multiple definition of `StringCompare'; BaseSortLib.obj (symbol from plugin):(.text+0x0): first defined here
I need SortLib for UEFIShell dependencies, and I need BaseSortLib for JsonLib.
Is there some way around this? Or is Redfish meant to be standalone?
Thank you in advance
xp