yatli / fvim

Cross platform Neovim front-end UI, built with F# + Avalonia
MIT License
1.34k stars 30 forks source link

Install fvim in ubuntu arm64 #190

Closed h4m6urg1r closed 3 years ago

h4m6urg1r commented 3 years ago

Is it possible to install fvim in ubuntu arm64 cause if it is I don't know how to cause i downloaded .deb and tried to install it with dpkg and i got an error saying it's packaged for amd64 not for arm please help me.

Thanks

Z-Shang commented 3 years ago

apparently, the building script is only for linux-x64 you might be able to use: dotnet publish -f netcoreapp3.1 -c Release --self-contained -r linux-arm64 fvim.fsproj to build

yatli commented 3 years ago

Yup, Avalonia added support for arm64 this year -- worth trying!

Please let me know if it works, thanks. I can set up CI and add arm64 to the release pipeline.

h4m6urg1r commented 3 years ago

apparently, the building script is only for linux-x64 you might be able to use: dotnet publish -f netcoreapp3.1 -c Release --self-contained -r linux-arm64 fvim.fsproj to build @Z-Shang

i tried to build it and i have done it i think with /home/shantnu/dotnet/sdk/3.1.411/FSharp/Microsoft.FSharp.Targets(279,9): error MSB6006: "loader" exited with code 139. [/home/shantnu/fvim/fvim.fsproj] error at the end I don't know if it was successful or not (I don't have any experience with dotnet) now if you can please tell me how to run it and also it took alot of space in my device can i free it up? if yes then how? (i am on android that's why i have very less amount of space left).

Thank you.

Edit:- i just found out that there is a folder named .nuget is it safe if i delete it?

yatli commented 3 years ago

.nuget is the cache folder for .net package manager -- can be safely deleted when you're done with building.

/home/shantnu/dotnet/sdk/3.1.411/FSharp/Microsoft.FSharp.Targets(279,9): error MSB6006: "loader" exited with code 139. [/home/shantnu/fvim/fvim.fsproj]

This is a build error. I've never seen this before though. How about just dotnet run?

h4m6urg1r commented 3 years ago

@yatli i tried to use dotnet run with obj and without obj folder(deleted it manually) but both of time i got Specify which project file to use because /home/shantnu/fvim contains more than one project file. error and now i am confused. What do i do now?

yatli commented 3 years ago

ooh, I recently did something that prevents a direct run. git checkout ec07e372f55f8d4af6c42f2a7474630e65063c7d

h4m6urg1r commented 3 years ago

@yatli now i am getting

/home/shantnu/dotnet/sdk/3.1.411/FSharp/Microsoft.FSharp.Targets(279,9): error MSB6006: "loader" exited with code 139. [/home/shantnu/fvim/fvim.fsproj]

The build failed. Fix the build errors and run again.

error and what does this exit code mean am I missing something? I think it might be best if you can release arm64 version but still i am interested in building it should i continue or wait?

yatli commented 3 years ago

This appears to be an internal error in the build pipeline and should not happen. I just looked around and found this: https://github.com/dotnet/roslyn/issues/39276

Reply from CircleCI:

Exit code 137 typically means that your process is getting killed because it is running out of memory.

...

Which means that your arm64 device doesn't have enough ram to complete the build process. So you have two options, wait for an arm64 release, or if you are curious :), you can build it from a x64 host and transfer bin/Release/netcoreapp3.1/linux-arm64/publish to your device. Cross compiling is easy in dotnet.

You'll need to modify fvim.fsproj and change PublishReadyToRun to False

h4m6urg1r commented 3 years ago

umm there's a mistake maybe i am getting exit code 139 not 137. It's possible that maybe it's running out of memory as i am on android. Maybe i will ask my friend to compile it for me but still i would like to know that how much time would take to release fvim for arm64?

yatli commented 3 years ago

@the-noob-coder69 try this one: https://github.com/yatli/fvim/releases/download/v0.2.392%2Bg646a86f/fvim-linux-arm64.deb

h4m6urg1r commented 3 years ago

i just installed fvim and tried to run it from terminal and got /usr/bin/fvim: 3: /usr/share/fvim/FVim: not found error. Is that a typo or something ?

yatli commented 3 years ago

ls /usr/share/fvim

h4m6urg1r commented 3 years ago

Well i didn't used ls but i used which fvim and it gave me /usr/bin/fvim that's why think the error given by /usr/bin/fvim that /usr/bin/FVim not found might be a typo or maybe i am missing that file

yatli commented 3 years ago

ls /usr/share/fvim

h4m6urg1r commented 3 years ago

@yatli here hmmmmm

yatli commented 3 years ago

it's ls /usr/share/fvim not ls /usr/bin/fvim :)

h4m6urg1r commented 3 years ago

Maybe i am blind 😅

$ ls /usr/share/fvim

Avalonia.Animation.dll
Avalonia.Base.dll
Avalonia.Controls.DataGrid.dll
Avalonia.Controls.dll
Avalonia.DesignerSupport.dll
Avalonia.Desktop.dll
Avalonia.DesktopRuntime.dll
Avalonia.Diagnostics.dll
Avalonia.Dialogs.dll
Avalonia.FreeDesktop.dll
Avalonia.Input.dll
Avalonia.Interactivity.dll
Avalonia.Layout.dll
Avalonia.Markup.Xaml.dll
Avalonia.Markup.dll
Avalonia.MicroCom.dll
Avalonia.Native.dll
Avalonia.OpenGL.dll
Avalonia.ReactiveUI.dll
Avalonia.Remote.Protocol.dll
Avalonia.Skia.dll
Avalonia.Styling.dll
Avalonia.Themes.Default.dll
Avalonia.Themes.Fluent.dll
Avalonia.Visuals.dll
Avalonia.Win32.dll
Avalonia.X11.dll
Avalonia.dll
DynamicData.dll
FSharp.Control.Reactive.dll
FSharp.Core.dll
FSharp.Core.xml
FSharp.Data.dll
FSharp.Span.Utils.dll
FSharp.SystemTextJson.dll
FVim
FVim.deps.json
FVim.dll
FVim.pdb
FVim.runtimeconfig.json
HarfBuzzSharp.dll
JetBrains.Annotations.dll
MessagePack.dll
Microsoft.CSharp.dll
Microsoft.CodeAnalysis.CSharp.Scripting.dll
Microsoft.CodeAnalysis.CSharp.dll
Microsoft.CodeAnalysis.Scripting.dll
Microsoft.CodeAnalysis.dll
Microsoft.Win32.Primitives.dll
Microsoft.Win32.Registry.dll
Microsoft.Win32.SystemEvents.dll
Microsoft.Win32.TaskScheduler.dll
ReactiveUI.dll
SOS_README.md
SkiaSharp.dll
Splat.dll
System.Collections.Concurrent.dll
System.Collections.Immutable.dll
System.Collections.NonGeneric.dll
System.Collections.Specialized.dll
System.Collections.dll
System.ComponentModel.Annotations.dll
System.ComponentModel.EventBasedAsync.dll
System.ComponentModel.Primitives.dll
System.ComponentModel.TypeConverter.dll
System.ComponentModel.dll
System.Console.dll
System.Data.Common.dll
System.Diagnostics.DiagnosticSource.dll
System.Diagnostics.FileVersionInfo.dll
System.Diagnostics.Process.dll
System.Diagnostics.StackTrace.dll
System.Diagnostics.Tools.dll
System.Diagnostics.TraceSource.dll
System.Drawing.Common.dll
System.Drawing.Primitives.dll
System.Globalization.Native.so
System.IO.Compression.Brotli.dll
System.IO.Compression.Native.a
System.IO.Compression.Native.so
System.IO.Compression.ZipFile.dll
System.IO.Compression.dll
System.IO.FileSystem.DriveInfo.dll
System.IO.FileSystem.Watcher.dll
System.IO.FileSystem.dll
System.IO.MemoryMappedFiles.dll
System.IO.Pipes.dll
System.Linq.Expressions.dll
System.Linq.Parallel.dll
System.Linq.Queryable.dll
System.Linq.dll
System.Memory.dll
System.Native.a
System.Native.so
System.Net.Http.Native.a
System.Net.Http.Native.so
System.Net.Http.dll
System.Net.Mail.dll
System.Net.NameResolution.dll
System.Net.Primitives.dll
System.Net.Requests.dll
System.Net.Security.Native.a
System.Net.Security.Native.so
System.Net.Security.dll
System.Net.ServicePoint.dll
System.Net.Sockets.dll
System.Net.WebClient.dll
System.Net.WebHeaderCollection.dll
System.Numerics.Vectors.dll
System.ObjectModel.dll
System.Private.CoreLib.dll
System.Private.DataContractSerialization.dll
System.Private.Uri.dll
System.Private.Xml.Linq.dll
System.Private.Xml.dll
System.Reactive.dll
System.Reactive.xml
System.Reflection.Metadata.dll
System.Runtime.CompilerServices.Unsafe.dll
System.Runtime.Extensions.dll
System.Runtime.InteropServices.RuntimeInformation.dll
System.Runtime.InteropServices.WindowsRuntime.dll
System.Runtime.InteropServices.dll
System.Runtime.Numerics.dll
System.Runtime.Serialization.Formatters.dll
System.Runtime.Serialization.Primitives.dll
System.Runtime.dll
System.Security.AccessControl.dll
System.Security.Claims.dll
System.Security.Cryptography.Algorithms.dll
System.Security.Cryptography.Csp.dll
System.Security.Cryptography.Encoding.dll
System.Security.Cryptography.Native.OpenSsl.a
System.Security.Cryptography.Native.OpenSsl.so
System.Security.Cryptography.OpenSsl.dll
System.Security.Cryptography.Primitives.dll
System.Security.Cryptography.X509Certificates.dll
System.Security.Permissions.dll
System.Security.Principal.Windows.dll
System.Security.Principal.dll
System.Text.Encoding.CodePages.dll
System.Text.Encodings.Web.dll
System.Text.Json.dll
System.Text.RegularExpressions.dll
System.Threading.Tasks.Parallel.dll
System.Threading.dll
TaskBuilder.fs.dll
Tmds.DBus.dll
UACHelper.dll
createdump
cs
de
es
fr
icons
it
ja
ko
libHarfBuzzSharp.so
libSkiaSharp.so
libclrjit.so
libcoreclr.so
libcoreclrtraceptprovider.so
libdbgshim.so
libhostfxr.so
libhostpolicy.so
libmscordaccore.so
libmscordbi.so
pl
pt-BR
ru
tr
zh-CN
zh-Hans
zh-Hant
yatli commented 3 years ago

I see FVim right there. Usually it means either: 1) it doesn't have executable attribute 2) it cannot run on your machine

Try ls -la on that dir and check the attributes -- something like -r-xr-xr-x

yatli commented 3 years ago

or just sudo chmod +x /usr/share/fvim/FVim and try again -- if it still doesn't run, it's an architecture problem.

h4m6urg1r commented 3 years ago

@yatli look it's executable but how can i check if it's executable or not? And one more thing in the error it says /usr/share/FVim instead of /usr/share/fvim/FVim is it ok?

Screenshot_2021-07-25_19-42-03

yatli commented 3 years ago

most likely an architecture problem... try:

file FVim
uname -a
h4m6urg1r commented 3 years ago

Here

Screenshot_2021-07-25_21-15-51

yatli commented 3 years ago

woah, problem mine! for whatever reason, the thing is compiled for 32bit arm

yatli commented 3 years ago

just hold on a few more moments while I repackage it :p

h4m6urg1r commented 3 years ago

But it's 64 bit?

h4m6urg1r commented 3 years ago

just hold on a few more moments while I repackage it :p

Ok, but how much time will it take?

yatli commented 3 years ago

@the-noob-coder69 the latest packages should be 64-bit now.