Bug 5066 - Xvfb doesn't link on Darwin in modular
Summary: Xvfb doesn't link on Darwin in modular
Status: RESOLVED WORKSFORME
Alias: None
Product: xorg
Classification: Unclassified
Component: Build/Modular (show other bugs)
Version: 6.99.99.902 (7.0 RC2)
Hardware: PowerPC Mac OS X (All)
: high normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-16 15:58 UTC by Adam Jackson
Modified: 2008-05-06 01:10 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Adam Jackson 2005-11-16 15:58:47 UTC
gcc -DHAVE_DIX_CONFIG_H -DNO_HW_ONLY_EXTS -DNO_MODULE_EXTS -DXFree86Server
-D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/opt/debrix/include
-I/usr/local/include/freetype2 -I../../include -I../../include -I../../Xext
-I../../composite -I../../damageext -I../../xfixes -I../../Xi -I../../mi
-I../../miext/shadow -I../../miext/damage -I../../render -I../../randr
-I../../fb -I../../lbx -I/opt/debrix/include -g -O2 -o Xvfb InitInput.o
InitOutput.o dpmsstubs.o stubs.o miinitext.o fbcmap.o  ../../fb/.libs/libfb.a
../../mi/.libs/libmi.a ../../xfixes/.libs/libxfixes.a ../../Xext/.libs/libXext.a
../../dbe/.libs/libdbe.a ../../record/.libs/librecord.a
../../GL/glx/.libs/libglx.a ../../GL/mesa/.libs/libGLcore.a
../../render/.libs/librender.a ../../randr/.libs/librandr.a
../../damageext/.libs/libdamageext.a ../../miext/damage/.libs/libdamage.a
../../miext/cw/.libs/libcw.a ../../miext/shadow/.libs/libshadow.a
../../miext/layer/.libs/liblayer.a ../../Xi/.libs/libXi.a
../../xkb/.libs/libxkb.a ../../xkb/.libs/libxkbstubs.a ../../lbx/.libs/liblbx.a
-L/opt/debrix/lib /opt/debrix/lib/liblbxutil.1.0.0.dylib
../../composite/.libs/libcomposite.a ../../dix/.libs/libxpstubs.a
../../os/.libs/libos.a -L/usr/local/lib /opt/debrix/lib/libXfont.1.4.1.dylib
/usr/local/lib/libfreetype.dylib /opt/debrix/lib/libfontenc.1.0.0.dylib
/opt/debrix/lib/libxkbfile.1.0.0.dylib /opt/debrix/lib/libX11.6.2.0.dylib
/opt/debrix/lib/libXau.6.0.0.dylib /opt/debrix/lib/libXdmcp.6.0.0.dylib -lz -lm
ld: warning multiple definitions of symbol _Xfree
../../os/.libs/libos.a(utils.o) definition of _Xfree in section (__TEXT,__text)
/opt/debrix/lib/libXfont.1.4.1.dylib(miscutil.o) definition of _Xfree
ld: warning multiple definitions of symbol _Xrealloc
../../os/.libs/libos.a(utils.o) definition of _Xrealloc in section (__TEXT,__text)
/opt/debrix/lib/libXfont.1.4.1.dylib(miscutil.o) definition of _Xrealloc
ld: warning multiple definitions of symbol _Xalloc
../../os/.libs/libos.a(utils.o) definition of _Xalloc in section (__TEXT,__text)
/opt/debrix/lib/libXfont.1.4.1.dylib(miscutil.o) definition of _Xalloc
ld: warning multiple definitions of symbol _Xcalloc
../../os/.libs/libos.a(utils.o) definition of _Xcalloc in section (__TEXT,__text)
/opt/debrix/lib/libXfont.1.4.1.dylib(miscutil.o) definition of _Xcalloc
ld: Undefined symbols:
_main
_InitKeyboardDeviceStruct
_InitPointerDeviceStruct
_NoopDDA
__AddInputDevice
__RegisterKeyboardDevice
__RegisterPointerDevice
_screenInfo
_AddScreen
_LookupIDByType
_PixmapWidthPaddingInfo
_QueryColors
_SwapLongs
_TellGainedMap
_TellLostMap
_WalkTree
_display
_monitorResolution
_FakeClientID
_AllocateGCPrivate
_AllocateScreenPrivateIndex
_AllocateWindowPrivate
_AllocateWindowPrivateIndex
_WindowTable
_AllocatePixmap
_globalSerialNumber
_NotClippedByChildren
_DoChangeGC
_ValidateGC
_NewCurrentScreen
_PointerConfinedToScreen
_SaveScreens
_SetInputCheck
_screenIsSaved
_ChangeGC
_CreateGC
_FindWindowWithOptional
_FreeGC
_FreeScratchGC
_GetScratchGC
_AllocateGCPrivateIndex
_CopyGC
_AllocColor
_CreateColormap
_defaultColorVisualClass
_AddResource
_CreateNewResourceType
_DeliverEvents
_TryClientEvents
_dixChangeGC
_FakeAllocColor
_FakeFreeColor
_CheckCursorConfinement
_GravityTranslate
_MoveWindowInStack
_ResizeChildrenWinSize
_SetBorderSize
_SetWinSize
_TraverseTree
_UnmapWindow
_WindowsRestructured
_deltaSaveUndersViewable
_numSaveUndersViewable
_SendVisibilityNotify
_AddCallback
_AddExtension
_AllocateClientPrivate
_AllocateClientPrivateIndex
_ClientStateCallback
_DeleteCallback
_EventSwapVector
_StandardMinorOpcode
_ChangeResourceValue
_FreeCursor
_FreeResource
_GetSpritePosition
_LookupClientResourceComplex
_ReplySwapVector
_SecurityLookupIDByType
_SecurityLookupWindow
_WindowHasNewCursor
_WriteEventsToClient
_clients
_currentMaxClients
_currentTime
_AlterSaveSetForClient
_LegalNewID
_MakeWindowOptional
_SwapShorts
_SelectionCallback
_DeclareExtensionSecurity
_maxBigRequestSize
_permitOldBugs
_ConnectionInfo
_CreateConnectionBlock
_CreateNewResourceClass
_LookupWindow
_ProcVector
_connBlockScreenStart
_connSetupPrefix
_dixScreenOrigins
_savedScreenInfo
_FindAllClientResources
_FindClientResourcesByType
_RegisterResourceName
_ResourceNames
_TypeMask
_lastResourceType
_ChangeWindowAttributes
_CheckWindowOptionalNeed
_CreateWindow
_LookupDrawable
_MapWindow
_Ones
_ScreenSaverBlanking
_ScreenSaverTime
_SecurityLookupIDByClass
_UpdateCurrentTime
_UpdateCurrentTimeIf
_lastDeviceEventTime
_CallCallbacks
_CloseDownClient
_DontPropagateMasks
_FreeScratchPixmapHeader
_GetScratchPixmapHeader
_GetSpriteWindow
_IsParent
_ProcBadRequest
_SwappedProcVector
_inputInfo
_VerifyRectOrder
_AllocatePixmapPrivate
_AllocatePixmapPrivateIndex
_LookupClient
_RegisterBlockAndWakeupHandlers
_RemoveBlockAndWakeupHandlers
_dispatchException
_isItTimeToYield
_GetXIDList
_GetXIDRange
_Swap32Write
_GetCurrentRootWindow
_GetSpriteCursor
_LookupKeyboardDevice
_LookupPointerDevice
_NotImplemented
_XineramaGetCursorScreen
_SwapColorItem
_AllocateDevicePrivate
_AllocateDevicePrivateIndex
_CoreProcessKeyboardEvent
_CoreProcessPointerEvent
_ServerGrabCallback
_xeviegrabState
_xeviehot
_xeviewin
_ClientTimeToServerTime
_CompareTimeStamps
_SendErrorToClient
_SecurityLookupDrawable
_DeviceEventCallback
_EventCallback
_LookupIDByClass
_MinorOpcodeOfRequest
_SwapConnSetupInfo
_SwapConnSetupPrefix
_AddExtensionAlias
_FreeResourceByType
_assert
_CreateScratchGC
_FreeColors
_AllocCursorARGB
_CompareISOLatin1Lowered
_ScreenRestructured
_ReplyNotSwappd
_SKeyButtonPtrEvent
_SetMaskForEvent
_ActivateKeyboardGrab
_AddPassiveGrabToList
_AllModifierKeysAreUp
_BadDeviceMap
_CheckDeviceGrabs
_CreateGrab
_DeactivateKeyboardGrab
_DeliverDeviceEvents
_DeliverEventsToWindow
_DeliverFocusedEvent
_DeliverGrabbedEvent
_DoFocusEvents
_NoticeEventTime
_SetKeySymsMap
_AllowSome
_defaultKeyboardControl
_defaultPointerControl
_InitFocusClassDeviceStruct
_InitKbdFeedbackClassDeviceStruct
_SendMappingNotify
_InitButtonClassDeviceStruct
_InitPtrFeedbackClassDeviceStruct
_CopySwap32Write
_GrabDevice
_EnableDevice
_lastEvent
_SetInputFocus
_DeletePassiveGrabFromList
_ChangeWindowProperty
_QueueWorkProc
_FixKeyState
_LookupDevice
_InitialVector
_GetGeometry
_GetWindowAttributes
_IncrementClientCount
_QueryFont
_SendConnSetup
_CopySwap16Write
_AllocateColormapPrivateIndex
_DoGetImage
_ProcInitialConnection
_SwapCharInfo
_argvGlobal
_DPMSDisabledSwitch
_DPMSEnabledSwitch
_SmartScheduleDisable
_SmartScheduleInterval
_SmartScheduleMaxSlice
_SmartScheduleSlice
_SmartScheduleTime
_TimeOutValue
_blackRoot
_defaultBackingStore
_defaultCursorFont
_defaultFontPath
_defaultScreenSaverBlanking
_defaultScreenSaverInterval
_defaultScreenSaverTime
_defaultTextFont
_disableBackingStore
_disableSaveUnders
_dispatchExceptionAtReset
_enableBackingStore
_logoScreenSaver
_rgbPath
_MarkClientException
_NextAvailableClient
_BlockHandler
_DPMSEnabled
_DPMSOffTime
_DPMSPowerLevel
_DPMSStandbyTime
_DPMSSuspendTime
_ProcessWorkQueue
_ScreenSaverInterval
_WakeupHandler
_checkForInput
_workQueue
_defaultDisplayClass
_WriteSConnSetupPrefix
make[3]: *** [Xvfb] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
/debrix %
Comment 1 Adam Jackson 2005-11-16 16:07:48 UTC
pretty awesome how dix/libdix.a is just totally not on the link line.
Comment 2 Adam Jackson 2005-11-16 16:34:55 UTC
moving the definition of XORG_CORE_LIBS in configure.ac up to global scope
helps, but now i bomb out in libglx because assert still isn't defined.  wtf, it
should be a macro...
Comment 3 Adam Jackson 2005-11-16 16:52:55 UTC
so the problem is that <assert.h> gets included multiple times.  by the time we
get to glx_ansic.h it's already been included.  in the non-loadable case, we
#undef assert, and then include the header again.  since the header has
multiple-include protection, it gets skipped on the second inclusion, which
means assert is never defined and thus looks like a function call.

yuck.

glx_ansic.h has been this way since the initial PI import back before 4.0.  it's
really not clear to me how to fix this better, but we should be able to just
take out the #undef stanza before the #include of assert.h in glx_ansic.h.  i think.
Comment 4 Adam Jackson 2005-12-20 03:02:07 UTC
still an issue in HEAD.

while the fix i described in comment #3 should work, it shouldn't be necessary
either, since this builds in the monolith just fine.
Comment 5 Daniel Stone 2007-02-27 01:28:46 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.