redox-os issueshttps://gitlab.redox-os.org/groups/redox-os/-/issues2023-01-16T18:21:00Zhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1344redox-os.org certificate expired2023-01-16T18:21:00Ztecywiz121redox-os.org certificate expired#1311 popping back up again.#1311 popping back up again.https://gitlab.redox-os.org/redox-os/redox/-/issues/1343Redox Build fails in Ubuntu 21.042023-10-27T13:33:19ZkarachikoraiRedox Build fails in Ubuntu 21.04<!-- If you have built Redox OS yourself, please provide the following information: -->
- Operating system:
Ubuntu 21.04
- `uname -a`:
`Linux ubuntu 5.11.0-18-generic #19-Ubuntu SMP Fri May 7 14:22:03 UTC 2021 x86_64 x86_64 x86_64 GNU/L...<!-- If you have built Redox OS yourself, please provide the following information: -->
- Operating system:
Ubuntu 21.04
- `uname -a`:
`Linux ubuntu 5.11.0-18-generic #19-Ubuntu SMP Fri May 7 14:22:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux`
- `rustc -V`: rustc 1.47.0-nightly (6c8927b0c 2020-07-26)
- `git rev-parse HEAD`:
901108353f2427809f98e29d8e4165d432bbd715
Hello Team,
I am trying to build a React OS in Ubuntu 21.04. While running make all, I am getting the below error.
xz-5.2.5/windows/vs2019/liblzma.vcxproj
xz-5.2.5/windows/vs2019/liblzma_dll.vcxproj
xz-5.2.5/windows/vs2019/xz_win.sln
+ ./autogen.sh
+ autopoint -f
./autogen.sh: 15: autopoint: not found
cook - xz - error: failed to fetch: failed to run "bash" "-ex": exited with status exit code: 127
./repo.sh failed.make: *** [mk/filesystem.mk:18: build/filesystem.bin] Error 1
Could you please let me know what i am missing?
Thankshttps://gitlab.redox-os.org/redox-os/redox/-/issues/1342Redox build fails when building ring2021-07-16T18:18:23Zt-wilkinsonRedox build fails when building ring<!-- Thank you for taking the time to submit an issue! By following these comments and filling out the sections below, you can help the developers get the necessary information to fix your issue. Please provide a single issue per report....<!-- Thank you for taking the time to submit an issue! By following these comments and filling out the sections below, you can help the developers get the necessary information to fix your issue. Please provide a single issue per report. You can also preview this report before submitting it. Feel free to modify/remove sections to fit the nature of your issue. -->
<!-- Please search to check that your issue has not been created already. By preventing duplicate issues, you can help keep the repository organized. If your current issue has already been created and is still unresolved, you can contribute by commenting there. -->
<!-- Replace the empty checkbox [ ] below with a checked one [x] if you have already searched for your issue. -->
- [X] I agree that I have searched opened and closed issues to prevent duplicates.
--------------------
## Description
<!-- Briefly summarize/describe the issue that you are experiencing below. -->
Redox build consistently fails when building `ring`, a rust crypto library.
## Environment info
<!-- To understand where your issue originates, please include some relevant information about your environment. -->
<!-- If you are using a pre-built release of Redox, please specify the release version below. -->
- Redox OS Release:
- `git describe --tags`
`0.6.0-29-g9011083`
<!-- If you have built Redox OS yourself, please provide the following information: -->
- Operating system:
Black Arch Linux
- `uname -a`:
`Linux arch 5.12.8-arch1-1 #1 SMP PREEMPT Fri, 28 May 2021 15:10:20 +0000 x86_64 GNU/Linux`
- `rustc -V`:
`rustc 1.47.0-nightly (6c8927b0c 2020-07-26)`
- `git rev-parse HEAD`:
`901108353f2427809f98e29d8e4165d432bbd715`
<!-- Depending on your issue, additional information about your environment (network config, package versions, dependencies, etc.) can also help. You can list that below. -->
- I ran the pacman command to install pre-reqs but I could not find the following `libfuse-dev libhtml-parser-perl aclocal` (but I did install all the others).
- `echo $PATH | tr : '\n' | grep cargo`
`/home/trey/.cargo/bin`
- I also tried following the instructions for docker, ran `docker run --privileged ...`
`docker: unknown server OS: .`
- Also, potentially related, the only directory in `redox/prefix/` is `redox/prefix/x86_64-unkown-redox/`
- Please see the log below
- Could `cc1: all warnings being treated as errors` be the problem?
## Steps to reproduce
<!-- If possible, please list the steps to reproduce ("trigger") your issue below. Being detailed definitely helps speed up bug fixes. -->
1. Follow chapter 2 (Getting Started) on the redox book.
2. Fails for `make all` and `make qemu`
## Behavior
<!-- It may seem obvious to know what to expect, but isolating the behavior from everything else simplifies the development process. Remember to provide a single issue in this report. You can use the References section below to link your issues together. -->
<!-- Describe the behavior you expect your steps should yield (i.e., correct behavior). -->
- **Expected behavior**:
Following the build process should succeed.
<!-- Describe the behavior you observed when running your steps (i.e., buggy behavior). -->
- **Actual behavior**:
Build fails
<!-- **Logs?** Posting a log can help developers find your particular issue more easily. Please wrap your code in code blocks using triple back-ticks ``` to increase readability. -->
```
running "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "include" "-Wall" "-Wextra" "-std=c1x" "-Wbad-function-cast" "-Wmissing-prototypes" "-Wnested-externs" "-Wstrict-prototypes" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-declarations" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-Wno-cast-align" "-fstack-protector" "-g3" "-Werror" "-DNDEBUG" "-D_XOPEN_SOURCE=700" "-c" "-o/home/trey/tmp/redox/installer/target/release/build/ring-d4a7368997960aad/out/curve25519.o" "third_party/fiat/curve25519.c"
--- stderr
third_party/fiat/curve25519.c:1877:61: error: argument 2 of type ‘const uint8_t *’ {aka ‘const unsigned char *’} declared as a pointer [-Werror=array-parameter=]
1877 | void GFp_x25519_ge_scalarmult_base(ge_p3 *h, const uint8_t *a) {
| ~~~~~~~~~~~~~~~^
In file included from third_party/fiat/curve25519.c:43:
third_party/fiat/internal.h:129:60: note: previously declared as an array ‘const uint8_t[32]’ {aka ‘const unsigned char[32]’}
129 | void GFp_x25519_ge_scalarmult_base(ge_p3 *h, const uint8_t a[32]);
| ~~~~~~~~~~~~~~^~~~~
third_party/fiat/curve25519.c:3013:36: error: argument 1 of type ‘uint8_t[32]’ {aka ‘unsigned char[32]’} with mismatched bound [-Werror=array-parameter=]
3013 | void GFp_x25519_fe_tobytes(uint8_t s[32], const fe *h) {
| ~~~~~~~~^~~~~
In file included from third_party/fiat/curve25519.c:43:
third_party/fiat/internal.h:124:37: note: previously declared as ‘uint8_t *’ {aka ‘unsigned char *’}
124 | void GFp_x25519_fe_tobytes(uint8_t *s, const fe *h);
| ~~~~~~~~~^
cc1: all warnings being treated as errors
thread 'main' panicked at 'execution failed', /home/trey/.cargo/git/checkouts/ring-673443d3342e1630/e10e9b8/build.rs:644:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
make: *** [mk/initfs.mk:5: build/initfs.tag] Error 101
```
<!-- **Solution?** Have a solution in mind? Propose your solution below. -->
- **Proposed solution**:
Is there some way to disable failing on warnings?
<!-- **Screenshots?** Make it easier to get your point across with screenshots. You can drag & drop or paste your images below. -->
## Optional references
<!-- If you have found issues or pull requests that are related to or blocking this issue, please link them below. See https://help.github.com/articles/autolinked-references-and-urls/ for more options. You can also link related code snippets by providing the permalink. See https://help.github.com/articles/creating-a-permanent-link-to-a-code-snippet/ for more information. -->
## Optional extras
<!-- If you have other relevant information not found in other sections, you can include it below. -->
- Very new to rust and operating system development, but I very much want to learn both and I think redox is a good way for me to learn.
- This is my first git issue ever, let me know if I missed anything.
<!-- **Code?** Awesome! You can also create a pull request with a reference to this issue. -->
<!-- **Files?** Attach your relevant files by dragging & dropping or pasting them below. -->
<!-- You also can preview your report before submitting it. Thanks for contributing to Redox! -->https://gitlab.redox-os.org/redox-os/syscall/-/issues/31support Rust nightly 1.54.02021-06-16T08:08:26Zpoly000support Rust nightly 1.54.0https://github.com/rust-lang/rust/pull/84310
```
error[E0557]: feature has been removed
--> /home/poly/.cargo/registry/src/github.com-1ecc6299db9ec823/redox_syscall-0.2.8/src/lib.rs:3:12
|
3 | #![feature(const_fn)] // see https://git...https://github.com/rust-lang/rust/pull/84310
```
error[E0557]: feature has been removed
--> /home/poly/.cargo/registry/src/github.com-1ecc6299db9ec823/redox_syscall-0.2.8/src/lib.rs:3:12
|
3 | #![feature(const_fn)] // see https://github.com/rust-lang/rfcs/pull/2632
| ^^^^^^^^ feature has been removed
|
= note: split into finer-grained feature gates
```https://gitlab.redox-os.org/redox-os/redox/-/issues/1341Base filesystem structure and app/libraries2023-06-13T02:24:36ZYitzchak SchwarzBase filesystem structure and app/librariesHi,
Since you are making a brand new OS, why not take the opportunity to reroganize the filesystem structure and take care of the problem of applications and their runtimes at the same time?
For example, how about:
`/Boot` for the boot...Hi,
Since you are making a brand new OS, why not take the opportunity to reroganize the filesystem structure and take care of the problem of applications and their runtimes at the same time?
For example, how about:
`/Boot` for the bootloader
`/System` for system components and libraries. This part must maintain long term backwards compatibility. Should probably do as little as possible. This is also where things like the root home directory, the cli binaries, manpages, icons, desktop launchers, etc will be placed. It's an area that is messier (like / in Linux, though hopefully not that messy). It can still be managed by users who know what they are doing, but regular users shouldn't.
`/Users` for user home directories.
`/Libraries` for application libraries/runtimes. One folder per version. For example: `/Libraries/Gnome-3.36`, `/Libraries/Gnome-3.38`, `/Libraries/Gnome-40`, would each have a different version of the Gnome libraries installed inside them concurrently. Applications then link against specific major versions of the libraries they use. If something isn't in /System or in a runtime under /Libraries then you bundle it with your application. No more complex dependencies.
`/Applications` for applications. Each application will be in a self-contained folder with a standard structure so that the system can identify the parts that need to installed or uninstalled system-wide (like cli commands, desktop launchers, icons, man pages) and do it automatically. The installation and update of apps and libraries would simply be a matter of extracting a zip to the /Libraries or /Applications folders.
You can have a repository for system components and application runtimes and then have a separate app store for apps, but apps could also be distributed freely outside of any app store.
I made a similar suggestion to HelloSystem, which seemed to be well-received by the project owner:
https://github.com/helloSystem/hello/issues/151https://gitlab.redox-os.org/redox-os/redox/-/issues/1340Any real time community?2021-06-12T18:59:23ZPhilip PetersonAny real time community?Hi there,
I've been interested in getting into the Redox project for some time (~ 1 year). However, most of the times I open the repository, the build is failing or I can't get it to build locally. I'm never sure if this is just my loca...Hi there,
I've been interested in getting into the Redox project for some time (~ 1 year). However, most of the times I open the repository, the build is failing or I can't get it to build locally. I'm never sure if this is just my local system or if it's something upstream. Is there a Discord or anything realtime to troubleshoot these issues on?
Thanks,
Philiphttps://gitlab.redox-os.org/redox-os/ion/-/issues/1001Parameter Substitution on arrays2023-03-03T09:37:32ZNils ErikssonParameter Substitution on arraysfeat: Add an equivalent @or method for arrays. With this addition both arrays and string can have alternative default values.
How would it work?
An empty array would trigger the @or method to return the second argument instead of the fi...feat: Add an equivalent @or method for arrays. With this addition both arrays and string can have alternative default values.
How would it work?
An empty array would trigger the @or method to return the second argument instead of the first.
It could work with array slicing, but it's forbidden to create empty slices of arrays as of right now, thus the method would never trigger and return the second argument.
BREAKING CHANGE: None that I know of.
perf: impact
performance none
usability increase
maintainability increase
code: input
```
let array = []
# Inline array in @or method
echo @or(@array [foo bar])
# single value
echo @or(@array baz)
# variable expansion
let default = foobar
echo @or(@array $default)
# method would not trigger
let array ++= faz
echo @or(@array $default)
```
expect: output
```
foo bar
baz
foobar
faz
```
reason: Strings already have this feature and arrays should to. Parameter substitution are very common in bash scripts and should be ported over fully.
context: This is a stripped down version of a script I have today. I have to add the default argument in a check when I could have written it like: "${@-status}" in bash. I can't demonstrate how I would use the @or method as I still depend on array slicing.
```
fn mix_status
if bool $(pamixer --get-mute)
echo "--%"
else
printf "%2s%%\n" $(pamixer --get-volume)
end
end
test $len(@args) = 1 && let args ++= "status"
for arg in @args[1..]
match $arg
case status; mix_status
case toggle-mute; pamixer --toggle-mute
case mute; pamixer --mute
case _; echo "Usage: $(basename @args[0]) [status|toggle-mute|mute] ... (default: status)"
end
end
```
behavior of bash
Here is bash solution to parameter substitution: https://tldp.org/LDP/abs/html/parameter-substitution.htmlhttps://gitlab.redox-os.org/redox-os/ion/-/issues/1000Process substitution should be given a priority2021-06-01T11:10:44ZJMWProcess substitution should be given a priorityProcess substitution should be given a priority. Many Unix and Linux commands operate on files, and not because the creators of these utilities made any sort of bad decision, but because it was logical for these commands to operate on fi...Process substitution should be given a priority. Many Unix and Linux commands operate on files, and not because the creators of these utilities made any sort of bad decision, but because it was logical for these commands to operate on files rather than strings - and notwithstanding this, it is nevertheless often useful to make these utilities operate on strings using process substitution. The following link illustrates how full generality requires that Ion shell implement process substitution:
https://catonmat.net/set-operations-in-unix-shell
Sets don't really constitute an edge case here. There are a great many utilities that operate on files that can usefully be coerced into operating on strings using process substitution. Implementing process substitution in Ion shell should be given a priority.https://gitlab.redox-os.org/redox-os/redox/-/issues/1337bash: line 49: rsync: command not found2023-07-02T14:51:36ZEthan Knowltonbash: line 49: rsync: command not found<!-- Thank you for taking the time to submit an issue! By following these comments and filling out the sections below, you can help the developers get the necessary information to fix your issue. Please provide a single issue per report....<!-- Thank you for taking the time to submit an issue! By following these comments and filling out the sections below, you can help the developers get the necessary information to fix your issue. Please provide a single issue per report. You can also preview this report before submitting it. Feel free to modify/remove sections to fit the nature of your issue. -->
<!-- Please search to check that your issue has not been created already. By preventing duplicate issues, you can help keep the repository organized. If your current issue has already been created and is still unresolved, you can contribute by commenting there. -->
<!-- Replace the empty checkbox [ ] below with a checked one [x] if you have already searched for your issue. -->
- [x] I agree that I have searched opened and closed issues to prevent duplicates.
--------------------
## Description
<!-- Briefly summarize/describe the issue that you are experiencing below. -->
I followed the directions to compile and run ReduxOS, on Arch Linux. Ran the `bootstrap.sh` and then went to run `time make all` to no avail.
## Environment info
<!-- To understand where your issue originates, please include some relevant information about your environment. -->
<!-- If you are using a pre-built release of Redox, please specify the release version below. -->
<!-- If you have built Redox OS yourself, please provide the following information: -->
- Operating system:
Arch Linux
- `uname -a`:
linux edison 5.11.15-arch1-2 #1 SMP PREEMPT Sat, 17 Apr 2021 00:22:30 +0000 x86_64 GNU/Linux
- `rustc -V`:
rustc 1.50.0-nightly (11c94a197 2020-12-21)
- `git rev-parse HEAD`:
a38bcdd20b9bbb5e7d279df61ad9a3a72f61bfea
## Steps to reproduce
<!-- If possible, please list the steps to reproduce ("trigger") your issue below. Being detailed definitely helps speed up bug fixes. -->
1. Use Arch Linux
2. Run `bootstrap.sh` as per documentation
3. Run `time make all` as per documentation
## Behavior
<!-- It may seem obvious to know what to expect, but isolating the behavior from everything else simplifies the development process. Remember to provide a single issue in this report. You can use the References section below to link your issues together. -->
It seems like the bootstrap was missing `rsync` package.
<!-- Describe the behavior you expect your steps should yield (i.e., correct behavior). -->
- **Expected behavior**:
For ReduxOS to compile successfully.
<!-- Describe the behavior you observed when running your steps (i.e., buggy behavior). -->
- **Actual behavior**:
```
+ COOKBOOK_CONFIGURE_FLAGS=(--host="${TARGET}" --prefix="" --disable-shared --enable-static)
+ COOKBOOK_MAKE=make
+ rsync -av --delete /home/ethan/Projects/tryredox/redox/cookbook/recipes/dash/source/ ./
bash: line 49: rsync: command not found
redoxer env: exit code: 127
cook - dash - error: failed to build: failed to run "/home/ethan/Projects/tryredox/redox/cookbook/target/release/cookbook_redoxer" "env" "bash" "-ex": exited with status exit code: 1
./repo.sh failed.make: *** [mk/filesystem.mk:18: build/filesystem.bin] Error 1
make all 3363.10s user 73.12s system 695% cpu 8:13.89 total
```
<!-- **Solution?** Have a solution in mind? Propose your solution below. -->
- **Proposed solution**:
Include `rsync` in `bootstrap.sh`, maybe here https://gitlab.redox-os.org/redox-os/redox/-/blob/master/bootstrap.sh#L190https://gitlab.redox-os.org/redox-os/redox/-/issues/1335Adding precompiled builds to the README2023-06-13T02:36:16ZblackfurAdding precompiled builds to the README- [x] I agree that I have searched opened and closed issues to prevent duplicates.
--------------------
## Description
I tried using RedoxOS a few days ago, the build process took away a lot of disk space because of temporary files a...- [x] I agree that I have searched opened and closed issues to prevent duplicates.
--------------------
## Description
I tried using RedoxOS a few days ago, the build process took away a lot of disk space because of temporary files and libraries. All I wanted was to test out the 0.6.0 release. But I couldn't find any precompiled images.
- **Proposed solution**:
Add a link to the CI pipelines in the README
I know this seems silly but please consider it.
Best regards.https://gitlab.redox-os.org/redox-os/relibc/-/issues/169Issue with `gcc` (during `make test` or `cargo test`)2023-03-03T07:15:12ZLucius HuIssue with `gcc` (during `make test` or `cargo test`)I'm able to build the project with `cargo build`, with only a few warnings but no error.
But I cannot do `cargo test` or `make test` for it cannot work with my `gcc`.
Error message for `make test`:
<details>
error: failed to run custom ...I'm able to build the project with `cargo build`, with only a few warnings but no error.
But I cannot do `cargo test` or `make test` for it cannot work with my `gcc`.
Error message for `make test`:
<details>
error: failed to run custom build command for `relibc v0.2.5 (/home/lucius/GitHub/relibc)`
Caused by:
process didn't exit successfully: `/home/lucius/GitHub/relibc/target/release/build/relibc-14ee5ea3106c90e0/build-script-build` (exit code: 1)
--- stdout
cargo:rerun-if-changed="src/header/elf"
cargo:rerun-if-changed="src/header/elf/cbindgen.toml"
cargo:rerun-if-changed="src/header/elf/mod.rs"
cargo:rerun-if-changed="src/header/sgtty"
cargo:rerun-if-changed="src/header/sgtty/cbindgen.toml"
cargo:rerun-if-changed="src/header/sgtty/mod.rs"
cargo:rerun-if-changed="src/header/libgen"
cargo:rerun-if-changed="src/header/libgen/cbindgen.toml"
cargo:rerun-if-changed="src/header/libgen/mod.rs"
cargo:rerun-if-changed="src/header/arch_x64_user"
cargo:rerun-if-changed="src/header/arch_x64_user/cbindgen.toml"
cargo:rerun-if-changed="src/header/arch_x64_user/mod.rs"
cargo:rerun-if-changed="src/header/ctype"
cargo:rerun-if-changed="src/header/ctype/cbindgen.toml"
cargo:rerun-if-changed="src/header/ctype/mod.rs"
cargo:rerun-if-changed="src/header/grp"
cargo:rerun-if-changed="src/header/grp/cbindgen.toml"
cargo:rerun-if-changed="src/header/grp/mod.rs"
cargo:rerun-if-changed="src/header/errno"
cargo:rerun-if-changed="src/header/errno/cbindgen.toml"
cargo:rerun-if-changed="src/header/errno/mod.rs"
cargo:rerun-if-changed="src/header/sys_ioctl"
cargo:rerun-if-changed="src/header/sys_ioctl/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_ioctl/mod.rs"
cargo:rerun-if-changed="src/header/fcntl"
cargo:rerun-if-changed="src/header/fcntl/cbindgen.toml"
cargo:rerun-if-changed="src/header/fcntl/mod.rs"
cargo:rerun-if-changed="src/header/semaphore"
cargo:rerun-if-changed="src/header/semaphore/cbindgen.toml"
cargo:rerun-if-changed="src/header/semaphore/mod.rs"
cargo:rerun-if-changed="src/header/sys_stat"
cargo:rerun-if-changed="src/header/sys_stat/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_stat/mod.rs"
cargo:rerun-if-changed="src/header/wchar"
cargo:rerun-if-changed="src/header/wchar/cbindgen.toml"
cargo:rerun-if-changed="src/header/wchar/mod.rs"
cargo:rerun-if-changed="src/header/inttypes"
cargo:rerun-if-changed="src/header/inttypes/cbindgen.toml"
cargo:rerun-if-changed="src/header/inttypes/mod.rs"
cargo:rerun-if-changed="src/header/sys_times"
cargo:rerun-if-changed="src/header/sys_times/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_times/mod.rs"
cargo:rerun-if-changed="src/header/netinet_tcp"
cargo:rerun-if-changed="src/header/netinet_tcp/cbindgen.toml"
cargo:rerun-if-changed="src/header/netinet_tcp/mod.rs"
cargo:rerun-if-changed="src/header/stdio"
cargo:rerun-if-changed="src/header/stdio/cbindgen.toml"
cargo:rerun-if-changed="src/header/stdio/mod.rs"
cargo:rerun-if-changed="src/header/regex"
cargo:rerun-if-changed="src/header/regex/cbindgen.toml"
cargo:rerun-if-changed="src/header/regex/mod.rs"
cargo:rerun-if-changed="src/header/string"
cargo:rerun-if-changed="src/header/string/cbindgen.toml"
cargo:rerun-if-changed="src/header/string/mod.rs"
cargo:rerun-if-changed="src/header/netinet_ip"
cargo:rerun-if-changed="src/header/netinet_ip/cbindgen.toml"
cargo:rerun-if-changed="src/header/netinet_ip/mod.rs"
cargo:rerun-if-changed="src/header/sys_wait"
cargo:rerun-if-changed="src/header/sys_wait/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_wait/mod.rs"
cargo:rerun-if-changed="src/header/sys_socket"
cargo:rerun-if-changed="src/header/sys_socket/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_socket/mod.rs"
cargo:rerun-if-changed="src/header/utime"
cargo:rerun-if-changed="src/header/utime/cbindgen.toml"
cargo:rerun-if-changed="src/header/utime/mod.rs"
cargo:rerun-if-changed="src/header/sys_un"
cargo:rerun-if-changed="src/header/sys_un/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_un/mod.rs"
cargo:rerun-if-changed="src/header/sys_random"
cargo:rerun-if-changed="src/header/sys_random/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_random/mod.rs"
cargo:rerun-if-changed="src/header/dlfcn"
cargo:rerun-if-changed="src/header/dlfcn/cbindgen.toml"
cargo:rerun-if-changed="src/header/dlfcn/mod.rs"
cargo:rerun-if-changed="src/header/sys_statvfs"
cargo:rerun-if-changed="src/header/sys_statvfs/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_statvfs/mod.rs"
cargo:rerun-if-changed="src/header/time"
cargo:rerun-if-changed="src/header/time/cbindgen.toml"
cargo:rerun-if-changed="src/header/time/mod.rs"
cargo:rerun-if-changed="src/header/arpa_inet"
cargo:rerun-if-changed="src/header/arpa_inet/cbindgen.toml"
cargo:rerun-if-changed="src/header/arpa_inet/mod.rs"
cargo:rerun-if-changed="src/header/sys_resource"
cargo:rerun-if-changed="src/header/sys_resource/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_resource/mod.rs"
cargo:rerun-if-changed="src/header/sys_utsname"
cargo:rerun-if-changed="src/header/sys_utsname/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_utsname/mod.rs"
cargo:rerun-if-changed="src/header/dirent"
cargo:rerun-if-changed="src/header/dirent/cbindgen.toml"
cargo:rerun-if-changed="src/header/dirent/mod.rs"
cargo:rerun-if-changed="src/header/locale"
cargo:rerun-if-changed="src/header/locale/cbindgen.toml"
cargo:rerun-if-changed="src/header/locale/mod.rs"
cargo:rerun-if-changed="src/header/sys_timeb"
cargo:rerun-if-changed="src/header/sys_timeb/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_timeb/mod.rs"
cargo:rerun-if-changed="src/header/sys_ptrace"
cargo:rerun-if-changed="src/header/sys_ptrace/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_ptrace/mod.rs"
cargo:rerun-if-changed="src/header/getopt"
cargo:rerun-if-changed="src/header/getopt/cbindgen.toml"
cargo:rerun-if-changed="src/header/getopt/mod.rs"
cargo:rerun-if-changed="src/header/unistd"
cargo:rerun-if-changed="src/header/unistd/cbindgen.toml"
cargo:rerun-if-changed="src/header/unistd/mod.rs"
cargo:rerun-if-changed="src/header/stdlib"
cargo:rerun-if-changed="src/header/stdlib/cbindgen.toml"
cargo:rerun-if-changed="src/header/stdlib/mod.rs"
cargo:rerun-if-changed="src/header/sys_select"
cargo:rerun-if-changed="src/header/sys_select/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_select/mod.rs"
cargo:rerun-if-changed="src/header/netdb"
cargo:rerun-if-changed="src/header/netdb/cbindgen.toml"
cargo:rerun-if-changed="src/header/netdb/mod.rs"
cargo:rerun-if-changed="src/header/strings"
cargo:rerun-if-changed="src/header/strings/cbindgen.toml"
cargo:rerun-if-changed="src/header/strings/mod.rs"
cargo:rerun-if-changed="src/header/pwd"
cargo:rerun-if-changed="src/header/pwd/cbindgen.toml"
cargo:rerun-if-changed="src/header/pwd/mod.rs"
cargo:rerun-if-changed="src/header/sys_file"
cargo:rerun-if-changed="src/header/sys_file/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_file/mod.rs"
cargo:rerun-if-changed="src/header/sys_uio"
cargo:rerun-if-changed="src/header/sys_uio/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_uio/mod.rs"
cargo:rerun-if-changed="src/header/sys_procfs"
cargo:rerun-if-changed="src/header/sys_procfs/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_procfs/mod.rs"
cargo:rerun-if-changed="src/header/sys_auxv"
cargo:rerun-if-changed="src/header/sys_auxv/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_auxv/mod.rs"
cargo:rerun-if-changed="src/header/signal"
cargo:rerun-if-changed="src/header/signal/cbindgen.toml"
cargo:rerun-if-changed="src/header/signal/mod.rs"
cargo:rerun-if-changed="src/header/fnmatch"
cargo:rerun-if-changed="src/header/fnmatch/cbindgen.toml"
cargo:rerun-if-changed="src/header/fnmatch/mod.rs"
cargo:rerun-if-changed="src/header/netinet_in"
cargo:rerun-if-changed="src/header/netinet_in/cbindgen.toml"
cargo:rerun-if-changed="src/header/netinet_in/mod.rs"
cargo:rerun-if-changed="src/header/arch_aarch64_user"
cargo:rerun-if-changed="src/header/arch_aarch64_user/cbindgen.toml"
cargo:rerun-if-changed="src/header/arch_aarch64_user/mod.rs"
cargo:rerun-if-changed="src/header/poll"
cargo:rerun-if-changed="src/header/poll/cbindgen.toml"
cargo:rerun-if-changed="src/header/poll/mod.rs"
cargo:rerun-if-changed="src/header/sys_time"
cargo:rerun-if-changed="src/header/sys_time/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_time/mod.rs"
cargo:rerun-if-changed="src/header/assert"
cargo:rerun-if-changed="src/header/assert/cbindgen.toml"
cargo:rerun-if-changed="src/header/assert/mod.rs"
cargo:rerun-if-changed="src/header/dl-tls"
cargo:rerun-if-changed="src/header/dl-tls/cbindgen.toml"
cargo:rerun-if-changed="src/header/dl-tls/mod.rs"
cargo:rerun-if-changed="src/header/limits"
cargo:rerun-if-changed="src/header/limits/cbindgen.toml"
cargo:rerun-if-changed="src/header/limits/mod.rs"
cargo:rerun-if-changed="src/header/sys_epoll"
cargo:rerun-if-changed="src/header/sys_epoll/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_epoll/mod.rs"
cargo:rerun-if-changed="src/header/termios"
cargo:rerun-if-changed="src/header/termios/cbindgen.toml"
cargo:rerun-if-changed="src/header/termios/mod.rs"
cargo:rerun-if-changed="src/header/float"
cargo:rerun-if-changed="src/header/float/cbindgen.toml"
cargo:rerun-if-changed="src/header/float/mod.rs"
cargo:rerun-if-changed="src/header/sys_types"
cargo:rerun-if-changed="src/header/sys_types/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_types/mod.rs"
cargo:rerun-if-changed="src/header/wctype"
cargo:rerun-if-changed="src/header/wctype/cbindgen.toml"
cargo:rerun-if-changed="src/header/wctype/mod.rs"
cargo:rerun-if-changed="src/header/sys_mman"
cargo:rerun-if-changed="src/header/sys_mman/cbindgen.toml"
cargo:rerun-if-changed="src/header/sys_mman/mod.rs"
TARGET = Some("x86_64-unknown-linux-gnu")
OPT_LEVEL = Some("3")
HOST = Some("x86_64-unknown-linux-gnu")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = Some("x86_64-linux-gnu-gcc")
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = Some("-g -O3 -feliminate-unused-debug-types -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=32 -Wformat -Wformat-security -m64 -fasynchronous-unwind-tables -Wp,-D_REENTRANT -ftree-loop-distribute-patterns -Wl,-z -Wl,now -Wl,-z -Wl,relro -fno-semantic-interposition -ffat-lto-objects -fno-trapping-math -Wl,-sort-common -Wl,--enable-new-dtags -mtune=skylake -Wa,-mbranches-within-32B-boundaries")
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
CARGO_CFG_TARGET_FEATURE = Some("fxsr,mmx,sse,sse2")
running: "x86_64-linux-gnu-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-g" "-O3" "-feliminate-unused-debug-types" "-pipe" "-Wall" "-Wp,-D_FORTIFY_SOURCE=2" "-fexceptions" "-fstack-protector" "--param=ssp-buffer-size=32" "-Wformat" "-Wformat-security" "-m64" "-fasynchronous-unwind-tables" "-Wp,-D_REENTRANT" "-ftree-loop-distribute-patterns" "-Wl,-z" "-Wl,now" "-Wl,-z" "-Wl,relro" "-fno-semantic-interposition" "-ffat-lto-objects" "-fno-trapping-math" "-Wl,-sort-common" "-Wl,--enable-new-dtags" "-mtune=skylake" "-Wa,-mbranches-within-32B-boundaries" "-I" "/home/lucius/GitHub/relibc/include" "-I" "/home/lucius/GitHub/relibc/target/include" "-I" "/home/lucius/GitHub/relibc/pthreads-emb" "-nostdinc" "-nostdlib" "-fno-stack-protector" "-Wno-expansion-to-defined" "-o" "/home/lucius/GitHub/relibc/target/x86_64-unknown-linux-gnu/release/build/relibc-19ead047d6528c2b/out/src/c/ptrace.o" "-c" "src/c/ptrace.c"
--- stderr
error occurred: Failed to find tool. Is `x86_64-linux-gnu-gcc` installed?
make: *** [Makefile:173: "target/x86_64-unknown-linux-gnu"/release/librelibc.a] Error 101
</details>
FYI, I've GCC installed:
```
𝛌> gcc --version
gcc (Clear Linux OS for Intel Architecture) 10.2.1 20210405 releases/gcc-10.2.0-1145-g6aa75d3740
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```https://gitlab.redox-os.org/redox-os/redox/-/issues/1332Redox OS Loader doesn't work !2023-06-13T02:15:50ZRix565Redox OS Loader doesn't work !OS : Ubuntu 20.10
VM Software : Virtualbox
The VM is stuck at stage 2 of the loader !OS : Ubuntu 20.10
VM Software : Virtualbox
The VM is stuck at stage 2 of the loader !https://gitlab.redox-os.org/redox-os/redox/-/issues/1330log: vs logging: scheme2021-03-30T00:50:27ZJoshua Abrahamlog: vs logging: schemeThere are currently two different schemes for logging: `log:` and `logging:`. There doesn't appear to be any consumers of the `log:` scheme, which is provided by `logd`. The `logging:` scheme is created by the `redox-log` library and use...There are currently two different schemes for logging: `log:` and `logging:`. There doesn't appear to be any consumers of the `log:` scheme, which is provided by `logd`. The `logging:` scheme is created by the `redox-log` library and used by the `pcid` user daemon. Which scheme should be used by other daemons for logging? Is one deprecated in favor of the other?https://gitlab.redox-os.org/redox-os/bootloader-efi/-/issues/3Bootloader hardcodes 0x10_0000 as available, which can cause problems2022-04-11T22:07:06ZJacob Lorentzon4ldo2@protonmail.comBootloader hardcodes 0x10_0000 as available, which can cause problemsCurrently, the EFI bootloader is hardcoding the physical address 0x10_0000 (1 MiB) as a target to move the kernel to. This is unfortunately _not_ guaranteed to work; in fact, QEMU when using the default QEMU make target, some addresses w...Currently, the EFI bootloader is hardcoding the physical address 0x10_0000 (1 MiB) as a target to move the kernel to. This is unfortunately _not_ guaranteed to work; in fact, QEMU when using the default QEMU make target, some addresses within offsets 0x80_0000 to 0x150_0000 are reserved for ACPI NVS (i.e. not just storing reclaimable tables, but possibly registers) and boot services data (which from my understanding could store crucial structures, like page tables or descriptor tables).![redox-bootloader](/uploads/b57e9d0cd6570be5323031da5052118b/redox-bootloader.png).
~~This only allows kernels up to 8 MiB large in this case, which makes the regular `make qemu_efi` work, but makes the `make qemu_iso_efi` target triple fault (which again could be caused by something else, but given that the kernel in that case gets as large as 200 MiB, it _will_ overwrite the reserved regions).~~
What I suggest we can do to fix this, is to be more flexible about where the kernel can be located in the physical address space. Since KERNEL_OFFSET is a hardcoded constant in the kernel binary, it must be contiguous in virtual address space. We should thus let the kernel reserve itself in the allocator structures, and allow the bootloader to potentially load it non-contiguously in physical address space. Otherwise we could force the bootloader to load the kernel contiguously in the physical address space, but allow it to be relocated anywhere physically (i.e. not hardcoded to 1 MiB).Jacob Lorentzon4ldo2@protonmail.comJacob Lorentzon4ldo2@protonmail.comhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1329Freeze when using std::sync::Barrier2023-05-12T18:39:59ZJacob Lorentzon4ldo2@protonmail.comFreeze when using std::sync::BarrierThe following example freezes on Redox, whereas it runs to completion on Linux.
```rust
use std::sync::{Arc, Barrier};
fn main() {
let barrier = Arc::new(Barrier::new(5));
let threads = (0..4).map(|_| {
let barrier = A...The following example freezes on Redox, whereas it runs to completion on Linux.
```rust
use std::sync::{Arc, Barrier};
fn main() {
let barrier = Arc::new(Barrier::new(5));
let threads = (0..4).map(|_| {
let barrier = Arc::clone(&barrier);
std::thread::spawn(move || {
barrier.wait();
})
}).collect::<Vec<_>>();
barrier.wait();
for thread in threads {
thread.join().unwrap();
}
}
```
The bug likely pertains to `relibc`, but given that there have been `futex` bugs in the past, I decided to file the issue here instead.Jeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/ion/-/issues/997Replace err-derive with thiserror2021-01-23T17:10:01ZNathaniel Barragancontact@nathanielbarragan.xyzReplace err-derive with thiserrorThe `err-derive` crate is now depreciated, and the author currently recommends moving to `thiserror`
Some info:
Currently, the error dervies that use `err-derive` take up about 149 lines of code. `thiserror` although not a drop-in repl...The `err-derive` crate is now depreciated, and the author currently recommends moving to `thiserror`
Some info:
Currently, the error dervies that use `err-derive` take up about 149 lines of code. `thiserror` although not a drop-in replacement is close to it, and it shouldn't be too difficult to transfer over.
Info on switching over from `err-derive` that I've found out
`#[derive(Error)` still works as normal
An example of something that needs to change is any `#[error(display = "whatever")]` lines. This actually becomes easier with it looking like `#[error("whatever")]`. Any sort of fields that are needed from the struct or tuple are done very similarly.
More information on `thiserror` can be found on docs.rs [here](https://docs.rs/thiserror/1.0.23/thiserror/). I recommend we just base on "1.0" and let any minor versions update as needed.https://gitlab.redox-os.org/redox-os/ion/-/issues/995neovim: can not read /tmp file created by shell2020-12-30T10:16:06Zmatu3baneovim: can not read /tmp file created by shellbug: I would like to use ion as shell inside neovim to read build logs in a new buffer or new tab. However neovim can not read /tmp files. Probably, because they are not created?
expect: ion should create /tmp files upon request and re...bug: I would like to use ion as shell inside neovim to read build logs in a new buffer or new tab. However neovim can not read /tmp files. Probably, because they are not created?
expect: ion should create /tmp files upon request and reading /tmp files should be possible
related: none
code: input to neovim in visual mode
```sh
:r !ls
```
expect: output
```txt
folder1
folder2
...
```
actual: output
```txt
Shell exit 1
E485: can not read file /tmp/nvimnokcRa/1
...
```
kernel: linux5.7
version: e033ca1c0c2ff8d1932137d2ed7354d003ad9cdc
interaction: none
context: run inside alacritty
behavior of bash: worksIon Shell v1.0.0https://gitlab.redox-os.org/redox-os/kernel/-/issues/103question: why was CI removed?2023-05-25T21:14:21Zmatu3baquestion: why was CI removed?https://gitlab.redox-os.org/redox-os/orbital/-/issues/28Orbital fails to launch on ~fresh Redox build installation2023-03-24T12:31:41ZColin DeanOrbital fails to launch on ~fresh Redox build installationI tried both `orbital display:3 orblogin launcher` as suggested [here](https://www.reddit.com/r/Redox/comments/jja2tn/redox_orbital_not_running/gauszjt/) and `orbital display:3/activate orblogin launcher` as present in `/etc/init.d/20_or...I tried both `orbital display:3 orblogin launcher` as suggested [here](https://www.reddit.com/r/Redox/comments/jja2tn/redox_orbital_not_running/gauszjt/) and `orbital display:3/activate orblogin launcher` as present in `/etc/init.d/20_orbital`, but both yield the same behavior on a redox-os/redox master branch build as of commit f30e25f.
They both panic with "called Result::unwrap() on an Err value: Function not implemented' with a pointer to [`orbital-core/src/lib.rs:79:8`](https://gitlab.redox-os.org/redox-os/orbital/-/blob/master/orbital-core/src/lib.rs#L79). Looks like there's a syscall returning an unexpected Err.
I was logged in as root, but also tried as user, which yielded only permission errors.
`orbital --version` fails with "no login manager present".https://gitlab.redox-os.org/redox-os/relibc/-/issues/168tcsetattr on redox doesn't support anything other than TCSANOW2021-03-12T18:51:40Zcoolreader18tcsetattr on redox doesn't support anything other than TCSANOWIn [sys_ioctl](https://gitlab.redox-os.org/redox-os/relibc/-/blob/master/src/header/sys_ioctl/redox.rs#L82) it only checks for the `TCSETS` (`TCSANOW`) ioctl kind, and not `TCSETSW` (`TCSADRAIN`, `TCSETS + 1`) or `TCSETSF` (`TCSAFLUSH`, ...In [sys_ioctl](https://gitlab.redox-os.org/redox-os/relibc/-/blob/master/src/header/sys_ioctl/redox.rs#L82) it only checks for the `TCSETS` (`TCSANOW`) ioctl kind, and not `TCSETSW` (`TCSADRAIN`, `TCSETS + 1`) or `TCSETSF` (`TCSAFLUSH`, `TCSETS + 2`). I'm not sure if it would be a really easy fix, since the `TCSETS` handling as is seems pretty rudimentary, but maybe it'd be possible to just forward all the variants to the `TCSETS` code.