evgenekov / protobuf-csharp-port

Automatically exported from code.google.com/p/protobuf-csharp-port
Other
0 stars 0 forks source link

mono compile fail, for unity3d #82

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.

~/BuildSrc/protobuf-csharp-port-2.4.1.521/mono$ ./buildall.sh
Building main library
../src/ProtocolBuffers/GeneratedMessage.cs(55,26): error CS0314: The type 
`TBuilder' cannot be used as type parameter `TBuilder' in the generic type or 
method `Google.ProtocolBuffers.GeneratedBuilder<TMessage,TBuilder>'. There is 
no boxing or type parameter conversion from `TBuilder' to 
`Google.ProtocolBuffers.GeneratedBuilder<TMessage,TBuilder>'
../src/ProtocolBuffers/GeneratedBuilder.cs(50,35): (Location of the symbol 
related to previous error)
../src/ProtocolBuffers/GeneratedMessage.cs(55,26): error CS0310: The type 
`TBuilder' must have a public parameterless constructor in order to use it as 
parameter `TBuilder' in the generic type or method 
`Google.ProtocolBuffers.GeneratedBuilder<TMessage,TBuilder>'
../src/ProtocolBuffers/CustomSerialization.cs(161,19): (Location of the symbol 
related to previous error)
../src/ProtocolBuffers/ExtendableMessage.cs(45,26): error CS0314: The type 
`TMessage' cannot be used as type parameter `TMessage' in the generic type or 
method `Google.ProtocolBuffers.GeneratedMessage<TMessage,TBuilder>'. There is 
no boxing or type parameter conversion from `TMessage' to 
`Google.ProtocolBuffers.GeneratedMessage<TMessage,TBuilder>'
../src/ProtocolBuffers/CustomSerialization.cs(161,19): (Location of the symbol 
related to previous error)
../src/ProtocolBuffers/ExtendableMessage.cs(46,26): error CS0314: The type 
`TBuilder' cannot be used as type parameter `TBuilder' in the generic type or 
method `Google.ProtocolBuffers.GeneratedBuilder<TMessage,TBuilder>'. There is 
no boxing or type parameter conversion from `TBuilder' to 
`Google.ProtocolBuffers.GeneratedBuilder<TMessage,TBuilder>'
../src/ProtocolBuffers/GeneratedBuilder.cs(50,35): (Location of the symbol 
related to previous error)
../src/ProtocolBuffers/ExtendableMessage.cs(46,26): error CS0310: The type 
`TBuilder' must have a public parameterless constructor in order to use it as 
parameter `TBuilder' in the generic type or method 
`Google.ProtocolBuffers.GeneratedBuilder<TMessage,TBuilder>'
../src/ProtocolBuffers/CustomSerialization.cs(164,19): (Location of the symbol 
related to previous error)
../src/ProtocolBuffers/GeneratedBuilderLite.cs(48,26): error CS0314: The type 
`TMessage' cannot be used as type parameter `TMessage' in the generic type or 
method `Google.ProtocolBuffers.GeneratedMessageLite<TMessage,TBuilder>'. There 
is no boxing or type parameter conversion from `TMessage' to 
`Google.ProtocolBuffers.GeneratedMessageLite<TMessage,TBuilder>'
../src/ProtocolBuffers/GeneratedMessageLite.cs(50,35): (Location of the symbol 
related to previous error)
Compilation failed: 6 error(s), 0 warnings
Building main library tests
error CS0006: Metadata file `bin/Google.ProtocolBuffers.dll' could not be found
Compilation failed: 1 error(s), 0 warnings
Running main library tests
NUnit version 2.5.0.9122 ()
Copyright (C) 2002-2008 Charlie Poole.\r\nCopyright (C) 2002-2004 James W. 
Newkirk, Michael C. Two, Alexei A. Vorontsov.\r\nCopyright (C) 2000-2002 Philip 
Craig.\r\nAll Rights Reserved.

Runtime Environment - 
   OS Version: Unix 3.11.0.17
  CLR Version: 2.0.50727.1433 ( 2.10.8.1 (Debian 2.10.8.1-5ubuntu2) )

ProcessModel: Default    DomainUsage: Single
Execution Runtime: mono-2.0.50727.1433
Could not load file or assembly 
'/home/pingfan/BuildSrc/protobuf-csharp-port-2.4.1.521/mono/bin/Google.ProtocolB
uffers.Test.dll' or one of its dependencies. The system cannot find the file 
specified.
Building ProtoGen
error CS0006: Metadata file `bin/Google.ProtocolBuffers.dll' could not be found
Compilation failed: 1 error(s), 0 warnings
Building ProtoGen tests
error CS0006: Metadata file `bin/Google.ProtocolBuffers.dll' could not be found
error CS0006: Metadata file `bin/ProtoGen.exe' could not be found
Compilation failed: 2 error(s), 0 warnings
Running ProtoGen tests
NUnit version 2.5.0.9122 ()
Copyright (C) 2002-2008 Charlie Poole.\r\nCopyright (C) 2002-2004 James W. 
Newkirk, Michael C. Two, Alexei A. Vorontsov.\r\nCopyright (C) 2000-2002 Philip 
Craig.\r\nAll Rights Reserved.

Runtime Environment - 
   OS Version: Unix 3.11.0.17
  CLR Version: 2.0.50727.1433 ( 2.10.8.1 (Debian 2.10.8.1-5ubuntu2) )

ProcessModel: Default    DomainUsage: Single
Execution Runtime: mono-2.0.50727.1433
Could not load file or assembly 
'/home/pingfan/BuildSrc/protobuf-csharp-port-2.4.1.521/mono/bin/Google.ProtocolB
uffers.ProtoGen.Test.dll' or one of its dependencies. The system cannot find 
the file specified.

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?

protobuf-csharp-port-2.4.1.521

Please provide any additional information below.

Original issue reported on code.google.com by Ping.Fan...@gmail.com on 24 Mar 2014 at 8:50

GoogleCodeExporter commented 9 years ago
Do you know if this is some aspect of Unity3D? I'll try to reproduce this 
myself, although I may well not have the exact same version of Mono...

Original comment by jonathan.skeet on 24 Mar 2014 at 9:03

GoogleCodeExporter commented 9 years ago
thanks a lot! 

my os platform is ubuntu 13.10 x64, which carry 2.10.8.1-5ubuntu2 version.

Specifically, unity3d can running well on windows, but when publish unity3d 
project on ios, it will make ITouch screen black. when removing protobuf-csharp 
lib,unity3d project  run well on ios.

Original comment by Ping.Fan...@gmail.com on 24 Mar 2014 at 9:42

GoogleCodeExporter commented 9 years ago
If you use the stock Google.ProtocolBuffers.dll assembly (the released one) 
does that work? I wonder whether it's just a Mono compiler issue (I know we've 
had some in the past). Do the generated types compile?

Original comment by jonathan.skeet on 5 Apr 2014 at 3:02