@@ -74,66 +74,37 @@ jobs:
7474 - name : Setup cross-compilation environment
7575 if : matrix.target.os == 'ubuntu-latest' && matrix.target.target == 'aarch64-unknown-linux-gnu'
7676 run : |
77- # Add ARM64 architecture and configure package sources properly
78- sudo dpkg --add-architecture arm64
79-
80- # Create proper sources.list configuration for cross-compilation
81- sudo tee /etc/apt/sources.list.d/cross-compile.sources > /dev/null << 'EOF'
82- Types: deb
83- URIs: http://archive.ubuntu.com/ubuntu/
84- Suites: noble noble-updates noble-backports
85- Components: main universe restricted multiverse
86- Architectures: amd64 arm64
87- Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
88-
89- Types: deb
90- URIs: http://archive.ubuntu.com/ubuntu/
91- Suites: noble-security
92- Components: main universe restricted multiverse
93- Architectures: amd64 arm64
94- Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
95- EOF
96-
97- # Update package lists
98- sudo apt-get update
99-
100- # Install cross-compilation tools and ARM64 packages
77+ # Install cross-compilation tools for ARM64
10178 sudo apt-get install -y \
10279 gcc-aarch64-linux-gnu \
10380 g++-aarch64-linux-gnu \
10481 libc6-dev-arm64-cross \
105- libssl-dev:arm64 \
106- gcc-13 gcc-13-aarch64-linux-gnu
82+ gcc-13-aarch64-linux-gnu
10783
10884 # Set up cross-compilation environment variables
109- # echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
110- # echo "CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++" >> $GITHUB_ENV
111- # echo "AR_aarch64_unknown_linux_gnu=aarch64-linux-gnu-ar" >> $GITHUB_ENV
112- # echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
85+ echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
86+ echo "CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++" >> $GITHUB_ENV
87+ echo "AR_aarch64_unknown_linux_gnu=aarch64-linux-gnu-ar" >> $GITHUB_ENV
88+ echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
11389
114- # # Set up OpenSSL for cross-compilation using ARM64 libraries
115- # echo "PKG_CONFIG_SYSROOT_DIR=/usr/lib/aarch64-linux-gnu " >> $GITHUB_ENV
116- # echo "OPENSSL_DIR=/usr" >> $GITHUB_ENV
117- # echo "OPENSSL_LIB_DIR=/usr/lib/aarch64 -linux-gnu" >> $GITHUB_ENV
118- # echo "OPENSSL_INCLUDE_DIR=/usr/include" >> $GITHUB_ENV
90+ # Set up OpenSSL for cross-compilation ( using host libraries)
91+ echo "PKG_CONFIG_ALLOW_CROSS=1 " >> $GITHUB_ENV
92+ echo "OPENSSL_DIR=/usr" >> $GITHUB_ENV
93+ echo "OPENSSL_LIB_DIR=/usr/lib/x86_64 -linux-gnu" >> $GITHUB_ENV
94+ echo "OPENSSL_INCLUDE_DIR=/usr/include" >> $GITHUB_ENV
11995
12096 - name : Setup native Linux environment
12197 if : matrix.target.os == 'ubuntu-latest' && matrix.target.target == 'x86_64-unknown-linux-gnu'
12298 run : |
12399 # Ensure native build has proper OpenSSL setup
124- # echo "OPENSSL_DIR=/usr" >> $GITHUB_ENV
125- # echo "OPENSSL_LIB_DIR=/usr/lib/x86_64-linux-gnu" >> $GITHUB_ENV
126- # echo "OPENSSL_INCLUDE_DIR=/usr/include" >> $GITHUB_ENV
100+ echo "OPENSSL_DIR=/usr" >> $GITHUB_ENV
101+ echo "OPENSSL_LIB_DIR=/usr/lib/x86_64-linux-gnu" >> $GITHUB_ENV
102+ echo "OPENSSL_INCLUDE_DIR=/usr/include" >> $GITHUB_ENV
127103
128104 - name : Install macOS dependencies
129105 if : matrix.target.os == 'macos-latest'
130106 run : |
131107 brew install pkg-config openssl@3
132- # Set up OpenSSL environment variables for macOS
133- # echo "OPENSSL_DIR=$(brew --prefix openssl@3)" >> $GITHUB_ENV
134- # echo "OPENSSL_LIB_DIR=$(brew --prefix openssl@3)/lib" >> $GITHUB_ENV
135- # echo "OPENSSL_INCLUDE_DIR=$(brew --prefix openssl@3)/include" >> $GITHUB_ENV
136- # echo "PKG_CONFIG_PATH=$(brew --prefix openssl@3)/lib/pkgconfig" >> $GITHUB_ENV
137108
138109 - name : Build project
139110 run : cargo build --target ${{ matrix.target.target }} --features ${{ matrix.feature }}
0 commit comments