← index #13385PR #5230
Related · high · value 1.243
QUERY · ISSUE

Compiling with FROZEN_MANIFEST fails to build mpy-cross if it hasn't been built separately first

openby damzopened 2024-01-08updated 2024-01-08
bug

Compiling with FROZEN_MANIFEST fails to build mpy-cross if it hasn't been built separately first.

Reproducer

(on current master)

git clean -fdx && echo "" > manifest.py && make -C ports/unix submodules && make -C ports/unix FROZEN_MANIFEST="$PWD/manifest.py"

Fails linking with:

LINK build/mpy-cross
/usr/bin/ld: build/py/qstr.o: in function `qstr_init':
qstr.c:(.text.qstr_init+0x7): undefined reference to `mp_qstr_frozen_const_pool'
collect2: error: ld returned 1 exit status

Bisect

Bisect points to f01d5fb657159f1afa9d41cf39830d17b791a67e as the culprit.

I assume the problem is that the mpy-cross Makefile inherits the wrong CFLAGS? Also, interestingly cmake-based ports have the same problem.

CANDIDATE · PULL REQUEST

freezing/manifest: Ease the transition to manifests.

closedby jimmoopened 2019-10-18updated 2019-10-21
py-core
  • Adds error if the old way (FROZEN_MPY_DIR / FROZEN_DIR) is used at the same time as FROZEN_MANIFEST. (They are mutually exclusive).
  • Adds warnings that the old way is deprecated.
  • Allow building without manifests on unix and esp8266.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied