Bug 586040

Summary: Error on building at-spi-sharp-1.0 with external ndesk-dbus-0.6.1a
Product: [Mono] UI Automation Reporter: Funda Wang <fundawang>
Component: at-spi-sharpAssignee: E-mail List <mono-a11y-bugs>
Status: NEW --- QA Contact: E-mail List <mono-a11y-qa>
Severity: Major    
Priority: P5 - None    
Version: Release 1.0   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Fix build with --enable-external-ndesk-dbus
Better patch

Description Funda Wang 2010-03-06 03:20:21 UTC
User-Agent:       Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.5.22 Version/10.50

$ ./configure --prefix=/usr --libdir=/usr/lib --enable-external-ndesk-dbus
<snip>
checking for NDESK_DBUS... yes
$ make
Making all in at-spi
make[1]: Entering directory `/tmp/mono-uiadbus/BUILD/at-spi-sharp-1.0/at-spi'
mkdir -p bin
gmcs -noconfig -unsafe -codepage:utf8 -warn:4 -optimize+ -debug
"-define:DEBUG" -keyfile:../mono-uia.snk -out:bin/at-spi-sharp.dll
-target:library './Accessible.cs' './Action.cs' './Application.cs'
'./AssemblyInfo.cs' './Component.cs' './Desktop.cs'
'./DeviceEventController.cs' './Document.cs' './EditableText.cs'
'./EventBase.cs' './EventDocument.cs' './EventFocus.cs'
'./EventKeyboard.cs' './EventMouse.cs' './EventObject.cs'
'./EventTerminal.cs' './EventWindow.cs' './Hyperlink.cs'
'./Hypertext.cs' './Image.cs' './Registry.cs' './RelationSet.cs'
'./Role.cs' './Selection.cs' './StateSet.cs' './StateType.cs'
'./Table.cs' './Text.cs' './UncachedChildren.cs' './Value.cs'
-r:/usr/lib/mono/ndesk-dbus-1.0/NDesk.DBus.dll
./EventBase.cs(36,32): error CS0246: The type or namespace name
`Queue`1' could not be found. Are you missing a using directive or an
assembly reference?
./Registry.cs(51,33): error CS0246: The type or namespace name
`Queue`1' could not be found. Are you missing a using directive or an
assembly reference?
Compilation failed: 2 error(s), 0 warnings

If I disable building without --enable-external-ndesk-dbus. It builds fine. If at-spi-sharp is not compatible with external ndesk-dbus 0.6.1a, then it should not be set as valid pkgconfig requirement.

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Comment 1 Sanford Armstrong 2010-03-06 04:27:36 UTC
1) This error doesn't seem to have anything to do with ndesk-dbus per se...I think a reference is not getting set up right when --enable-external-ndesk-dbus is enabled.  Will look into it.

2) at-spi-sharp may be compilable with ndesk-dbus 0.6.1a, but chances are it uses features that do not work properly except in our bundled version.  The --enable-external flag is really meant for testing purposes, not for packages.  Please rest assured that we are actively working on stabilizing our bundled version (which is available on gitorious in the mono-a11y branch of dbus-sharp) so that we can assist with a new upstream release of ndesk-dbus that contains all the necessary fixes.
Comment 2 Sanford Armstrong 2010-03-06 04:33:33 UTC
Created attachment 346945 [details]
Fix build with --enable-external-ndesk-dbus
Comment 3 Sanford Armstrong 2010-03-06 04:34:39 UTC
Not perfect, now I get this error, but I'm done for the night:

./ActionTest.cs(36,17): error CS0104: `Action' is an ambiguous reference between `System.Action' and `Atspi.Action'
Comment 4 Sanford Armstrong 2010-03-06 12:02:59 UTC
Created attachment 346955 [details]
Better patch

I noticed that if you autogen with --enable-external-ndesk-dbus, make distcheck fails.  This is undoubtedly also a problem in UiaDbus.

make[2]: *** No rule to make target `../../ndesk-dbus/*.cs', needed by `bin/at-spi-sharp.dll'.  Stop.