← index #17353Issue #16312
Off-topic · high · value 1.702
QUERY · ISSUE

Build fails for port/unix mips/mipsel

openby o-murphyopened 2025-05-24updated 2025-05-30
bug

Port, board and/or hardware

unix (mips/mipsel)

MicroPython version

The build process for the mipsel port of MicroPython failed with the following error:
mipsel-linux-gnu-gcc: error: build-standard/lib/libffi/out/lib/libffi.a: No such file or directory
make: *** [../../py/mkrules.mk:244: build-standard/micropython] Error 1
make: Leaving directory '/home/murphy/micropython/ports/unix'

Reproduction

Trying to make for unix (mipsel) in standalone mode
mipsel-linux-gnu-gcc

make -C mpy-cross
make -C ports/unix VARIANT=standard MICROPY_STANDALONE=1 CROSS_COMPILE=mips-linux-gnu- submodules
make -C ports/unix VARIANT=standard MICROPY_STANDALONE=1 CROSS_COMPILE=mips-linux-gnu- deplibs

Expected behaviour

No response

Observed behaviour

make -C ports/unix VARIANT=standard MICROPY_STANDALONE=1 CROSS_COMPILE=mips-linux-gnu- deplibs
make: Entering directory '/home/murphy/micropython/ports/unix'
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
ls: cannot access 'build-standard/lib/libffi/include': No such file or directory
cd ../../lib/libffi; ./autogen.sh
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: /usr/bin/autoconf
configure.ac:88: warning: The preprocessor macro STDC_HEADERS' is obsolete. configure.ac:88: Except in unusual embedded environments, you can safely include all configure.ac:88: ISO C90 headers unconditionally. configure.ac:123: warning: The macro AC_TRY_COMPILE' is obsolete.
configure.ac:123: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
m4/asmcfi.m4:1: GCC_AS_CFI_PSEUDO_OP is expanded from...
configure.ac:123: the top level
configure.ac:437: warning: LT_PATH_LD is m4_require'd but not m4_defun'd
acinclude.m4:149: LIBFFI_CHECK_LINKER_FEATURES is expanded from...
acinclude.m4:251: LIBFFI_ENABLE_SYMVERS is expanded from...
configure.ac:437: the top level
autoreconf: running: /usr/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
Makefile.am:39: error: Libtool library used but 'LIBTOOL' is undefined
Makefile.am:39: The usual way to define 'LIBTOOL' is to add 'LT_INIT'
Makefile.am:39: to 'configure.ac' and run 'aclocal' and 'autoconf' again.
Makefile.am:39: If 'LT_INIT' is in 'configure.ac', make sure
Makefile.am:39: its definition is in aclocal's search path.
autoreconf: error: automake failed with exit status: 1
make: *** [Makefile:291: ../../lib/libffi/configure] Error 1
make: *** Deleting file '../../lib/libffi/configure'
make: Leaving directory '/home/murphy/micropython/ports/unix'


### Additional Information

No, I've provided everything above.

### Code of Conduct

Yes, I agree
CANDIDATE · ISSUE

32bit unix port build fails to find module in same directory

closedby stinosopened 2024-11-27updated 2024-12-04
bug

Port, board and/or hardware

unix port on WSL, source code on a mounted windows directory

MicroPython version

Latest master

Reproduction

  • clone and cd to unix port directory
  • add a 32bit directory under variants containing

micropython/ports/unix/variants/32bit/mpconfigvariant.h:

#define MICROPY_CONFIG_ROM_LEVEL (MICROPY_CONFIG_ROM_LEVEL_EXTRA_FEATURES)
#define MICROPY_DEBUG_PRINTERS (1)
#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_DOUBLE)
#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ)

micropython/ports/unix/variants/32bit/mpconfigvariant.mk:

MICROPY_FORCE_32BIT = 1
MICROPY_PY_FFI = 0
MICROPY_PY_BTREE = 0
  • build standard and 32bit variants, so that's make and make VARIANT=32BIT
  • create a directory frob containing

micropython/ports/unix/frob/foo.py:

# empty

micropython/ports/unix/frob/bar.py:

import foo
  • run ./build-standard/micropython ./frob/bar.py -> no output, exepected
  • run ./build-32bit/micropython ./frob/bar.py -> output:
Traceback (most recent call last):
  File "./frob/bar.py", line 1, in <module>
ImportError: no module named 'foo'

Expected behaviour

Behaviour should be the same as standard variant

Observed behaviour

import foo fails to find foo even though it's in the same directory as the module where the import statement is

Additional Information

Could be related to other features in this 32bit variant, though setting MICROPY_FORCE_32BIT = 0 does make the problem go away. I'm caught up in getting other things working at the moment so don't have time to look into thi. Could just as well be a WSL bug.

Code of Conduct

Yes, I agree

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