IslandzVW / halcyon

InWorldz Halcyon 3d virtual reality world simulator
BSD 3-Clause "New" or "Revised" License
21 stars 26 forks source link

Halcyon.sln build failed #420

Closed michealmueller closed 6 years ago

michealmueller commented 6 years ago

Ok, so i did the prebuild and then xbuild Halcyon.sln and this is what i got, not sure but assuming this is a windows specific issue, and im building on / for linux.

is there a way around this?

xbuild tool is deprecated and will be removed in future updates, use msbuild instead <<<<

XBuild Engine Version 14.0 Mono, Version 5.8.0.108 Copyright (C) 2005-2013 Various Mono authors

Build started 2/12/2018 2:30:27 PM.


Project "/root/halcyon/Halcyon.sln" (default target(s)): Target ValidateSolutionConfiguration: Building solution configuration "Debug|x64". Target Build: Project "/root/halcyon/OpenSim/Framework/OpenSim.Framework.csproj" (default target(s)): Target PrepareForBuild: Configuration: Debug Platform: x64 Target ResolveAssemblyReferences: /usr/lib/mono/xbuild/14.0/bin/Microsoft.Common.targets: warning : Reference 'System.DirectoryServices.AccountManagement' not resolved For searchpath {CandidateAssemblyFiles} Warning: {CandidateAssemblyFiles} not supported currently For searchpath /root/halcyon/bin/ Considered '/root/halcyon/bin/System.DirectoryServices.AccountManagement' as a file, but the file does not exist Considered '/root/halcyon/bin/System.DirectoryServices.AccountManagement.exe' as a file, but the file does not exist Considered '/root/halcyon/bin/System.DirectoryServices.AccountManagement.dll' as a file, but the file does not exist For searchpath {HintPathFromItem} HintPath attribute not found For searchpath {TargetFrameworkDirectory} Considered target framework dir /usr/lib/mono/4.5-api/, assembly named 'System.DirectoryServices.AccountManagement' not found. Considered target framework dir /usr/lib/mono/4.5-api//Facades/, assembly named 'System.DirectoryServices.AccountManagement' not found. For searchpath {PkgConfig} Considered System.DirectoryServices.AccountManagement, but could not find in any pkg-config files. For searchpath {GAC} Considered System.DirectoryServices.AccountManagement, but could not find in the GAC. For searchpath {RawFileName} Considered 'System.DirectoryServices.AccountManagement' as a file, but the file does not exist For searchpath ../../bin/ Considered '/root/halcyon/bin/System.DirectoryServices.AccountManagement' as a file, but the file does not exist Considered '/root/halcyon/bin/System.DirectoryServices.AccountManagement.exe' as a file, but the file does not exist Considered '/root/halcyon/bin/System.DirectoryServices.AccountManagement.dll' as a file, but the file does not exist Target GenerateSatelliteAssemblies: No input files were specified for target GenerateSatelliteAssemblies, skipping. Target _GenerateTargetFrameworkMonikerAttribute: Skipping target "_GenerateTargetFrameworkMonikerAttribute" because its outputs are up-to-date. Target CoreCompile: Tool /usr/lib/mono/4.5/csc.exe execution started with arguments: /noconfig /delaysign- /debug:portable /optimize- /out:obj/x64/Debug/OpenSim.Framework.dll ACL.cs AgentCircuitData.cs AgentCircuitManager.cs AgentPreferencesData.cs AgentUpdateArgs.cs Animation.cs AssemblyInfo.cs AssetAlreadyExistsException.cs AssetBase.cs AssetConfig.cs AssetLandmark.cs AssetRequest.cs AssetRequestInfo.cs AssetRequestToClient.cs AssetServerException.cs AssetStorage.cs AssetsCommon.cs AuthenticateResponse.cs AvatarAppearance.cs AvatarAttachment.cs AvatarConnectionState.cs AvatarPickerAvatar.cs AvatarPickerReplyAgentDataArgs.cs AvatarPickerReplyDataArgs.cs AvatarWearable.cs AvatarWearingArgs.cs BlockingMultiQueue.cs BlockingQueue.cs ByteBufferPool.cs Cache.cs CapsUtil.cs ChatTypeEnum.cs ChildAgentDataUpdate.cs ClientInfo.cs ClientManager.cs ColliderData.cs ConfigBase.cs ConfigSettings.cs ConfigurationMember.cs ConfigurationOption.cs Constants.cs Crypto.cs Culture.cs EstateBan.cs EstateSettings.cs EventData.cs FileCompressor.cs FixedSizeMRU.cs ForeignUserProfileData.cs FriendListItem.cs FriendRegionInfo.cs GridConfig.cs GridInstantMessage.cs GroupData.cs HGNetworkServersInfo.cs HttpExtensions.cs IAssetCache.cs IAssetLoader.cs IAssetReceiver.cs IAssetServer.cs IAvatarConnection.cs IChatMessageLogBackend.cs IClientAPI.cs IClientFileTransfer.cs ICommandConsole.cs IConsole.cs IGenericConfig.cs IImprovedAssetCache.cs IInventoryItem.cs ILoginServiceToRegionsConnector.cs IMoneyModule.cs IObjectCache.cs IPlugin.cs IRegionCommsListener.cs IRegionCreator.cs IRegionLoader.cs IRegistryCore.cs IScene.cs ISceneEntity.cs ISceneObject.cs ImmutableTimestampedItem.cs IndexedPriorityQueue.cs InventoryCollection.cs InventoryConfig.cs InventoryFolderBase.cs InventoryFolderImpl.cs InventoryItemBase.cs InventoryNodeBase.cs InventoryObjectMissingException.cs InventorySecurityException.cs InventoryStorageException.cs InventorySubFolderBase.cs ItemPermissionBlock.cs KeyframeAnimation.cs LLSDSerializationDictionary.cs LRUCache.cs LandData.cs LandStatReportItem.cs LandUpdateArgs.cs Location.cs LocklessQueue.cs Login.cs MainConsole.cs MapBlockData.cs MapItemReplyStruct.cs MessageServerConfig.cs MovingIntegerAverage.cs NeighbourInfo.cs NetworkServersInfo.cs OSChatMessage.cs ObjectPool.cs PIDFileManager.cs PacketPool.cs ParcelMediaCommandEnum.cs PluginLoader.cs PrimitiveBaseShape.cs PriorityQueue.cs ProviderRegistry.cs ProxyCodec.cs RateLimitingDetector.cs RegionCommsListener.cs RegionEnvironmentData.cs RegionHandshakeArgs.cs RegionInfo.cs RegionInfoForEstateMenuArgs.cs RegionSettings.cs RegionUpData.cs RegistryCore.cs RemotePresenceInfo.cs Remoting.cs RenderMaterials.cs ReplaceItemArgs.cs RequestAssetArgs.cs SerializableInventory.cs SimStats.cs SimpleRegionInfoSnapshot.cs SurfaceTouchEventArgs.cs TaskInventoryDictionary.cs TaskInventoryItem.cs Telehub.cs TextureRequestArgs.cs ThreadTracker.cs ThrottleOutPacketType.cs TimestampedItem.cs TrustManager.cs UndoStack.cs UnrecoverableAssetServerException.cs UnrecoverableInventoryStorageException.cs UpdateItemResponse.cs UpdateShapeArgs.cs UserAgentData.cs UserConfig.cs UserPreferencesData.cs UserProfileData.cs Util.cs ViewerEffectEventHandlerArg.cs Watchdog.cs sLLVector3.cs Client/IClientChat.cs Client/IClientCore.cs Client/IClientIM.cs Client/IClientIPEndpoint.cs Geom/Box.cs obj/x64/Debug/.NETFramework,Version=v4.5.AssemblyAttribute.cs /target:library /warnaserror- /unsafe- /checked- /define:"TRACE;DEBUG" /nostdlib /platform:x64 /reference:/root/halcyon/bin/BclExtras35.dll /reference:/root/halcyon/bin/C5.dll /reference:/root/halcyon/bin/LibreMetaverse.dll /reference:/root/halcyon/bin/LibreMetaverse.StructuredData.dll /reference:/root/halcyon/bin/LibreMetaverse.Types.dll /reference:/root/halcyon/bin/log4net.dll /reference:/root/halcyon/bin/Mono.Addins.dll /reference:/root/halcyon/bin/Nini.dll /reference:/root/halcyon/bin/protobuf-net.dll /reference:/root/halcyon/bin/SmartThreadPool.dll /reference:/usr/lib/mono/4.5-api/System.dll /reference:/usr/lib/mono/4.5-api/System.Data.dll /reference:/usr/lib/mono/4.5-api/System.Drawing.dll /reference:/usr/lib/mono/4.5-api/System.Web.dll /reference:/usr/lib/mono/4.5-api/System.Xml.dll /reference:/root/halcyon/bin/XmlRpcCS.dll /reference:/usr/lib/mono/4.5-api/System.Core.dll /reference:/usr/lib/mono/4.5-api//mscorlib.dll /warn:4 Microsoft (R) Visual C# Compiler version 2.3.2.61928 (ec1cde8b) Copyright (C) Microsoft Corporation. All rights reserved. Util.cs(57,14): error CS0234: The type or namespace name 'DirectoryServices' does not exist in the namespace 'System' (are you missing an assembly reference?) Task "Csc" execution -- FAILED Done building target "CoreCompile" in project "/root/halcyon/OpenSim/Framework/OpenSim.Framework.csproj".-- FAILED Done building project "/root/halcyon/OpenSim/Framework/OpenSim.Framework.csproj".-- FAILED Project "/root/halcyon/OpenSim/Region/Interfaces/OpenSim.Region.Interfaces.csproj" (default target(s)): Target PrepareForBuild: Configuration: Debug Platform: x64 Target GenerateSatelliteAssemblies: No input files were specified for target GenerateSatelliteAssemblies, skipping. Target _GenerateTargetFrameworkMonikerAttribute: Skipping target "_GenerateTargetFrameworkMonikerAttribute" because its outputs are up-to-date. Target CoreCompile: Skipping target "CoreCompile" because its outputs are up-to-date. Done building project "/root/halcyon/OpenSim/Region/Interfaces/OpenSim.Region.Interfaces.csproj". Project "/root/halcyon/OpenSim/ScriptEngine/Shared.Script/OpenSim.ScriptEngine.Shared.Script.csproj" (default target(s)): Target PrepareForBuild: Configuration: Debug Platform: x64 Target GenerateSatelliteAssemblies: No input files were specified for target GenerateSatelliteAssemblies, skipping. Target _GenerateTargetFrameworkMonikerAttribute: Skipping target "_GenerateTargetFrameworkMonikerAttribute" because its outputs are up-to-date. Target CoreCompile: Skipping target "CoreCompile" because its outputs are up-to-date. Done building project "/root/halcyon/OpenSim/ScriptEngine/Shared.Script/OpenSim.ScriptEngine.Shared.Script.csproj". Task "MSBuild" execution -- FAILED Done building target "Build" in project "/root/halcyon/Halcyon.sln".-- FAILED Done building project "/root/halcyon/Halcyon.sln".-- FAILED

Build FAILED.

Warnings:

/root/halcyon/Halcyon.sln (default targets) -> (Build target) -> /root/halcyon/OpenSim/Framework/OpenSim.Framework.csproj (default targets) -> /usr/lib/mono/xbuild/14.0/bin/Microsoft.Common.targets (ResolveAssemblyReferences target) ->

    /usr/lib/mono/xbuild/14.0/bin/Microsoft.Common.targets:  warning : Reference 'System.DirectoryServices.AccountManagement' not resolved

Errors:

/root/halcyon/Halcyon.sln (default targets) -> (Build target) -> /root/halcyon/OpenSim/Framework/OpenSim.Framework.csproj (default targets) -> /usr/lib/mono/xbuild/14.0/bin/Microsoft.CSharp.targets (CoreCompile target) ->

    Util.cs(57,14): error CS0234: The type or namespace name 'DirectoryServices' does not exist in the namespace 'System' (are you missing an assembly reference?)

     1 Warning(s)
     1 Error(s)

Time Elapsed 00:00:03.4351690

kf6kjg commented 6 years ago

You'll need to build with msbuild and a full set of mono libraries. See https://github.com/InWorldz/halcyon/wiki/Development for the recommended build environment.

michealmueller commented 6 years ago

msbuild gives 67 errors, and it seems to be releated to this (this has nothign to do with halcyon but its the closest to the same issue i can find quickly)

https://stackoverflow.com/questions/13628319/cant-build-our-solution-with-msbuild-it-cant-find-our-targets-files

every error is this, the file exists, so perhaps a path issue?(fresh ubuntu 16) that path is correct 100% but it still cant seem to find it....

error MSB4019: The imported project "/usr/lib/mono/msbuild/15.0/bin/Microsoft.CSHARP.Targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
michealmueller commented 6 years ago

Ok, figured it out

if you want to try and duplicate this is what i am running

ubuntu 16.04
monodevelop - 5.10
mono - 5.8.0.108

The Halcyon.sln (built with msbuild) is looking for Microsoft.CSHARP.Targets, but the files actual name is Microsoft.CSharp.targets so i just renamed that file to what the solution expects and it goes on.

however now i am at this error (this is the same error that i got with xbuild, so xbuild apparently is ok with capitalization issue where msbuild was not)

Build FAILED.

"/root/halcyonpak/halcyon-0.9.36.6427/Halcyon.sln" (default target) (1) ->
"/root/halcyonpak/halcyon-0.9.36.6427/InWorldz/Halcyon/Halcyon.csproj" (default target) (2) ->
"/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Base/OpenSim.Base.csproj" (default target) (3:2) ->
"/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Data/OpenSim.Data.csproj" (default target) (4:3) ->
"/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Framework/OpenSim.Framework.csproj" (default target) (5:4) ->
(ResolveAssemblyReferences target) ->
  /usr/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(2057,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.DirectoryServices.AccountManagement". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Framework/OpenSim.Framework.csproj]

"/root/halcyonpak/halcyon-0.9.36.6427/Halcyon.sln" (default target) (1) ->
"/root/halcyonpak/halcyon-0.9.36.6427/InWorldz/Halcyon/Halcyon.csproj" (default target) (2) ->
"/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Base/OpenSim.Base.csproj" (default target) (3:2) ->
"/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Data/OpenSim.Data.csproj" (default target) (4:3) ->
"/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Framework/OpenSim.Framework.csproj" (default target) (5:4) ->
(CoreCompile target) ->
  Util.cs(57,14): error CS0234: The type or namespace name 'DirectoryServices' does not exist in the namespace 'System' (are you missing an assembly reference?) [/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Framework/OpenSim.Framework.csproj]

    1 Warning(s)
    1 Error(s)
kf6kjg commented 6 years ago

After helping Micheal, that one was resolved via some code removals. Mono 5 switched to the Roslyn csc compiler, which doesn't define the MonoCS precompile flag. Thus there's some build issues that were an exercise in code surgery.

On Mon, Feb 12, 2018 at 1:56 PM Micheal Mueller notifications@github.com wrote:

Ok, figured it out

if you want to try and duplicate this is what i am running

ubuntu 16.04 monodevelop - 5.10 mono - 5.8.0.108

The Halcyon.sln (built with msbuild) is looking for Microsoft.CSHARP.Targets, but the files actual name is Microsoft.CSharp.targets so i just renamed that file to what the solution expects and it goes on.

however now i am at this error (this is the same error that i got with xbuild, so xbuild apparently is ok with capitalization issue where msbuild was not)

Build FAILED.

"/root/halcyonpak/halcyon-0.9.36.6427/Halcyon.sln" (default target) (1) -> "/root/halcyonpak/halcyon-0.9.36.6427/InWorldz/Halcyon/Halcyon.csproj" (default target) (2) -> "/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Base/OpenSim.Base.csproj" (default target) (3:2) -> "/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Data/OpenSim.Data.csproj" (default target) (4:3) -> "/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Framework/OpenSim.Framework.csproj" (default target) (5:4) -> (ResolveAssemblyReferences target) -> /usr/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(2057,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.DirectoryServices.AccountManagement". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Framework/OpenSim.Framework.csproj]

"/root/halcyonpak/halcyon-0.9.36.6427/Halcyon.sln" (default target) (1) -> "/root/halcyonpak/halcyon-0.9.36.6427/InWorldz/Halcyon/Halcyon.csproj" (default target) (2) -> "/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Base/OpenSim.Base.csproj" (default target) (3:2) -> "/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Data/OpenSim.Data.csproj" (default target) (4:3) -> "/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Framework/OpenSim.Framework.csproj" (default target) (5:4) -> (CoreCompile target) -> Util.cs(57,14): error CS0234: The type or namespace name 'DirectoryServices' does not exist in the namespace 'System' (are you missing an assembly reference?) [/root/halcyonpak/halcyon-0.9.36.6427/OpenSim/Framework/OpenSim.Framework.csproj]

1 Warning(s)
1 Error(s)

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/InWorldz/halcyon/issues/420#issuecomment-365076062, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGoaEqQ--LBRSB5YA5EXlx_SSAOoHJ5ks5tULOLgaJpZM4SCQgq .

michealmueller commented 6 years ago

yes got it built, then decided to switch it up and go with windows :D so this is resolved.

Specifics, since the CSC compile does not define the MonoCS flag, you have 2 options,

1.define it yourself( not sure how to do that)

  1. edit the code there will be 2 instances in paticular that will need to be changed.

this link has the fixes for the Util.cs file. (thanks to Kf6jg for the help with this) https://github.com/Arthmael8610/halcyon/commit/c4da91b580bd4a24902d20ee8ccd0400cd52d772

basically you remove the first MonoCS block completely and invert the other.