Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mono compile fail, for unity3d #82

Open
GoogleCodeExporter opened this issue Apr 7, 2015 · 3 comments
Open

mono compile fail, for unity3d #82

GoogleCodeExporter opened this issue Apr 7, 2015 · 3 comments

Comments

@GoogleCodeExporter
Copy link

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
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant