| 16 Apr 2025 |
rosssmyth | The edge case was...all of windows | 02:24:45 |
Tristan Ross | Oh | 02:27:33 |
| lazyLambda set a profile picture. | 03:24:14 |
| - joined the room. | 11:46:48 |
| 17 Apr 2025 |
| axel joined the room. | 18:02:30 |
FliegendeWurst | Are there really platforms where the byte order is different for floats and integers? | 19:09:55 |
FliegendeWurst | * Are there really platforms where the byte order is different for floats and integers?
I'm wondering, because I found this check: https://github.com/john30/ebusd/blob/25.1/CMakeLists.txt#L139-L165
But could not find any platform on godbolt that would trigger the other case. | 19:15:46 |
rosssmyth | For IEEE floats, no. | 19:38:59 |
rosssmyth | I think PDP had a funny thing where this was not true, but that was also before IEEE floats | 19:39:34 |
rosssmyth | * I think PDP had a funny thing where this was not always true, but that was also before IEEE floats | 19:39:50 |
rosssmyth | LLVM makes a lot of assumptions about the fp environment, so I would be surprised if llvm even supported such a thing. | 19:41:27 |
rosssmyth | * LLVM makes a lot of implicit assumptions about the fp environment, so I would be surprised if llvm even supported such a thing. | 19:43:28 |
@trofi:matrix.org | Checking gcc source tree for case of WORDS_BIG_ENDIAN != FLOAT_WORDS_BIG_ENDIAN git grep -P '#define (FLOAT_)?WORDS_BIG_ENDIAN' https://bpa.st/raw/NKQQ I think I only see pdp11:
gcc/config/pdp11/pdp11.h:#define WORDS_BIG_ENDIAN 1
gcc/config/pdp11/pdp11.h:#define FLOAT_WORDS_BIG_ENDIAN 0
| 21:28:05 |
@trofi:matrix.org | (and it's one of two targets(along with mmix) that explicitly defines FLOAT_WORDS_BIG_ENDIAN, mmix probably does it out of redundancy) | 21:30:35 |
| 18 Apr 2025 |
Tristan Ross | qttranslations> -- Install configuration: "Release"
qttranslations> -- Installing: /nix/store/fx4yvhdpq7kld3gq0dqcxd5y7yb4i942-qttranslations-6.9.0/translations/assistant_ar.qm
qttranslations> CMake Error at src/translations/cmake_install.cmake:54 (file):
qttranslations> file INSTALL cannot copy file
qttranslations> "/build/qttranslations-everywhere-src-6.9.0/build//nix/store/fx4yvhdpq7kld3gq0dqcxd5y7yb4i942-qttranslations-6.9.0/translations/assistant_ar.qm"
qttranslations> to
qttranslations> "/nix/store/fx4yvhdpq7kld3gq0dqcxd5y7yb4i942-qttranslations-6.9.0/translations/assistant_ar.qm":
qttranslations> Permission denied.
qttranslations> Call Stack (most recent call first):
qttranslations> src/cmake_install.cmake:47 (include)
qttranslations> cmake_install.cmake:47 (include)
qttranslations>
qttranslations>
qttranslations> FAILED: CMakeFiles/install.util
qttranslations> cd /build/qttranslations-everywhere-src-6.9.0/build && /nix/store/lc66gmgm58bbx4y5jjkqscriwvshp9fd-cmake-3.31.6/bin/cmake -P cmake_install.cmake
qttranslations> ninja: build stopped: subcommand failed.
Compiling with neoverse-n1 in gcc.tune, qttranslations failed in an odd way
| 01:01:51 |
Tristan Ross | Dang, gfortran is broken and it's the same as https://github.com/NixOS/nixpkgs/issues/374950 | 02:54:22 |
| @simon.brandner:envs.net joined the room. | 07:29:01 |
@simon.brandner:envs.net | Hi, could someone please help me out with making a nix shell for compiling using arm-linux-gnueabihf-gcc with -lrt and -lpthread on my x86 system? Thank you | 07:31:35 |
dramforever | try pkgsCross.armv7l-hf-multiplatform.stdenv.cc? | 07:34:11 |
dramforever | like this
$ cat hello.c
#include <stdio.h>
int main() { printf("hello sizeof(void*) = %zd\n", sizeof(void*)); }
$ vim hello.c
$ armv7l-unknown-linux-gnueabihf-gcc -o armhello -lrt -lpthread hello.c
$ qemu-arm
qemu: no user program specified
$ qemu-arm ./armhello
hello sizeof(void*) = 4
| 07:36:33 |
dramforever | * like this
$ cat hello.c
#include <stdio.h>
int main() { printf("hello sizeof(void*) = %zd\n", sizeof(void*)); }
$ armv7l-unknown-linux-gnueabihf-gcc -o armhello -lrt -lpthread hello.c
$ qemu-arm ./armhello
hello sizeof(void*) = 4
| 07:36:54 |
@simon.brandner:envs.net | I'll give it a go in a minute | 07:40:21 |
@simon.brandner:envs.net | So I simply tried nix-shell -p pkgsCross.armv7l-hf-multiplatform.stdenv.cc, if that is what you meant and got these errors:
/nix/store/viscj6hs10c5as7h53cxxw59yvgk505z-armv7l-unknown-linux-gnueabihf-binutils-2.43.1/bin/armv7l-unknown-linux-gnueabihf-ld: cannot find -lrt: No such file or directory
/nix/store/viscj6hs10c5as7h53cxxw59yvgk505z-armv7l-unknown-linux-gnueabihf-binutils-2.43.1/bin/armv7l-unknown-linux-gnueabihf-ld: cannot find -lpthread: No such file or direc
tory
/nix/store/viscj6hs10c5as7h53cxxw59yvgk505z-armv7l-unknown-linux-gnueabihf-binutils-2.43.1/bin/armv7l-unknown-linux-gnueabihf-ld: cannot find -lc: No such file or directory
| 07:55:38 |
dramforever | i can't reproduce this problem, how are you running this? | 09:36:34 |
dramforever | what are you compiling | 09:36:39 |
dramforever | hmm, could it be different a nixpkgs version? | 09:40:02 |
dramforever | yeah i don't get see any problem on latest nixos-unstable (2631b0b7abcea6e640ce31cd78ea58910d31e650) | 10:11:22 |
@simon.brandner:envs.net | So this turned out to work:
# flake.nix
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs = {nixpkgs, ...}: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
crossSystem = {
config = "armv7l-linux-gnueabihf";
};
};
in {
devShells.${system}.default = import ./nix/shell.nix {inherit pkgs;};
};
}
and
# nix/shell.nix
{pkgs, ...}:
pkgs.mkShell {
buildInputs = [
pkgs.glibc
pkgs.glibc.static
];
makeFlags = [
"CC=${pkgs.stdenv.cc.targetPrefix}cc"
"CXX=${pkgs.stdenv.cc.targetPrefix}g++"
];
}
with pkgs.glibc.static being the thing that made the difference
| 10:32:16 |
@simon.brandner:envs.net | (it simply turned out the program needed to be statically linked, so it needed the static version of glibc which now makes sense given the circumstances 😅) | 13:18:42 |
| 19 Apr 2025 |
| jopejoe1 (4094@epvpn) changed their display name from jopejoe1 to jopejoe1 (4094@eh22). | 12:59:36 |