Bug #47354 Declare default MySqlPacket() constructor as public
Submitted: 16 Sep 2009 8:41 Modified: 18 Sep 2009 13:27
Reporter: Tonci Grgin Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / NET Severity:S3 (Non-critical)
Version:6.1 OS:Windows (W2K8x64)
Assigned to: Reggie Burnett CPU Architecture:Any

[16 Sep 2009 8:41] Tonci Grgin
Description:
Trying to build c/NET 6.1 MySQL.Data from sources produces following output (and fails):
------ Build started: Project: MySql.Data, Configuration: Debug Any CPU ------
Project file contains ToolsVersion="4.0", which is not supported by this version of MSBuild. Treating the project as if it had ToolsVersion="3.5".
C:\Windows\Microsoft.NET\Framework\v3.5\Csc.exe /noconfig /unsafe- /checked- /nowarn:1591,1701,1702 /nostdlib- /warn:4 /doc:MySql.Data.xml /baseaddress:285212672 /define:TRACE;DEBUG;WINDOWS /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Configuration.Install.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Design.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Transactions.dll /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /debug+ /filealign:4096 /optimize- /out:obj\Debug\MySql.Data.dll /resource:obj\Debug\MySql.Data.MySqlClient.Properties.Resources.resources /resource:Properties\ReservedWords.txt,MySql.Data.MySqlClient.Properties.ReservedWords.txt /target:library /warnaserror- Properties\AssemblyInfo.cs Source\CharSetMap.cs Source\command.cs Source\CommandBuilder.cs Source\common\ContextString.cs Source\common\NamedPipeStream.cs Source\common\NativeMethods.cs Source\common\Platform.cs Source\common\SHA1.cs Source\common\SharedMemoryStream.cs Source\common\StreamCreator.cs Source\common\Version.cs Source\CompressedStream.cs Source\Connection.cs Source\Crypt.cs Source\dataadapter.cs Source\datareader.cs Source\Driver.cs Source\Exception.cs Source\Field.cs Source\Installer.cs Source\ISSchemaProvider.cs Source\Logger.cs Source\MySqlClientFactory.cs Source\MySqlConnectionStringBuilder.cs Source\MysqlDefs.cs Source\MySqlError.cs Source\MySqlHelper.cs Source\MySqlPool.cs Source\MySqlPoolManager.cs Source\MySqlPromotableTransaction.cs Source\MySqlStream.cs Source\NativeDriver.cs Source\parameter.cs Source\parameter_collection.cs Source\PerformanceMonitor.cs Source\PreparableStatement.cs Source\ProcedureCache.cs Source\SchemaProvider.cs Source\Statement.cs Source\StoredProcedure.cs Source\transaction.cs Source\Types\MetaData.cs Source\Types\MySqlBinary.cs Source\Types\MySqlBit.cs Source\Types\MySqlByte.cs Source\Types\MySqlConversionException.cs Source\Types\MySqlDateTime.cs Source\Types\MySqlDecimal.cs Source\Types\MySqlDouble.cs Source\Types\MySqlInt16.cs Source\Types\MySqlInt32.cs Source\Types\MySqlInt64.cs Source\Types\MySqlSingle.cs Source\Types\MySqlString.cs Source\Types\MySqlTime.cs Source\Types\MySqlUByte.cs Source\Types\MySqlUInt16.cs Source\Types\MySqlUInt32.cs Source\Types\MySqlUInt64.cs Source\Types\MySqlValue.cs Source\UsageAdvisor.cs Source\zlib\Adler32.cs Source\zlib\Deflate.cs Source\zlib\InfBlocks.cs Source\zlib\InfCodes.cs Source\zlib\Inflate.cs Source\zlib\InfTree.cs Source\zlib\StaticTree.cs Source\zlib\SupportClass.cs Source\zlib\Tree.cs Source\zlib\ZInputStream.cs Source\zlib\Zlib.cs Source\zlib\ZOutputStream.cs Source\zlib\ZStream.cs Source\zlib\ZStreamException.cs Properties\Resources.Designer.cs Properties\VersionInfo.cs Source\common\Cache.cs Source\common\MySqlTokenizer.cs Source\BulkLoader.cs Source\MySqlPacket.cs Source\MySqlScript.cs Source\ResultSet.cs Source\Types\MySqlGuid.cs
...\clones\6.1\MySql.Data\Provider\Source\Connection.cs(482,17): warning CS0618: 'MySql.Data.MySqlClient.MySqlConnectionStringBuilder.UseOldSyntax' is obsolete: 'Use Old Syntax is no longer needed.  See documentation'
...\clones\6.1\MySql.Data\Provider\Source\NativeDriver.cs(519,29): error CS0122: 'MySql.Data.MySqlClient.MySqlPacket.MySqlPacket()' is inaccessible due to its protection level
...\clones\6.1\MySql.Data\Provider\Source\MySqlPacket.cs(37,17): (Related location)
...\clones\6.1\MySql.Data\Provider\Source\MySqlConnectionStringBuilder.cs(1276,28): warning CS0618: 'MySql.Data.MySqlClient.MySqlConnectionStringBuilder.UseOldSyntax' is obsolete: 'Use Old Syntax is no longer needed.  See documentation'
...\clones\6.1\MySql.Data\Provider\Source\MySqlConnectionStringBuilder.cs(1312,28): warning CS0618: 'MySql.Data.MySqlClient.MySqlConnectionStringBuilder.Encrypt' is obsolete: 'Use Ssl Mode instead.'
...\clones\6.1\MySql.Data\Provider\Source\CommandBuilder.cs(34,9): warning CS1574: XML comment on 'MySql.Data.MySqlClient.MySqlCommandBuilder' has cref attribute 'RefreshSchema' that could not be resolved
...\clones\6.1\MySql.Data\Provider\Source\MySqlPacket.cs(191,17): warning CS0675: Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first
...\clones\6.1\MySql.Data\Provider\Source\MySqlPacket.cs(312,35): warning CS0652: Comparison to integral constant is useless; the constant is outside the range of type 'byte'

Compile complete -- 1 errors, 6 warnings
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

How to repeat:
Try compiling c/NET 6.1 from sources.

Suggested fix:
-
[16 Sep 2009 8:43] Tonci Grgin
Extracting line with error for better visibility:
...\clones\6.1\MySql.Data\Provider\Source\NativeDriver.cs(519,29): error CS0122:
'MySql.Data.MySqlClient.MySqlPacket.MySqlPacket()' is inaccessible due to its protection level
[16 Sep 2009 19:06] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/83523

772 Reggie Burnett	2009-09-16
      - fixed compilation problem in NativeDriver inside ExecuteDirect  (bug #47354)
[16 Sep 2009 19:06] Reggie Burnett
fixed in 6.1.3
[18 Sep 2009 13:27] Tony Bedford
An entry was added to the 6.1.3 changelog:

Attempting to build MySQL Connector/NET 6.1 MySQL.Data from source code on Windows failed with the following error:

...\clones\6.1\MySql.Data\Provider\Source\NativeDriver.cs(519,29): error CS0122:
'MySql.Data.MySqlClient.MySqlPacket.MySqlPacket()' is inaccessible due to its protection level