Anchor Deploy Error: ELF error: Multiple or no text sections, consider removing llc option: -function-sections

I'm trying to deploy a Solana program created with Anchor framework. The program compiles successfully with both cargo build and anchor build commands, but when I try to deploy it using anchor deploy, I'm receiving the following error:

Deploying cluster: https://api.devnet.solana.com
Upgrade authority: /home/joao-pedro/.config/solana/id.json
Deploying program "sollearning"...
Program path: /home/joao-pedro/Documents/projects/new-sollearning/sollearning/target/deploy/sollearning.so...
Error: ELF error: ELF error: Multiple or no text sections, consider removing llc option: -function-sections
There was a problem deploying: Output { status: ExitStatus(unix_wait_status(256)), stdout: "", stderr: "" }.

This happens regardless of whether I try to deploy to localnet (using a local solana-test-validator) or to devnet - the same error occurs in both environments. The text section isn't generated, and I don't know why.

The strange part is that the build process seems to complete without errors:

  • anchor build runs successfully and produces a .so file in the target directory
  • cargo build completes without errors
  • cargo check passes

But when trying to deploy, the ELF file seems to be incorrectly generated, even though there are no build errors.

I've also tried:

  • Cleaning the project with anchor clean and rebuilding
  • Checking for compatibility issues between Solana CLI and Anchor versions
  • Verifying the Cargo.toml configuration for any problematic compiler flags
  • Uninstalling and reinstalling the tools (Solana, Rust, Anchor, etc.)
  • Migrating the project and all its files to a completely fresh directory, but the issue persisted
  • Investigating the generated .so file, which is suspiciously small (only 784 bytes) despite the build process completing without any errors or warnings

Project Structure

This is a standard Anchor project created with anchor init. The program appears to build correctly, but the generated .so file seems to have issues with its ELF format.

Environment

  • Solana CLI version: solana-cli 2.1.16 (src:a5744e79; feat:3271415109, client:Agave)
  • Anchor version: anchor-cli 0.31.0
  • Rust version: rustc 1.87.0-nightly (4d30011f6 2025-03-15)
  • Operating System: Ubuntu 24.04.2 LTS (Noble)

Why is this happening and how can I try to resolve it?

I don't think many people here are familiar with Anchor. You may want to ask on their Discord or stack exchange instead.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.