https://issues.apache.org/ooo/show_bug.cgi?id=122398
Andre <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #6 from Andre <[email protected]> --- The above changes cause the build to break on Mac and Linux. Error message says that a symbol is defined twice. This is triggered by one of the changes: handleVersionException() was previously a local function defined in desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx. This function is now used in other places in desktop as well and had to be exported from its shared library. The changes to export this function worked on Windows but not on Mac or Linux. There seems to be more than one factor that prevented the function from being exported: - The desktop/source/deployment/gui/makefile.mk used the generic map file solenv/src/component.map that only exports component_getImplementationEnvironment and component_getFactory, two methods that are exported by all libraries that only provide UNO services. - The name of the library seems to be significant. The line DLLPRE = (empty line after the =) prevented the library name from being prefixed with lib (on the *nix OS'ses). But without that prefix the library can not properly linked. Adding the library to the linker call with option -l does not work because that automatically adds the lib prefix. The attempt to just remove the l and use -deploymentgui... failed silently and resulted in deploymentgui.uno.so not linked in at all. - The line SHL1LIBS = $(SLB)$/$(TARGET).lib prevented handleVersionException() from being exported and/or linked as well. The reason is unclear. -- You are receiving this mail because: You are on the CC list for the bug.
