Skip to content

Compilation error "section type conflict: .note.GNU-stack 01 <> 07" on Linux/amd64 #26432

@lcheylus

Description

@lcheylus

Describe the bug

When running some tests on Linux/amd64 (Debian testing/forky), an error occurs during compilation:

cc: /usr/lib/x86_64-linux-gnu/crt1.o: error: section type conflict: .note.GNU-stack 01 <> 07
cc: /home/fox/dev/Perso/vlang.git/thirdparty/tcc/lib/libgc.a: error: section type conflict: .note.GNU-stack 01 <> 07

Reproduction Steps

  • Build V on Linux/amd64 from Git sources with make
  • Run tests with VTEST_JUST_ESSENTIAL=1 ./v -cc <compiler> test-self with tcc or clang compiler

Expected Behavior

No error during compilation for ./v test-self

Current Behavior

  • With tcc compiler: 7 tests failed for v test-self
$ VTEST_JUST_ESSENTIAL=1 ./v test-self
(...)
To reproduce just failure 1 run:    '/home/fox/dev/Perso/vlang.git/v'  '/home/fox/dev/Perso/vlang.git/vlib/json/tests/json_decode_test.v'
To reproduce just failure 2 run:    '/home/fox/dev/Perso/vlang.git/v'  '/home/fox/dev/Perso/vlang.git/vlib/net/http/http_test.v'
To reproduce just failure 3 run:    '/home/fox/dev/Perso/vlang.git/v'  '/home/fox/dev/Perso/vlang.git/vlib/net/http/request_test.v'
To reproduce just failure 4 run:    '/home/fox/dev/Perso/vlang.git/v'  '/home/fox/dev/Perso/vlang.git/vlib/net/http/server_test.v'
To reproduce just failure 5 run:    '/home/fox/dev/Perso/vlang.git/v'  '/home/fox/dev/Perso/vlang.git/vlib/v/slow_tests/inout/compiler_test.v'
To reproduce just failure 6 run:    '/home/fox/dev/Perso/vlang.git/v'  '/home/fox/dev/Perso/vlang.git/vlib/v/compiler_errors_test.v'
To reproduce just failure 7 run:    '/home/fox/dev/Perso/vlang.git/v'  '/home/fox/dev/Perso/vlang.git/vlib/v/gen/c/coutput_test.v'
Summary for testing: cmd, vlib: 7 failed, 62 passed, 69 total. Elapsed time: 108611 ms, on 7 parallel jobs. Comptime: 209038 ms. Runtime: 342439 ms.
  • With clang compiler (version 21.1.8): 3 tests failed for v test-self
$ VTEST_JUST_ESSENTIAL=1 ./v -cc clang test-self
(...)
To reproduce just failure 1 run:    '/home/fox/dev/Perso/vlang.git/v' -cc clang '/home/fox/dev/Perso/vlang.git/vlib/v/slow_tests/inout/compiler_test.v'
To reproduce just failure 2 run:    '/home/fox/dev/Perso/vlang.git/v' -cc clang '/home/fox/dev/Perso/vlang.git/vlib/v/compiler_errors_test.v'
To reproduce just failure 3 run:    '/home/fox/dev/Perso/vlang.git/v' -cc clang '/home/fox/dev/Perso/vlang.git/vlib/v/gen/c/coutput_test.v'
Summary for testing: cmd, vlib: 3 failed, 65 passed, 1 skipped, 69 total. Elapsed time: 78477 ms, on 7 parallel jobs. Comptime: 111759 ms. Runtime: 191187 ms.

Detailed error with vlib/net/http/http_test.v test:

$ ./v test vlib/net/http/http_test.v
---- Testing... ----------------------------------------------------------------------------------------------------------------------------
 FAIL     0.000 ms vlib/net/http/http_test.v
>> compilation failed:
================== C compilation error (from tcc): ==============
cc: /usr/lib/x86_64-linux-gnu/crt1.o: error: section type conflict: .note.GNU-stack 01 <> 07
cc: /home/fox/dev/Perso/vlang.git/thirdparty/tcc/lib/libgc.a: error: section type conflict: .note.GNU-stack 01 <> 07
=================================================================
Try passing `-g` when compiling, to see a .v file:line information, that correlates more with the C error.
(Alternatively, pass `-show-c-output`, to print the full C error message).
builder error:
==================
C error found. It should never happen, when compiling pure V code.
This is a V compiler bug, please report it using `v bug file.v`,
or goto https://github.com/vlang/v/issues/new/choose .
You can also use #help on Discord: https://discord.gg/vlang .

--------------------------------------------------------------------------------------------------------------------------------------------
To reproduce just failure 1 run:    '/home/fox/dev/Perso/vlang.git/v'  '/home/fox/dev/Perso/vlang.git/vlib/net/http/http_test.v'
Summary for all V _test.v files: 1 failed, 1 total. Elapsed time: 5077 ms, on 1 job. Comptime: 5004 ms. Runtime: 0 ms.

Possible Solution

No response

Additional Information/Context

According to the error message, there is a conflict between thirdparty/tcc/lib/libgc.a and /usr/lib/x86_64-linux-gnu/crt1.o for the ELF headers.

On my Linux/amd64 Debian/testing system, the file /usr/lib/x86_64-linux-gnu/crt1.o comes from the libc6-dev:amd64 package (last version installed = 2.42-10+b1 from Debian testing repository).

V version

V 0.5.0 c3b924c

Environment details (OS name and version, etc.)

V full version V 0.5.0 c3b924c
OS linux, Debian GNU/Linux forky/sid
Processor 8 cpus, 64bit, little endian, Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Memory 3.74GB/31.23GB
V executable /home/fox/dev/Perso/vlang.git/v
V last modified time 2026-01-24 16:24:16
V home dir OK, value: /home/fox/dev/Perso/vlang.git
VMODULES OK, value: /home/fox/.vmodules
VTMP OK, value: /tmp/v_1000
Current working dir OK, value: /home/fox/dev/Perso/vlang.git
Git version git version 2.51.0
V git status weekly.2026.04-17-gc3b924c7
.git/config present true
cc version cc (Debian 15.2.0-12) 15.2.0
gcc version gcc (Debian 15.2.0-12) 15.2.0
clang version Debian clang version 21.1.8 (1+b1)
tcc version tcc version 0.9.28rc 2025-02-13 HEAD@f8bd136d (x86_64 Linux)
tcc git status thirdparty-linux-amd64 696c1d84
emcc version N/A
glibc version ldd (Debian GLIBC 2.42-10+b1) 2.42

Note

You can use the 👍 reaction to increase the issue's priority for developers.

Please note that only the 👍 reaction to the issue itself counts as a vote.
Other reactions and those to comments will not be taken into account.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugThis tag is applied to issues which reports bugs.Status: ConfirmedThis bug has been confirmed to be valid by a contributor.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions