#36055 closed defect (wontfix)
Tiger PPC: xorg-server-1.13.0 fails to build on Tiger PPC because of multiple definitions of symbol _XkbFreeGeomOverlayKeys?
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | tiger | Cc: | cooljeanius (Eric Gallager), mikeformac@…, ryandesign (Ryan Carsten Schmidt) |
Port: | xorg-server |
Description
This is the near the failure:
libtool: link: /usr/bin/gcc-4.0 -std=gnu99 -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wcast-qual -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -fno-strict-aliasing -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/opt/local/include -I/opt/local/include/pixman-1 -I/opt/local/include/freetype2 -I../../../include -I../../../include -I../../../Xext -I../../../damageext -I../../../xfixes -I../../../Xi -I../../../mi -I../../../miext/sync -I../../../miext/shadow -I../../../miext/damage -I../../../render -I../../../randr -I../../../fb -I../../../dbe -pipe -O2 -arch ppc -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA -Objc -Wl,-u -Wl,_miDCInitialize -Wl,-framework -Wl,Carbon -Wl,-framework -Wl,Cocoa -Wl,-framework -Wl,CoreAudio -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,OpenGL -arch ppc -o X11.bin bundle-main.o strndup.o mach_startupServer.o mach_startupUser.o ../../../dix/.libs/dixfonts.o -lXplugin -L/opt/local/lib ../../../hw/xquartz/.libs/libXquartz.a ../../../hw/xquartz/xpr/.libs/libXquartzXpr.a ../../../miext/rootless/.libs/librootless.a ../../../hw/xquartz/pbproxy/.libs/libxpbproxy.a /opt/local/lib/libAppleWM.dylib /opt/local/lib/libXext.dylib /opt/local/lib/libXfixes.dylib /opt/local/lib/libX11.dylib /opt/local/lib/libxcb.dylib ../../../dix/.libs/libmain.a ../../../fb/.libs/libfb.a ../../../xfixes/.libs/libxfixes.a ../../../Xext/.libs/libXext.a ../../../dbe/.libs/libdbe.a ../../../randr/.libs/librandr.a ../../../render/.libs/librender.a ../../../damageext/.libs/libdamageext.a ../../../miext/sync/.libs/libsync.a ../../../miext/damage/.libs/libdamage.a ../../../miext/shadow/.libs/libshadow.a ../../../Xi/.libs/libXi.a ../../../xkb/.libs/libxkb.a ../../../xkb/.libs/libxkbstubs.a ../../../dix/.libs/libdix.a ../../../mi/.libs/libmi.a ../../../os/.libs/libos.a ../../../hw/xquartz/GL/.libs/libCGLCore.a ../../../glx/.libs/libglx.a ../../../record/.libs/librecord.a /opt/local/lib/libpixman-1.dylib -lpthread /opt/local/lib/libXfont.dylib /opt/local/lib/libfreetype.dylib -lbz2 /opt/local/lib/libfontenc.dylib -lz /opt/local/lib/libXau.dylib /opt/local/lib/libXdmcp.dylib -lm -framework ApplicationServices /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _serverGeneration ../../../dix/.libs/libdix.a(globals.o) definition of _serverGeneration in section (__DATA,__data) /opt/local/lib/libXfont.dylib(miscutil.o) definition of _serverGeneration /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _XkbFreeGeomOverlayKeys /opt/local/lib/libX11.dylib(single module) definition of _XkbFreeGeomOverlayKeys ../../../xkb/.libs/libxkb.a(XKBGAlloc.o) definition of _XkbFreeGeomOverlayKeys in section (__TEXT,__text) collect2: ld returned 1 exit status make[4]: *** [X11.bin] Error 1 make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_xorg-server/xorg-server/work/xorg-server-1.13.0/hw/xquartz/mach-startup'
The failure is the same as with xorg-server-devel 1.12.99.905.
Attachments (4)
Change History (31)
Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | main.2.log added |
---|
xorg-server-devel main.log
comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | jeremyhu@… removed |
---|---|
Owner: | changed from macports-tickets@… to jeremyhu@… |
comment:2 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)
I no longer have my Tiger box. You're pretty much on your own for finding a fix, sorry...
comment:3 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
xorg-server-devel-1.13.99.0 cannot be built because of the same failure.
Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | main.3.log added |
---|
xorg-server-devel-1.13.99.0 main.log
comment:4 follow-up: 5 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Yep. This will remain broken until someone with a Tiger machine fixes it.
comment:5 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jeremyhu@…:
Yep. This will remain broken until someone with a Tiger machine fixes it.
I actually do not understand what the compiler is trying to say. (I never learned these subtleties.)
It seems to me that there is a function – obviously – in /opt/local/lib/libXfont.dylib – obviously, because the symbol is inside a library –, coming from the object file miscutil.o. And there is another library, dix/.libs/libdix.a, which has from the object file globals.o, which it is built from, another definition of that symbol, _serverGeneration.
libXfont-1.4.5/src/util/miscutil.c has:
48 #ifndef NO_WEAK_SYMBOLS 49 /* make sure everything initializes themselves at least once */ 50 weak long serverGeneration = 1; 51 #endif
xorg-server-devel-1.13.99.0/dix/globals.c has:
88 unsigned long serverGeneration = 0;
So it seems that the symbol _serverGeneration is indeed only a variable, serverGeneration, casted a bit differently. If that's the problem, the same global variable defined and initialised twice, then the cure might be to make it local to dix which uses it a few times:
./dix/dixfonts.c:1966: if (last_server_gen < serverGeneration) { ./dix/dixfonts.c:1967: last_server_gen = serverGeneration; ./dix/globals.c:88:unsigned long serverGeneration = 0; ./dix/main.c:155: serverGeneration++; ./dix/main.c:168: if (serverGeneration == 1) {
Or using a different name for it. (Changes in libXfont might be more complicated. Or it might be useful to use it weakly, i.e., let dix initialise it?)
xorg-server-devel-1.13.99.0/xkb/XKBGAlloc.c has:
241 void 242 XkbFreeGeomOverlayKeys(XkbOverlayRowPtr row, int first, int count, Bool freeAll) 243 { 244 _XkbFreeGeomLeafElems(freeAll, first, count, 245 &row->num_keys, &row->sz_keys, 246 (char **) &row->keys, sizeof(XkbOverlayKeyRec)); 247 return; 248 }
If that obvious function is already contained in /opt/local/lib/libX11.dylib (/opt/local/lib/libX11.dylib:single module: 0007e800 T _XkbFreeGeomOverlayKeys), then the solution seems to be either to remove it from libX11 or to make xkb use that library function. Xkb uses that function not at all:
./XKBGAlloc.c:242:XkbFreeGeomOverlayKeys(XkbOverlayRowPtr row, int first, int count, Bool freeAll) ./xkbgeom.h:402: XkbFreeGeomOverlayKeys(XkbOverlayRowPtr /* row */ ,
The first use is already documented here, the second use is this:
401 extern void 402 XkbFreeGeomOverlayKeys(XkbOverlayRowPtr /* row */ , 403 int /* first */ , 404 int /* count */ , 405 Bool /* freeAll */ 406 );
which looks like a correct and necessary declaration in C. So the function definition in xorg-server-devel-1.13.99.0/xkb/XKBGAlloc.c should be removed. And possibly there could be some more similar cases… (for example: /opt/local/lib/libX11.dylib:single module: 0010817c D XkbInternAtomFunc and in xorg-server-devel-1.13.99.0/xkb/xkmread.c)
comment:6 follow-ups: 7 8 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Changing the name is not the solution. They're *supposed* to collide and resolve to the same thing.
What is the output of:
$ nm -m /opt/local/lib/libXfont.dylib | grep _serverGeneration
Can you try activating an older version of libXfont and seeing if the server will build with it? Will an older server build with the current libXfont?
comment:7 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jeremyhu@…:
Changing the name is not the solution. They're *supposed* to collide and resolve to the same thing.
What is the output of:
$ nm -m /opt/local/lib/libXfont.dylib | grep _serverGeneration
(undefined) external _serverGeneration (undefined) external _serverGeneration 0002e990 (__DATA,__data) external _serverGeneration
Can you try activating an older version of libXfont and seeing if the server will build with it? Will an older server build with the current libXfont?
I can try to build an earlier version, I don't keep much outdated versions…
comment:8 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jeremyhu@…:
Changing the name is not the solution. They're *supposed* to collide and resolve to the same thing.
What is the output of:
$ nm -m /opt/local/lib/libXfont.dylib | grep _serverGeneration
With xorg-libXfont @1.4.4 I get:
0002ef90 (__DATA,__data) external _serverGeneration
And there are a few new build failures:
libtool: link: /usr/bin/gcc-4.0 -std=gnu99 -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wcast-qual -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -fno-strict-aliasing -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/opt/local/include -I/opt/local/include/pixman-1 -I/opt/local/include/freetype2 -I../../../include -I../../../include -I../../../Xext -I../../../damageext -I../../../xfixes -I../../../Xi -I../../../mi -I../../../miext/sync -I../../../miext/shadow -I../../../miext/damage -I../../../render -I../../../randr -I../../../fb -I../../../dbe -pipe -O2 -arch ppc -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA -Objc -Wl,-u -Wl,_miDCInitialize -Wl,-framework -Wl,Carbon -Wl,-framework -Wl,Cocoa -Wl,-framework -Wl,CoreAudio -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,OpenGL -arch ppc -o X11.bin bundle-main.o strndup.o mach_startupServer.o mach_startupUser.o ../../../dix/.libs/dixfonts.o -lXplugin -L/opt/local/lib ../../../hw/xquartz/.libs/libXquartz.a ../../../hw/xquartz/xpr/.libs/libXquartzXpr.a ../../../miext/rootless/.libs/librootless.a ../../../hw/xquartz/pbproxy/.libs/libxpbproxy.a /opt/local/lib/libAppleWM.dylib /opt/local/lib/libXext.dylib /opt/local/lib/libXfixes.dylib /opt/local/lib/libX11.dylib /opt/local/lib/libxcb.dylib ../../../dix/.libs/libmain.a ../../../fb/.libs/libfb.a ../../../xfixes/.libs/libxfixes.a ../../../Xext/.libs/libXext.a ../../../dbe/.libs/libdbe.a ../../../randr/.libs/librandr.a ../../../render/.libs/librender.a ../../../damageext/.libs/libdamageext.a ../../../miext/sync/.libs/libsync.a ../../../miext/damage/.libs/libdamage.a ../../../miext/shadow/.libs/libshadow.a ../../../Xi/.libs/libXi.a ../../../xkb/.libs/libxkb.a ../../../xkb/.libs/libxkbstubs.a ../../../dix/.libs/libdix.a ../../../mi/.libs/libmi.a ../../../os/.libs/libos.a ../../../hw/xquartz/GL/.libs/libCGLCore.a ../../../glx/.libs/libglx.a ../../../record/.libs/librecord.a /opt/local/lib/libpixman-1.dylib -lpthread /opt/local/lib/libXfont.dylib /opt/local/lib/libfreetype.dylib -lbz2 /opt/local/lib/libfontenc.dylib -lz /opt/local/lib/libXau.dylib /opt/local/lib/libXdmcp.dylib -lm -framework ApplicationServices /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _DeleteFontClientID ../../../dix/.libs/dixfonts.o definition of _DeleteFontClientID in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _DeleteFontClientID /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _ErrorF ../../../os/.libs/libos.a(log.o) definition of _ErrorF in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _ErrorF /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _FatalError ../../../os/.libs/libos.a(log.o) definition of _FatalError in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _FatalError /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _GetClientResolutions ../../../dix/.libs/dixfonts.o definition of _GetClientResolutions in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetClientResolutions /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _GetDefaultPointSize ../../../dix/.libs/dixfonts.o definition of _GetDefaultPointSize in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetDefaultPointSize /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _GetNewFontClientID ../../../dix/.libs/dixfonts.o definition of _GetNewFontClientID in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetNewFontClientID /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _GetTimeInMillis ../../../os/.libs/libos.a(utils.o) definition of _GetTimeInMillis in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetTimeInMillis /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _RegisterFPEFunctions ../../../dix/.libs/dixfonts.o definition of _RegisterFPEFunctions in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _RegisterFPEFunctions /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _StoreFontClientFont ../../../dix/.libs/dixfonts.o definition of _StoreFontClientFont in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _StoreFontClientFont /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _client_auth_generation ../../../dix/.libs/dixfonts.o definition of _client_auth_generation in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _client_auth_generation /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _find_old_font ../../../dix/.libs/dixfonts.o definition of _find_old_font in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _find_old_font /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _init_fs_handlers ../../../dix/.libs/dixfonts.o definition of _init_fs_handlers in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _init_fs_handlers /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _remove_fs_handlers ../../../dix/.libs/dixfonts.o definition of _remove_fs_handlers in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _remove_fs_handlers /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _set_font_authorizations ../../../os/.libs/libos.a(utils.o) definition of _set_font_authorizations in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _set_font_authorizations /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _ClientSignal /opt/local/lib/libXfont.dylib(single module) definition of _ClientSignal ../../../dix/.libs/libdix.a(dixutils.o) definition of _ClientSignal in section (__TEXT,__text) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _serverClient /opt/local/lib/libXfont.dylib(single module) definition of _serverClient ../../../dix/.libs/libdix.a(globals.o) definition of _serverClient in section (__DATA,__common) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _serverGeneration /opt/local/lib/libXfont.dylib(single module) definition of _serverGeneration ../../../dix/.libs/libdix.a(globals.o) definition of _serverGeneration in section (__DATA,__data) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _MakeAtom /opt/local/lib/libXfont.dylib(single module) definition of _MakeAtom ../../../dix/.libs/libdix.a(atom.o) definition of _MakeAtom in section (__TEXT,__text) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _NameForAtom /opt/local/lib/libXfont.dylib(single module) definition of _NameForAtom ../../../dix/.libs/libdix.a(atom.o) definition of _NameForAtom in section (__TEXT,__text) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _ValidAtom /opt/local/lib/libXfont.dylib(single module) definition of _ValidAtom ../../../dix/.libs/libdix.a(atom.o) definition of _ValidAtom in section (__TEXT,__text) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _XkbFreeGeomOverlayKeys /opt/local/lib/libX11.dylib(single module) definition of _XkbFreeGeomOverlayKeys ../../../xkb/.libs/libxkb.a(XKBGAlloc.o) definition of _XkbFreeGeomOverlayKeys in section (__TEXT,__text) collect2: ld returned 1 exit status make[4]: *** [X11.bin] Error 1 make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_xorg-server-devel/xorg-server-devel/work/xorg-server-devel-1.13.99.0/hw/xquartz/mach-startup'
comment:9 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Duplicate #37518 has a log of xorg-server-devel @1.13.99.
comment:10 follow-up: 11 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
After the installation of bootstrap_cmds the build now fails with a different error:
make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_xorg-server-devel/xorg-server-devel/work/xorg-server-devel-1.13.99.901/hw/xquartz/mach-startup' mig -sheader mach_startupServer.h ./mach_startup.defs /opt/local/bin/mig: line 162: /opt/local/bin/cc: No such file or directory mig: fatal: "<no name yet>", line -1: no SubSystem declaration make[3]: *** [mach_startupServer.c] Error 1 make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_xorg-server-devel/xorg-server-devel/work/xorg-server-devel-1.13.99.901/hw/xquartz/mach-startup'
/opt/local/bin/cc indeed does not exist… Creating it as a sym-link
ln -s /usr/bin/gcc-4.0 /opt/local/bin/cc
leads to a new failure:
make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_xorg-server-devel/xorg-server-devel/work/xorg-server-devel-1.13.99.901/hw/xquartz/mach-startup' mig -sheader mach_startupServer.h ./mach_startup.defs cc: installation problem, cannot exec '/opt/local/bin/powerpc-apple-darwin8-gcc-4.0.1': No such file or directory mig: fatal: "<no name yet>", line -1: no SubSystem declaration make[3]: *** [mach_startupServer.c] Error 1 make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_xorg-server-devel/xorg-server-devel/work/xorg-server-devel-1.13.99.901/hw/xquartz/mach-startup'
Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | main.4.log added |
---|
main.log from xorg-server-devel 1.13.99.901_1
comment:11 follow-up: 12 Changed 12 years ago by larryv (Lawrence Velázquez)
Replying to Peter_Dyballa@…:
/opt/local/bin/cc indeed does not exist… Creating it as a sym-link
ln -s /usr/bin/gcc-4.0 /opt/local/bin/cc
Please undo this. Nothing should be trying to use /opt/local/bin/cc
; that is a bug. Do not manually create symlinks within the MacPorts prefix.
comment:12 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
Replying to larryv@…:
Replying to Peter_Dyballa@…:
Please undo this. Nothing should be trying to use
/opt/local/bin/cc
; that is a bug. Do not manually create symlinks within the MacPorts prefix.
Well, it was a desperate try…
Not knowing what mig is and how complicated it operates I tried to give it what it wants. The next error makes it obvious that it is not "localised" to be used with MacPorts or it needs to be adapted to use GCC 4.2.
comment:13 follow-up: 15 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)
The bootstrap_cmds bug is fixed in r103213
comment:15 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jeremyhu@…:
The bootstrap_cmds bug is fixed in r103213
Yes, that's fixed. The original bug with the "multiple definitions" is back!
comment:16 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Summary: | xorg-server-1.13.0 fails to build on Tiger PPC because of multiple definitions of symbol _XkbFreeGeomOverlayKeys? → Tiger PPC: xorg-server-1.13.0 fails to build on Tiger PPC because of multiple definitions of symbol _XkbFreeGeomOverlayKeys? |
---|
comment:17 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Keywords: | tiger added |
---|
comment:18 follow-up: 19 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → wontfix |
---|---|
Status: | new → closed |
If you have a patch, I'll take it, but I won't be investigating Tiger or PPC issues further.
comment:19 Changed 11 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jeremyhu@…:
If you have a patch, I'll take it, but I won't be investigating Tiger or PPC issues further.
What should I look at, what should I attempt? Identify the files that provide the _XkbFreeGeomOverlayKeys function and then find #ifdef guards?
comment:20 Changed 11 years ago by ballapete (Peter "Pete" Dyballa)
Yesterday I tried to determine which functions from which files libraries actually stop the X server from building. First I looked at this group of multiple definitions:
../../../dix/.libs/dixfonts.o definition of _DeleteFontClientID in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _DeleteFontClientID ../../../dix/.libs/dixfonts.o definition of _GetClientResolutions in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetClientResolutions ../../../dix/.libs/dixfonts.o definition of _GetDefaultPointSize in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetDefaultPointSize ../../../dix/.libs/dixfonts.o definition of _GetNewFontClientID in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetNewFontClientID ../../../dix/.libs/dixfonts.o definition of _RegisterFPEFunctions in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _RegisterFPEFunctions ../../../dix/.libs/dixfonts.o definition of _StoreFontClientFont in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _StoreFontClientFont ../../../dix/.libs/dixfonts.o definition of _client_auth_generation in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _client_auth_generation ../../../dix/.libs/dixfonts.o definition of _find_old_font in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _find_old_font ../../../dix/.libs/dixfonts.o definition of _init_fs_handlers in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _init_fs_handlers ../../../dix/.libs/dixfonts.o definition of _remove_fs_handlers in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _remove_fs_handlers
I located the functions in these files:
libXfont-1.4.6/src/stubs/findoldfnt.c xorg-server-devel-1.14.99.0/dix/dixfonts.c -------------------------------------------------------------------------------------------------- FontPtr find_old_font(XID id) { weak FontPtr pointer pFont; find_old_font(FSID id) { dixLookupResourceByType(&pFont, id, RT_NONE, serverClient, DixReadAccess); return (FontPtr)NULL; return (FontPtr) pFont; } } libXfont-1.4.6/src/stubs/getnewfntcid.c xorg-server-devel-1.14.99.0/dix/dixfonts.c -------------------------------------------------------------------------------------------------- _X_EXPORT weak Font Font GetNewFontClientID(void) GetNewFontClientID(void) { { return (Font)0; return FakeClientID(0); } } libXfont-1.4.6/src/stubs/stfntcfnt.c xorg-server-devel-1.14.99.0/dix/dixfonts.c -------------------------------------------------------------------------------------------------- _X_EXPORT weak int int StoreFontClientFont(FontPtr pfont, Font id) StoreFontClientFont(FontPtr pfont, Font id) { { return 0; return AddResource(id, RT_NONE, (pointer) pfont); } } libXfont-1.4.6/src/stubs/delfntcid.c xorg-server-devel-1.14.99.0/dix/dixfonts.c -------------------------------------------------------------------------------------------------- _X_EXPORT void weak void DeleteFontClientID(Font id) DeleteFontClientID(Font id) { { FreeResource(id, RT_NONE); } } libXfont-1.4.6/src/stubs/initfshdl.c xorg-server-devel-1.14.99.0/dix/dixfonts.c -------------------------------------------------------------------------------------------------- _X_EXPORT int init_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler) { /* if server has reset, make sure the b&w handlers are reinstalled */ if (last_server_gen < serverGeneration) { last_server_gen = serverGeneration; fs_handlers_installed = 0; } if (fs_handlers_installed == 0) { if (!RegisterBlockAndWakeupHandlers(block_handler, FontWakeup, (pointer) 0)) weak int return AllocError; init_fs_handlers(FontPathElementPtr fpe, fs_handlers_installed++; BlockHandlerProcPtr block_handler) } { QueueFontWakeup(fpe); return Successful; return Successful; } } libXfont-1.4.6/src/stubs/rmfshdl.c xorg-server-devel-1.14.99.0/dix/dixfonts.c -------------------------------------------------------------------------------------------------- _X_EXPORT void remove_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler, Bool all) { if (all) { /* remove the handlers if no one else is using them */ if (--fs_handlers_installed == 0) { weak void RemoveBlockAndWakeupHandlers(block_handler, FontWakeup, remove_fs_handlers(FontPathElementPtr fpe, (pointer) 0); BlockHandlerProcPtr blockHandler, } Bool all) } { RemoveFontWakeup(fpe); } } libXfont-1.4.6/src/stubs/getdefptsize.c xorg-server-devel-1.14.99.0/dix/dixfonts.c -------------------------------------------------------------------------------------------------- _X_EXPORT weak int int GetDefaultPointSize(void) GetDefaultPointSize(void) { { return 0; return 120; } } libXfont-1.4.6/src/stubs/getcres.c xorg-server-devel-1.14.99.0/dix/dixfonts.c -------------------------------------------------------------------------------------------------- _X_EXPORT FontResolutionPtr GetClientResolutions(int *num) { static struct _FontResolution res; ScreenPtr pScreen; pScreen = screenInfo.screens[0]; res.x_resolution = (pScreen->width * 25.4) / pScreen->mmWidth; /* * XXX - we'll want this as long as bitmap instances are prevalent so that we can match them from scalable fonts */ if (res.x_resolution < 88) res.x_resolution = 75; else res.x_resolution = 100; res.y_resolution = (pScreen->height * 25.4) / pScreen->mmHeight; if (res.y_resolution < 88) res.y_resolution = 75; else weak FontResolutionPtr res.y_resolution = 100; GetClientResolutions(int *num) res.point_size = 120; { *num = 1; return (FontResolutionPtr) 0; return &res; } } libXfont-1.4.6/src/stubs/regfpefunc.c xorg-server-devel-1.14.99.0/dix/dixfonts.c -------------------------------------------------------------------------------------------------- /* * returns the type index of the new fpe * * should be called (only once!) by each type of fpe when initialized */ _X_EXPORT int RegisterFPEFunctions(NameCheckFunc name_func, InitFpeFunc init_func, FreeFpeFunc free_func, ResetFpeFunc reset_func, OpenFontFunc open_func, CloseFontFunc close_func, ListFontsFunc list_func, StartLfwiFunc start_lfwi_func, NextLfwiFunc next_lfwi_func, WakeupFpeFunc wakeup_func, ClientDiedFunc client_died, LoadGlyphsFunc load_glyphs, StartLaFunc start_list_alias_func, NextLaFunc next_list_alias_func, SetPathFunc set_path_func) { FPEFunctions *new; /* grow the list */ new = (FPEFunctions *) realloc(fpe_functions, (num_fpe_types + 1) * sizeof(FPEFunctions)); if (!new) return -1; fpe_functions = new; weak int fpe_functions[num_fpe_types].name_check = name_func; RegisterFPEFunctions(NameCheckFunc name_func, fpe_functions[num_fpe_types].open_font = open_func; InitFpeFunc init_func, fpe_functions[num_fpe_types].close_font = close_func; FreeFpeFunc free_func, fpe_functions[num_fpe_types].wakeup_fpe = wakeup_func; ResetFpeFunc reset_func, fpe_functions[num_fpe_types].list_fonts = list_func; OpenFontFunc open_func, fpe_functions[num_fpe_types].start_list_fonts_with_info = start_lfwi_func; CloseFontFunc close_func, fpe_functions[num_fpe_types].list_next_font_with_info = next_lfwi_func; ListFontsFunc list_func, fpe_functions[num_fpe_types].init_fpe = init_func; StartLfwiFunc start_lfwi_func, fpe_functions[num_fpe_types].free_fpe = free_func; NextLfwiFunc next_lfwi_func, fpe_functions[num_fpe_types].reset_fpe = reset_func; WakeupFpeFunc wakeup_func, fpe_functions[num_fpe_types].client_died = client_died; ClientDiedFunc client_died, fpe_functions[num_fpe_types].load_glyphs = load_glyphs; LoadGlyphsFunc load_glyphs, fpe_functions[num_fpe_types].start_list_fonts_and_aliases = StartLaFunc start_list_alias_func, start_list_alias_func; NextLaFunc next_list_alias_func, fpe_functions[num_fpe_types].list_next_font_or_alias = next_list_alias_func; SetPathFunc set_path_func) fpe_functions[num_fpe_types].set_path_hook = set_path_func; { return 0; return num_fpe_types++; } }
Those I do not mention here are like StoreFontClientFont() or DeleteFontClientID() of libXfont, rather empty. I then used
#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1040 #endif
in xorg-server-devel-1.14.99.0/dix/dixfonts.c to guard the mentioned functions from being compiled. It worked! (It seems to be a feature of MacPorts that the work directory is not removed when 'port upgrade' is invoked again.) The ten mentioned errors were removed, but I don't think that this is the proper way. Many of the listed functions in xorg-server-devel-1.14.99.0/dix/dixfonts.c seem to be useful, in contrast to their implementations in libXfont.
comment:21 Changed 11 years ago by ballapete (Peter "Pete" Dyballa)
Here are the other comparisons:
libXfont-1.4.6/src/stubs/csignal.c xorg-server-devel-1.14.99.0/dix/dixutils.c -------------------------------------------------------------------------------------------------- Bool ClientSignal(ClientPtr client) { SleepQueuePtr q; for (q = sleepQueue; q; q = q->next) weak Bool if (q->client == client) { ClientSignal(ClientPtr client) return QueueWorkProc(q->function, q->client, q->closure); { } return True; return FALSE; } } libXfont-1.4.6/src/stubs/servclient.c xorg-server-devel-1.14.99.0/dix/globals.c -------------------------------------------------------------------------------------------------- weak void *serverClient = 0; ClientPtr serverClient; libXfont-1.4.6/src/util/miscutil.c xorg-server-devel-1.14.99.0/dix/globals.c ---------------------------------------------------------------------------------------------------------- #ifndef NO_WEAK_SYMBOLS /* make sure everything initializes themselves at least once */ weak long serverGeneration = 1; unsigned long serverGeneration = 0; #endif libXfont-1.4.6/src/util/atom.c xorg-server-devel-1.14.99.0/dix/atom.c -------------------------------------------------------------------------------------------------------------------------- weak int Bool ValidAtom(Atom atom) ValidAtom(Atom atom) { { return (atom != None) && (atom <= lastAtom); return (atom != None) && (atom <= lastAtom); } } const char * NameForAtom(Atom atom) { NodePtr node; weak char * NameForAtom(Atom atom) if (atom > lastAtom) { return 0; if (atom != None && atom <= lastAtom) if ((node = nodeTable[atom]) == NULL) return reverseMap[atom]->name; return 0; return NULL; return node->string; } } weak Atom MakeAtom(const char *string, unsigned len, int makeit) { AtomListPtr a; Atom int hash; MakeAtom(const char *string, unsigned len, Bool makeit) int h = 0; { int r; NodePtr *np; unsigned i; hash = Hash (string, len); int comp; if (hashTable) unsigned int fp = 0; { h = hash & hashMask; np = &atomRoot; if (hashTable[h]) for (i = 0; i < (len + 1) / 2; i++) { { fp = fp * 27 + string[i]; if (hashTable[h]->hash == hash && hashTable[h]->len == len && fp = fp * 27 + string[len - 1 - i]; NameEqual (hashTable[h]->name, string, len)) } { while (*np != NULL) { return hashTable[h]->atom; if (fp < (*np)->fingerPrint) } np = &((*np)->left); r = (hash % rehash) | 1; else if (fp > (*np)->fingerPrint) for (;;) np = &((*np)->right); { else { /* now start testing the strings */ h += r; comp = strncmp(string, (*np)->string, (int) len); if (h >= hashSize) if ((comp < 0) || ((comp == 0) && (len < strlen((*np)->string)))) h -= hashSize; np = &((*np)->left); if (!hashTable[h]) else if (comp > 0) break; np = &((*np)->right); if (hashTable[h]->hash == hash && hashTable[h]->len == len && else NameEqual (hashTable[h]->name, string, len)) return (*np)->a; { } return hashTable[h]->atom; } } if (makeit) { } NodePtr nd; } } nd = malloc(sizeof(NodeRec)); if (!makeit) if (!nd) return None; return BAD_RESOURCE; a = malloc (sizeof (AtomListRec) + len + 1); if (lastAtom < XA_LAST_PREDEFINED) { if (a == NULL) { nd->string = string; fprintf(stderr, "MakeAtom(): Error: Couldn't allocate AtomListRec" } " (%ld)\n", (unsigned long)sizeof (AtomListRec) + len + 1); else { return None; nd->string = strndup(string, len); } if (!nd->string) { a->name = (char *) (a + 1); free(nd); a->len = len; return BAD_RESOURCE; strncpy (a->name, string, len); } a->name[len] = '\0'; } a->atom = ++lastAtom; if ((lastAtom + 1) >= tableLength) { a->hash = hash; NodePtr *table; if (hashUsed >= hashSize / 2) { table = realloc(nodeTable, tableLength * (2 * sizeof(NodePtr))); ResizeHashTable (); if (!table) { h = hash & hashMask; if (nd->string != string) { if (hashTable[h]) /* nd->string has been strdup'ed */ { free((char *) nd->string); r = (hash % rehash) | 1; } do { free(nd); h += r; return BAD_RESOURCE; if (h >= hashSize) } h -= hashSize; tableLength <<= 1; } while (hashTable[h]); nodeTable = table; } } } *np = nd; hashTable[h] = a; nd->left = nd->right = NULL; hashUsed++; nd->fingerPrint = fp; if (reverseMapSize <= a->atom) { nd->a = ++lastAtom; if (!ResizeReverseMap()) nodeTable[lastAtom] = nd; return None; return nd->a; } } reverseMap[a->atom] = a; else return a->atom; return None; } } =================================================================================================== libXfont-1.4.6/src/stubs/errorf.c xorg-server-devel-1.14.99.0/os/log.c -------------------------------------------------------------------------------------------------- void ErrorF(const char *f, ...) { va_list args; weak void va_start(args, f); ErrorF(const char *f, ...) VErrorF(f, args); { va_end(args); } } libXfont-1.4.6/src/stubs/fatalerror.c xorg-server-devel-1.14.99.0/os/log.c -------------------------------------------------------------------------------------------------- void FatalError(const char *f, ...) { va_list args; va_list args2; static Bool beenhere = FALSE; if (beenhere) ErrorF("\nFatalError re-entered, aborting\n"); else ErrorF("\nFatal server error:\n"); va_start(args, f); /* Make a copy for OsVendorFatalError */ va_copy(args2, args); #ifdef __APPLE__ { va_list apple_args; va_copy(apple_args, args); (void)vsnprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), f, apple_args); va_end(apple_args); } #endif VErrorF(f, args); va_end(args); ErrorF("\n"); if (!beenhere) OsVendorFatalError(f, args2); va_end(args2); if (!beenhere) { beenhere = TRUE; AbortServer(); weak void } FatalError(const char *f, ...) else { OsAbort(); } /*NOTREACHED*/} libXfont-1.4.6/src/stubs/gettime.c xorg-server-devel-1.14.99.0/os/utils.c -------------------------------------------------------------------------------------------------- CARD32 GetTimeInMillis(void) { struct timeval tv; #ifdef MONOTONIC_CLOCK struct timespec tp; static clockid_t clockid; if (!clockid) { #ifdef CLOCK_MONOTONIC_COARSE if (clock_getres(CLOCK_MONOTONIC_COARSE, &tp) == 0 && (tp.tv_nsec / 1000) <= 1000 && clock_gettime(CLOCK_MONOTONIC_COARSE, &tp) == 0) clockid = CLOCK_MONOTONIC_COARSE; else #endif if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0) clockid = CLOCK_MONOTONIC; else clockid = ~0L; } if (clockid != ~0L && clock_gettime(clockid, &tp) == 0) return (tp.tv_sec * 1000) + (tp.tv_nsec / 1000000L); weak unsigned long #endif GetTimeInMillis (void) { X_GETTIMEOFDAY(&tv); return 0; return (tv.tv_sec * 1000) + (tv.tv_usec / 1000); } } libXfont-1.4.6/src/stubs/setfntauth.c xorg-server-devel-1.14.99.0/os/utils.c -------------------------------------------------------------------------------------------------------------------------- /* Implement a simple-minded font authorization scheme. The authorization name is "hp-hostname-1", the contents are simply the host name. */ int set_font_authorizations(char **authorizations, int *authlen, pointer client) { #define AUTHORIZATION_NAME "hp-hostname-1" #if defined(TCPCONN) || defined(STREAMSCONN) static char *result = NULL; static char *p = NULL; if (p == NULL) { char hname[1024], *hnameptr; unsigned int len; #if defined(IPv6) && defined(AF_INET6) struct addrinfo hints, *ai = NULL; #else struct hostent *host; #ifdef XTHREADS_NEEDS_BYNAMEPARAMS _Xgethostbynameparams hparams; #endif #endif gethostname(hname, 1024); #if defined(IPv6) && defined(AF_INET6) memset(&hints, 0, sizeof(hints)); hints.ai_flags = AI_CANONNAME; if (getaddrinfo(hname, NULL, &hints, &ai) == 0) { hnameptr = ai->ai_canonname; } else { hnameptr = hname; } #else host = _XGethostbyname(hname, hparams); if (host == NULL) hnameptr = hname; else hnameptr = host->h_name; #endif len = strlen(hnameptr) + 1; result = malloc(len + sizeof(AUTHORIZATION_NAME) + 4); p = result; *p++ = sizeof(AUTHORIZATION_NAME) >> 8; *p++ = sizeof(AUTHORIZATION_NAME) & 0xff; *p++ = (len) >> 8; *p++ = (len & 0xff); memmove(p, AUTHORIZATION_NAME, sizeof(AUTHORIZATION_NAME)); p += sizeof(AUTHORIZATION_NAME); memmove(p, hnameptr, len); p += len; #if defined(IPv6) && defined(AF_INET6) if (ai) { freeaddrinfo(ai); } #endif } *authlen = p - result; *authorizations = result; weak int return 1; set_font_authorizations(char **authorizations, int *authlen, ClientPtr client) #else /* TCPCONN */ { return 0; return 0; #endif /* TCPCONN */ } }
Pretty clear is that:
libX11-1.6.1/src/xkb/XKBGAlloc.c xorg-server-devel-1.14.99.0/xkb/XKBGAlloc.c -------------------------------------------------------------------------------------------------- void XkbFreeGeomOverlayKeys(XkbOverlayRowPtr row,int first,int count,Bool freeAll) { _XkbFreeGeomLeafElems(freeAll,first,count, &row->num_keys,&row->sz_keys, (char **)&row->keys, sizeof(XkbOverlayKeyRec)); return; }
Both C source files use exactly the same code. So it should be possible to build xorg-server-1.13.x which has only this one complaint. If it uses the same code as xorg-server-devel 1.14.99.0. I'll to build that version with the patch as mentioned above.
comment:22 Changed 11 years ago by ballapete (Peter "Pete" Dyballa)
The patch works, but libXfont is now different:
libtool: link: /usr/bin/gcc-4.0 -std=gnu99 -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wcast-qual -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -fno-strict-aliasing -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/opt/local/include -I/opt/local/include/pixman-1 -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I../../../include -I../../../include -I../../../Xext -I../../../damageext -I../../../xfixes -I../../../Xi -I../../../mi -I../../../miext/sync -I../../../miext/shadow -I../../../miext/damage -I../../../render -I../../../randr -I../../../fb -I../../../dbe -pipe -Os -arch ppc -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA -Objc -Wl,-u -Wl,_miDCInitialize -Wl,-framework -Wl,Carbon -Wl,-framework -Wl,Cocoa -Wl,-framework -Wl,CoreAudio -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,OpenGL -Wl,-headerpad_max_install_names -arch ppc -o X11.bin bundle-main.o strndup.o mach_startupServer.o mach_startupUser.o ../../../dix/.libs/dixfonts.o -lXplugin -L/opt/local/lib ../../../hw/xquartz/.libs/libXquartz.a ../../../hw/xquartz/xpr/.libs/libXquartzXpr.a ../../../miext/rootless/.libs/librootless.a ../../../hw/xquartz/pbproxy/.libs/libxpbproxy.a /opt/local/lib/libAppleWM.dylib /opt/local/lib/libXext.dylib /opt/local/lib/libxcb.dylib /opt/local/lib/libXfixes.dylib /opt/local/lib/libX11.dylib ../../../dix/.libs/libmain.a ../../../fb/.libs/libfb.a ../../../xfixes/.libs/libxfixes.a ../../../Xext/.libs/libXext.a ../../../dbe/.libs/libdbe.a ../../../randr/.libs/librandr.a ../../../render/.libs/librender.a ../../../damageext/.libs/libdamageext.a ../../../miext/sync/.libs/libsync.a ../../../miext/damage/.libs/libdamage.a ../../../miext/shadow/.libs/libshadow.a ../../../Xi/.libs/libXi.a ../../../xkb/.libs/libxkb.a ../../../xkb/.libs/libxkbstubs.a ../../../dix/.libs/libdix.a ../../../mi/.libs/libmi.a ../../../os/.libs/libos.a ../../../hw/xquartz/GL/.libs/libCGLCore.a ../../../glx/.libs/libglx.a ../../../record/.libs/librecord.a /opt/local/lib/libpixman-1.dylib /opt/local/lib/libXfont.dylib /opt/local/lib/libXau.dylib /opt/local/lib/libXdmcp.dylib -lm -framework ApplicationServices /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _DeleteFontClientID ../../../dix/.libs/dixfonts.o definition of _DeleteFontClientID in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _DeleteFontClientID /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _ErrorF ../../../os/.libs/libos.a(log.o) definition of _ErrorF in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _ErrorF /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _FatalError ../../../os/.libs/libos.a(log.o) definition of _FatalError in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _FatalError /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _GetClientResolutions ../../../dix/.libs/dixfonts.o definition of _GetClientResolutions in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetClientResolutions /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _GetDefaultPointSize ../../../dix/.libs/dixfonts.o definition of _GetDefaultPointSize in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetDefaultPointSize /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _GetNewFontClientID ../../../dix/.libs/dixfonts.o definition of _GetNewFontClientID in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetNewFontClientID /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _GetTimeInMillis ../../../os/.libs/libos.a(utils.o) definition of _GetTimeInMillis in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _GetTimeInMillis /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _RegisterFPEFunctions ../../../dix/.libs/dixfonts.o definition of _RegisterFPEFunctions in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _RegisterFPEFunctions /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _StoreFontClientFont ../../../dix/.libs/dixfonts.o definition of _StoreFontClientFont in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _StoreFontClientFont /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _client_auth_generation ../../../dix/.libs/dixfonts.o definition of _client_auth_generation in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _client_auth_generation /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _find_old_font ../../../dix/.libs/dixfonts.o definition of _find_old_font in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _find_old_font /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _init_fs_handlers ../../../dix/.libs/dixfonts.o definition of _init_fs_handlers in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _init_fs_handlers /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _remove_fs_handlers ../../../dix/.libs/dixfonts.o definition of _remove_fs_handlers in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _remove_fs_handlers /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning multiple definitions of symbol _set_font_authorizations ../../../os/.libs/libos.a(utils.o) definition of _set_font_authorizations in section (__TEXT,__text) /opt/local/lib/libXfont.dylib(single module) definition of _set_font_authorizations /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _ClientSignal /opt/local/lib/libXfont.dylib(single module) definition of _ClientSignal ../../../dix/.libs/libdix.a(dixutils.o) definition of _ClientSignal in section (__TEXT,__text) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _serverClient /opt/local/lib/libXfont.dylib(single module) definition of _serverClient ../../../dix/.libs/libdix.a(globals.o) definition of _serverClient in section (__DATA,__common) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _serverGeneration /opt/local/lib/libXfont.dylib(single module) definition of _serverGeneration ../../../dix/.libs/libdix.a(globals.o) definition of _serverGeneration in section (__DATA,__data) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _MakeAtom /opt/local/lib/libXfont.dylib(single module) definition of _MakeAtom ../../../dix/.libs/libdix.a(atom.o) definition of _MakeAtom in section (__TEXT,__text) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _NameForAtom /opt/local/lib/libXfont.dylib(single module) definition of _NameForAtom ../../../dix/.libs/libdix.a(atom.o) definition of _NameForAtom in section (__TEXT,__text) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: multiple definitions of symbol _ValidAtom /opt/local/lib/libXfont.dylib(single module) definition of _ValidAtom ../../../dix/.libs/libdix.a(atom.o) definition of _ValidAtom in section (__TEXT,__text) collect2: ld returned 1 exit status
comment:23 Changed 11 years ago by larryv (Lawrence Velázquez)
Cc: | mikeformac@… added |
---|
Has duplicate #40481.
comment:26 follow-up: 27 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)
If that's the case, then r115283 will take care of this now.
comment:27 Changed 11 years ago by ballapete (Peter "Pete" Dyballa)
I did not try again to build xorg-server-1.13.0 but version 1.14.4 – and it was successful! And also xorg-server-devel -1.15.0 built now.
xorg-server main.log