diff --git a/README.md b/README.md index 658f5cdcac98ca4cf41fdf52f496a84c44aeb780..5f8204b57491724d295ac96bd6d62059b2c728ea 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ You can download precompiled binaries from [releases page](https://github.com/ju ### Building from source -You need first installing [Go](https://golang.org) 1.14+, then run following commands: +You need first installing [Go](https://golang.org) 1.14+ and GCC 5.4+, then run following commands: ```bash $ git clone https://github.com/juicedata/juicefs.git @@ -111,8 +111,9 @@ If you wanna use JuiceFS in Hadoop, check [Hadoop Java SDK](docs/en/hadoop_java_ - [Cache Management](docs/en/cache_management.md) - [Fault Diagnosis and Analysis](docs/en/fault_diagnosis_and_analysis.md) - [S3 Gateway](docs/en/s3_gateway.md) -- [Using JuiceFS on Kubernetes](docs/en/how_to_use_on_kubernetes.md) - [FUSE Mount Options](docs/en/fuse_mount_options.md) +- [Using JuiceFS on Kubernetes](docs/en/how_to_use_on_kubernetes.md) +- [Using JuiceFS on Windows](docs/en/windows.md) ## POSIX Compatibility diff --git a/README_CN.md b/README_CN.md index aae35a003e2bdf7e8ff4aff8d73ebcfd5589a44f..e91bab81060f1142125ed4b63b45e14c6072eac6 100644 --- a/README_CN.md +++ b/README_CN.md @@ -48,7 +48,7 @@ JuiceFS 中的文件格式,如下图所示。一个文件首先被拆分成固 ### 从源代码编译 -你需要先安装 [Go](https://golang.org) 1.14+,然后通过下面的方式来编译: +你需要先安装 [Go](https://golang.org) 1.14+ 以及 GCC 5.4+,然后通过下面的方式来编译: ```bash $ git clone https://github.com/juicedata/juicefs.git @@ -112,8 +112,9 @@ JuiceFS 使用 [Hadoop Java SDK](docs/zh_cn/hadoop_java_sdk.md) 与 Hadoop 生 - [缓存管理](docs/en/cache_management.md) - [故障诊断和分析](docs/en/fault_diagnosis_and_analysis.md) - [S3 网关](docs/en/s3_gateway.md) -- [在 Kubernetes 中使用 JuiceFS](docs/en/how_to_use_on_kubernetes.md) - [FUSE 挂载选项](docs/en/fuse_mount_options.md) +- [在 Kubernetes 中使用 JuiceFS](docs/en/how_to_use_on_kubernetes.md) +- [在 Windows 中使用 JuiceFS](docs/en/windows.md) ## POSIX 兼容性测试 diff --git a/docs/en/faq.md b/docs/en/faq.md index cbfe7ff4e1626382d42cabfca601ceb1b861b9bf..3fff35be6889e5d30e1e1e6811de5f2ac6a81b6e 100644 --- a/docs/en/faq.md +++ b/docs/en/faq.md @@ -52,7 +52,7 @@ Use [`juicefs umount`](command_reference.md#juicefs-umount) command to unmount t First unmount JuiceFS volume, then re-mount the volume with newer version client. -## docker: Error response from daemon: error while creating mount source path 'XXX': mkdir XXX: file exists. +## `docker: Error response from daemon: error while creating mount source path 'XXX': mkdir XXX: file exists.` When you use [Docker bind mounts](https://docs.docker.com/storage/bind-mounts) to mount a directory on the host machine into a container, you may encounter this error. The reason is that `juicefs mount` command was executed with non-root user. In turn, Docker daemon doesn't have permission to access the directory. @@ -60,3 +60,7 @@ There are two solutions to this problem: 1. Execute `juicefs mount` command with root user 2. Modify FUSE configuration and add `allow_other` mount option, see [this document](fuse_mount_options.md#allow_other) for more information. + +## `/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1` or `/go/pkg/tool/linux_amd64/compile: signal: killed` + +This error may caused by GCC version is too low, please try to upgrade your GCC to 5.4+. diff --git a/docs/en/how_to_setup_object_storage.md b/docs/en/how_to_setup_object_storage.md index 20f2752d5dd8415d7372daf0a9606a59d51dcc32..05b178a83acfb7ba2fc1d5899a072fa699e2e9dc 100644 --- a/docs/en/how_to_setup_object_storage.md +++ b/docs/en/how_to_setup_object_storage.md @@ -450,7 +450,7 @@ $ sudo apt-get install librados-dev $ sudo yum install librados-devel ``` -Then compile JuiceFS for Ceph: +Then compile JuiceFS for Ceph (ensure you have Go 1.14+ and GCC 5.4+): ```bash $ make juicefs.ceph diff --git a/docs/en/windows.md b/docs/en/windows.md index c6314f880054990e003e78e8d49b9ec2970a4846..e4cdfd0424e8753cd1a66ef00a04fe8d1887ea8e 100644 --- a/docs/en/windows.md +++ b/docs/en/windows.md @@ -1,27 +1,27 @@ -# Use JuiceFS on Windows +# Using JuiceFS on Windows ## Install dependencies -JuiceFS depends on [WinFsp](http://www.secfs.net/winfsp/rel/), please install it first. +JuiceFS depends on [WinFsp](http://www.secfs.net/winfsp/rel), please install it first. ## Build JuiceFS from source We can cross compile JuiceFS for Windows platform on Linux or macOS. -1. Install [mingw-w64](http://mingw-w64.org) on Linux or macOS. +1. Install [mingw-w64](http://mingw-w64.org) on Linux or macOS. On Linux, it can be installed using the distro's package manager like `yum` or `apt`. - On macOS, use [brew](https://brew.sh/) to install: `brew install mingw-w64` + On macOS, use [Homebrew](https://brew.sh) to install: `brew install mingw-w64` -2. Build JuiceFS for Windows +2. Build JuiceFS for Windows: -``` -git clone https://github.com/juicedata/juicefs.git -cd juicefs -make juicefs.exe +```bash +$ git clone https://github.com/juicedata/juicefs.git +$ cd juicefs +$ make juicefs.exe ``` @@ -30,12 +30,12 @@ make juicefs.exe ### Start Redis Server JuiceFS requires a Redis, there is a [Windows version of Redis](https://github.com/tporadowski/redis), -please download the latest release and launch the redis server. +please download the latest release and launch the Redis server. ### Format JuiceFS -For test purpose, we can use a local disk to simulate a object store: +For test purpose, we can use a local disk to simulate an object store: ``` PS C:\> .\juicefs.exe format localhost test @@ -44,11 +44,11 @@ PS C:\> .\juicefs.exe format localhost test 2021/03/22 15:16:18.024710 juicefs[7064] : Data use file:///C:/jfs/local/test/ ``` -For other supported object storage, please check out [How To Setup Object Storage](how_to_setup_object_storage) +For other supported object storage, please check out ["How to Setup Object Storage"](how_to_setup_object_storage.md). ### Mount JuiceFS -Select an unused drive letter, such as `Z:` +Select an unused drive letter, such as `Z:`, then execute: ``` PS C:\> .\juicefs.exe mount localhost Z: @@ -59,7 +59,6 @@ PS C:\> .\juicefs.exe mount localhost Z: The service juicefs has been started. ``` - -Then we can use JuiceFS as a shared disk drive `Z:` +Then we can use JuiceFS as a shared disk drive `Z:`, it looks like: ![JuiceFS on Windows](../images/juicefs-on-windows.png) diff --git a/docs/zh_cn/faq.md b/docs/zh_cn/faq.md index 77198ad7969ca30ddc76f59614c505727270382e..49e8372c7ed2110d3d1e22903f6bbe26e82c2b09 100644 --- a/docs/zh_cn/faq.md +++ b/docs/zh_cn/faq.md @@ -52,7 +52,7 @@ JuiceFS 内置多级缓存(主动失效),一旦缓存预热好,访问的 首先请卸载 JuiceFS 文件系统,然后使用新版本的客户端重新挂载。 -## docker: Error response from daemon: error while creating mount source path 'XXX': mkdir XXX: file exists. +## `docker: Error response from daemon: error while creating mount source path 'XXX': mkdir XXX: file exists.` 当你使用 [Docker bind mounts](https://docs.docker.com/storage/bind-mounts) 把宿主机上的一个目录挂载到容器中时,你可能会遇到这个错误。这是因为使用了非 root 用户执行了 `juicefs mount` 命令,进而导致 Docker 没有权限访问这个目录。 @@ -60,3 +60,7 @@ JuiceFS 内置多级缓存(主动失效),一旦缓存预热好,访问的 1. 用 root 用户执行 `juicefs mount` 命令 2. 修改 FUSE 的配置文件以及增加 `allow_other` 挂载选项,请查看[这个文档](../en/fuse_mount_options.md#allow_other)了解更多信息。 + +## `/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1` 或者 `/go/pkg/tool/linux_amd64/compile: signal: killed` + +这个错误有可能是因为 GCC 版本过低导致,请尝试升级 GCC 到 5.4 及以上版本。