[MacPorts] #45712: xorg-libXt-1.1.4_0 links shared libs with -flat_namespace on Yosemite
MacPorts
noreply at macports.org
Sat Nov 1 20:19:17 PDT 2014
#45712: xorg-libXt-1.1.4_0 links shared libs with -flat_namespace on Yosemite
-------------------------+------------------------
Reporter: jhowarth@… | Owner: jeremyhu@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.2
Resolution: | Keywords:
Port: xorg-libXt |
-------------------------+------------------------
Comment (by howarth.at.macports@…):
Replying to [comment:17 jeremyhu@…]:
> What about just renaming the symbol in lesstif and openmotif and
providing a macro to let clients find the new name?
Unfortunately, I think they are tangled up together, If you create a patch
that renames all of the instances of VendorShellClassRec and
VendorShellRec to OMVendorShellClassRec and OMVendorShellRec, the build of
motif fails at...
{{{
/bin/sh ../../libtool --tag=CC --mode=compile /usr/bin/clang
-DHAVE_CONFIG_H -I. -I../../include -I.. -I./..
-DXMBINDDIR_FALLBACK=\"/opt/local/lib/X11/bindings\"
-DINCDIR=\"/opt/local/include/X11\" -DLIBDIR=\"/opt/local/lib/X11\"
-I/opt/local/include -I/opt/local/include -I/opt/local/include -pipe -Os
-arch x86_64 -Wall -g -fno-strict-aliasing -Wno-unused -Wno-comment
-I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include
-I/opt/local/include/libpng16 -I/opt/local/include
-I/opt/local/include/freetype2 -I/opt/local/include
-I/opt/local/include/libpng16 -I/opt/local/include -MT DragC.lo -MD -MP
-MF .deps/DragC.Tpo -c -o DragC.lo DragC.c
libtool: compile: /usr/bin/clang -DHAVE_CONFIG_H -I. -I../../include -I..
-I./.. -DXMBINDDIR_FALLBACK=\"/opt/local/lib/X11/bindings\"
-DINCDIR=\"/opt/local/include/X11\" -DLIBDIR=\"/opt/local/lib/X11\"
-I/opt/local/include -I/opt/local/include -I/opt/local/include -pipe -Os
-arch x86_64 -Wall -g -fno-strict-aliasing -Wno-unused -Wno-comment
-I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include
-I/opt/local/include/libpng16 -I/opt/local/include
-I/opt/local/include/freetype2 -I/opt/local/include
-I/opt/local/include/libpng16 -I/opt/local/include -MT DragC.lo -MD -MP
-MF .deps/DragC.Tpo -c DragC.c -fno-common -DPIC -o .libs/DragC.o
In file included from DragC.c:51:
../Xm/VendorSP.h:48:13: error: unknown type name 'OMVendorShellClassRec';
did you mean 'VendorShellClassRec'?
externalref OMVendorShellClassRec OMvendorShellClassRec;
^~~~~~~~~~~~~~~~~~~~~
VendorShellClassRec
/opt/local/include/X11/VendorP.h:82:3: note: 'VendorShellClassRec'
declared here
} VendorShellClassRec;
^
1 error generated.
}}}
because the typdef for these two are in coming from the X11 headers...
{{{
#ifndef _XtVendorPrivate_h
#define _XtVendorPrivate_h
#include <X11/Vendor.h>
/* New fields for the VendorShell widget class record */
_XFUNCPROTOBEGIN
typedef struct {
XtPointer extension; /* pointer to extension record
*/
} VendorShellClassPart;
typedef struct _VendorShellClassRec {
CoreClassPart core_class;
CompositeClassPart composite_class;
ShellClassPart shell_class;
WMShellClassPart wm_shell_class;
VendorShellClassPart vendor_shell_class;
} VendorShellClassRec;
externalref VendorShellClassRec vendorShellClassRec;
/* New fields for the vendor shell widget. */
typedef struct {
int vendor_specific;
} VendorShellPart;
typedef struct {
CorePart core;
CompositePart composite;
ShellPart shell;
WMShellPart wm;
VendorShellPart vendor;
} VendorShellRec, *VendorShellWidget;
_XFUNCPROTOEND
#endif /* _XtVendorPrivate_h */
}}}
If detangling this mess was easy to do, someone would have done it long
ago. Note that in the lesstif link you sent me the user proposed renaming
and the lesstif developer shot that idea down immediately.
--
Ticket URL: <https://trac.macports.org/ticket/45712#comment:18>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list