!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

472 Members
100 Servers

Load older messages


SenderMessageTime
7 May 2025
@szlend:matrix.orgszlendor maybe root.pkgsBuildHost.pkgsTargetTarget == root.pkgsHostTarget (since targetTarget is +1,+1)21:36:15
@ss:someonex.netSomeoneSerge (UTC+U[-12,12]) It's the former, because ps: ps.pkgsTargetTarget translates by the vector of (1, 0), which is how you get from the point (0, 1) (pkgs = pkgsHostTarget) to the point (1, 1) (pkgs.pkgsTargetTarget) 21:41:55
@ss:someonex.netSomeoneSerge (UTC+U[-12,12]) Setup-hooks here print the accumulated vectors, but not the result of translating the current' derivation's platforms (0, 1) by that vector 21:44:01
@szlend:matrix.orgszlendI see yeah, thanks! I think I actually got it then21:48:52
8 May 2025
@98765abc:mozilla.org98765abc changed their profile picture.11:35:04
@curid:matrix.orgCuridRedacted or Malformed Event19:03:13
@curid:matrix.orgCurid Is there a better way to write this?
NIX_CFLAGS_COMPILE = if pkgs.system == "aarch64-unknown-linux-gnu" then "" else "-msse4.2"
19:14:52
@k900:0upti.meK900 if !stdenv.hostPlatform.isx86 19:17:58
@k900:0upti.meK900Or rather19:18:10
@k900:0upti.meK900 lib.optionalString stdenv.hostPlatform.isx86 "-msse4.2" 19:18:21
9 May 2025
@curid:matrix.orgCurid
let
  # latest unstable
  pkgs = (import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/b3582c75c7f21ce0b429898980eddbbf05c68e55.tar.gz")
    {
      crossSystem = "aarch64-unknown-linux-gnu";
    }).__splicedPackages;
in pkgs.mkShell {
  buildInputs = [ pkgs.cpuid ];
}
src/x86/cpuid.c:138:10: fatal error: cpuid.h: No such file or directory
  138 | #include <cpuid.h>

It seems to build x86 specific files https://github.com/pytorch/cpuinfo/blob/main/CMakeLists.txt

16:15:48
@rosscomputerguy:matrix.orgTristan Ross
  1. Use packages
  2. Add cmake (& optionally ninja) to packages
16:24:51
@curid:matrix.orgCuridI'm stupid, the cpuid package has nothing to do with cpuid.h16:37:11
@curid:matrix.orgCurid

🤔

       > CMake Error at CMakeLists.txt:71 (MESSAGE):
       >   Unrecognized CMAKE_SYSTEM_PROCESSOR value "x86_64"

https://github.com/google/XNNPACK/blob/659147817805d17c7be2d60bd7bbca7e780f9c82/CMakeLists.txt#L71

18:30:29
10 May 2025
@curid:matrix.orgCuridHow can I tell mkDerivation that the CMakeLists.txt isn't in the root dir? https://github.com/google/gemmlowp/tree/master/contrib17:16:18
@curid:matrix.orgCuridI'd ask in the main room if I could join it17:16:23
@k900:0upti.meK900 sourceRoot 17:16:35
@k900:0upti.meK900Also invited to the main room17:16:50
11 May 2025
@curid:matrix.orgCurid is cmake message(${CMAKE_SYSTEM_PROCESSOR}) suppose to print x86_64? 08:04:19
@curid:matrix.orgCurid

When cross-compiling, a CMAKE_TOOLCHAIN_FILE should set the CMAKE_SYSTEM_PROCESSOR variable to match target architecture that it specifies (via CMAKE_<LANG>COMPILER and perhaps CMAKE<LANG>_COMPILER_TARGET).

Am I suppose to set it manually?

08:05:35
@curid:matrix.orgCuridRedacted or Malformed Event19:16:46
@curid:matrix.orgCuridI finally managed to get tensorflow lite to cross-compile to aarch64 by using cmake instead of bazel: https://paste.debian.net/1374172/19:17:16
@curid:matrix.orgCuridshould I upstream it?19:33:39
@emilazy:matrix.orgemilyI don't know if you need those patches?19:35:55
@emilazy:matrix.orgemilyI'm pretty sure you can point CMake to the right place with flags19:36:14
@emilazy:matrix.orgemilyor at least inject stuff into the right paths, not sure19:36:25
12 May 2025
@curid:matrix.orgCurid
     ./tflite_patches/fetch_farmhash.patch
     ./tflite_patches/fetch_fft2d.patch
-    ./tflite_patches/fetch_gemmlowp.patch
+    #./tflite_patches/fetch_gemmlowp.patch
     ./tflite_patches/fetch_neon2sse.patch
     ./tflite_patches/fetch_cpuinfo.patch
     ./tflite_patches/fetch_ruy.patch
@@ -139,11 +139,12 @@ in stdenv.mkDerivation rec {
   configurePhase = ''
     cmake \
       -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
+      -DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=true \
       -Dabseil_SOURCE_DIR2=${abseil_src} \
       -Deigen_SOURCE_DIR2=$(pwd)/eigen_src \
       -Dfarmhash_SOURCE_DIR2=${farmhash_src} \
       -Dfft2d_SOURCE_DIR2=${fft2d_src} \
-      -Dgemmlowp_SOURCE_DIR2=${gemmlowp_src} \
+      -DFETCHCONTENT_SOURCE_DIR_gemmlowp=${gemmlowp_src} \
       -Dneon2sse_SOURCE_DIR2=${neon2sse_src} \
       -Dcpuinfo_SOURCE_DIR2=${cpuinfo_src} \

error: could not find git for clone of gemmlowp-populate

16:56:59
@curid:matrix.orgCuridhttps://github.com/tensorflow/tensorflow/blob/v2.12.1/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake16:57:37
@curid:matrix.orgCurid *
     ./tflite_patches/fetch_farmhash.patch
     ./tflite_patches/fetch_fft2d.patch
-    ./tflite_patches/fetch_gemmlowp.patch
+    #./tflite_patches/fetch_gemmlowp.patch
     ./tflite_patches/fetch_neon2sse.patch
     ./tflite_patches/fetch_cpuinfo.patch
     ./tflite_patches/fetch_ruy.patch
@@ -139,11 +139,12 @@ in stdenv.mkDerivation rec {
   configurePhase = ''
     cmake \
       -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
+      -DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=true \
       -Dabseil_SOURCE_DIR2=${abseil_src} \
       -Deigen_SOURCE_DIR2=$(pwd)/eigen_src \
       -Dfarmhash_SOURCE_DIR2=${farmhash_src} \
       -Dfft2d_SOURCE_DIR2=${fft2d_src} \
-      -Dgemmlowp_SOURCE_DIR2=${gemmlowp_src} \
+      -DFETCHCONTENT_SOURCE_DIR_gemmlowp=${gemmlowp_src} \
       -Dneon2sse_SOURCE_DIR2=${neon2sse_src} \
       -Dcpuinfo_SOURCE_DIR2=${cpuinfo_src} \
       > CMake Error at /nix/store/6fg3in4qihi93dp1p7in016d062dhw2b-cmake-3.22.3/share/cmake-3.22/Modules/FetchContent.cmake:1075 (message):
       >   CMake step for gemmlowp failed: 1
       > Call Stack (most recent call first):
       >   /nix/store/6fg3in4qihi93dp1p7in016d062dhw2b-cmake-3.22.3/share/cmake-3.22/Modules/FetchContent.cmake:1216:EVAL:2 (__FetchContent_directPopulate)
       >   /nix/store/6fg3in4qihi93dp1p7in016d062dhw2b-cmake-3.22.3/share/cmake-3.22/Modules/FetchContent.cmake:1216 (cmake_language)
       >   /build/source/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake:531 (FetchContent_Populate)
       >   /build/source/tensorflow/lite/tools/cmake/modules/gemmlowp.cmake:38 (OverridableFetchContent_Populate)
       >   /build/source/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake:18 (include)
       >   /build/source/tensorflow/lite/CMakeLists.txt:147 (find_package)

17:00:00
@curid:matrix.orgCurid *
     ./tflite_patches/fetch_farmhash.patch
     ./tflite_patches/fetch_fft2d.patch
-    ./tflite_patches/fetch_gemmlowp.patch
+    #./tflite_patches/fetch_gemmlowp.patch
     ./tflite_patches/fetch_neon2sse.patch
     ./tflite_patches/fetch_cpuinfo.patch
     ./tflite_patches/fetch_ruy.patch
@@ -139,11 +139,12 @@ in stdenv.mkDerivation rec {
   configurePhase = ''
     cmake \
       -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \
+      -DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=true \
       -Dabseil_SOURCE_DIR2=${abseil_src} \
       -Deigen_SOURCE_DIR2=$(pwd)/eigen_src \
       -Dfarmhash_SOURCE_DIR2=${farmhash_src} \
       -Dfft2d_SOURCE_DIR2=${fft2d_src} \
-      -Dgemmlowp_SOURCE_DIR2=${gemmlowp_src} \
+      -DFETCHCONTENT_SOURCE_DIR_gemmlowp=${gemmlowp_src} \
       -Dneon2sse_SOURCE_DIR2=${neon2sse_src} \
       -Dcpuinfo_SOURCE_DIR2=${cpuinfo_src} \
error: could not find git for clone of gemmlowp-populate
       > CMake Error at /nix/store/6fg3in4qihi93dp1p7in016d062dhw2b-cmake-3.22.3/share/cmake-3.22/Modules/FetchContent.cmake:1075 (message):
       >   CMake step for gemmlowp failed: 1
       > Call Stack (most recent call first):
       >   /nix/store/6fg3in4qihi93dp1p7in016d062dhw2b-cmake-3.22.3/share/cmake-3.22/Modules/FetchContent.cmake:1216:EVAL:2 (__FetchContent_directPopulate)
       >   /nix/store/6fg3in4qihi93dp1p7in016d062dhw2b-cmake-3.22.3/share/cmake-3.22/Modules/FetchContent.cmake:1216 (cmake_language)
       >   /build/source/tensorflow/lite/tools/cmake/modules/OverridableFetchContent.cmake:531 (FetchContent_Populate)
       >   /build/source/tensorflow/lite/tools/cmake/modules/gemmlowp.cmake:38 (OverridableFetchContent_Populate)
       >   /build/source/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake:18 (include)
       >   /build/source/tensorflow/lite/CMakeLists.txt:147 (find_package)

17:00:38

There are no newer messages yet.


Back to Room ListRoom Version: 6