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.

Reply via email to