hi Guys,
got these days my new Mac mini with M1 Processor and tried to install VSC again.
As there is a M1 Version already avaiable, VSC Exploration, I tried it out and it works great by now.
But my tries to get PlatformIO IDE running on it were not very successfully.
So my question is: Is it already possible to get Platform IDE running on a Mac with ARM architecture?
If the answer is no, is there already something planned to get it up and running again?
Thanks in advance for any answer.
kind regards
Chako
Please elaborate. Is the extension not available? Fails to install? A project fails to compile?
1 Like
Hi Max,
When I start VSC I see 1st an error message telling me that arm64 Architecture is not supported. That messages comes from the C/C++ Extension. Nothing else comes up.
But on left side I see the PIO Icon and when I click it and choose then open I see a âLoading âŚâ Message until the following error comes up:
Klicking to âCheck available solutionsâ shows me text about Windows but I did not see anything regarding Mac OS.
kr
j
It seems to fail when installing one of the Python dependencies for PlatformIO, cryptography
, which has cffi
as a sub-dependency (and OpenSSL, too). This issue is known in Unable to install on macOS Big Sur (release version) and Xcode 12.2 ¡ Issue #5568 ¡ pyca/cryptography ¡ GitHub and error while installing cryptography or cffi on Big Sur ¡ Issue #5572 ¡ pyca/cryptography ¡ GitHub.
Could you open a new terminal and do
cd /Users/chako/.platformio/penv/Scripts
./activate
./pip3 install cryptography
and post the full output.
If this fails there might be a more complicated way to build this module for the M1 silicon (Installation â Cryptography 40.0.0.dev1 documentation), this does require XCode and some dependencies though.
1 Like
hi,
apologize there is no path ./platformio.penv/Scripts.
In penv are only:
drwxr-xr-x 25 chako staff 800 13 Dez 03:57 bin
drwxr-xr-x 2 chako staff 64 13 Dez 03:57 include
drwxr-xr-x 3 chako staff 96 13 Dez 03:57 lib
-rw-r--r-- 1 chako staff 16 13 Dez 03:57 pip.conf
-rw-r--r-- 1 chako staff 114 13 Dez 03:57 pyvenv.cfg
-rw-r--r-- 1 chako staff 168 13 Dez 03:57 state.json
chako@MacMini penv %
When I try to run your installation using pip3 from my python 3.9 environment, the output is:
chako@MacMini ~ % pip3 install cryptography
Collecting cryptography
Using cached cryptography-3.3.1.tar.gz (539 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Requirement already satisfied: six>=1.4.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from cryptography) (1.15.0)
Collecting cffi>=1.12
Using cached cffi-1.14.4-cp39-cp39-macosx_11_0_universal2.whl
Collecting pycparser
Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Building wheels for collected packages: cryptography
Building wheel for cryptography (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /var/folders/35/_1xxcjcs64l0vb4dpz3262qc0000gn/T/tmpbxbfpb2j
cwd: /private/var/folders/35/_1xxcjcs64l0vb4dpz3262qc0000gn/T/pip-install-apn0749i/cryptography_0456ec34803a4c1389962f8fb835d230
Complete output (147 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.9-universal2-3.9
creating build/lib.macosx-10.9-universal2-3.9/cryptography
copying src/cryptography/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography
copying src/cryptography/utils.py -> build/lib.macosx-10.9-universal2-3.9/cryptography
copying src/cryptography/__about__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography
copying src/cryptography/exceptions.py -> build/lib.macosx-10.9-universal2-3.9/cryptography
copying src/cryptography/fernet.py -> build/lib.macosx-10.9-universal2-3.9/cryptography
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_der.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat
copying src/cryptography/hazmat/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat
creating build/lib.macosx-10.9-universal2-3.9/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/x509
copying src/cryptography/x509/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/x509
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/bindings
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/backends/openssl
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/kdf
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/twofactor
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/serialization
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/ciphers
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/primitives/asymmetric
creating build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.macosx-10.9-universal2-3.9/cryptography/hazmat/bindings/openssl
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files matching '*' found under directory '.github'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'rtd-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files matching '*' found under directory '.zuul.d'
warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
running build_ext
generating cffi module 'build/temp.macosx-10.9-universal2-3.9/_padding.c'
creating build/temp.macosx-10.9-universal2-3.9
generating cffi module 'build/temp.macosx-10.9-universal2-3.9/_openssl.c'
building '_openssl' extension
creating build/temp.macosx-10.9-universal2-3.9/build
creating build/temp.macosx-10.9-universal2-3.9/build/temp.macosx-10.9-universal2-3.9
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -I/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c build/temp.macosx-10.9-universal2-3.9/_openssl.c -o build/temp.macosx-10.9-universal2-3.9/build/temp.macosx-10.9-universal2-3.9/_openssl.o -Wconversion -Wno-error=sign-conversion
build/temp.macosx-10.9-universal2-3.9/_openssl.c:575:10: fatal error: 'openssl/opensslv.h' file not found
#include <openssl/opensslv.h>
^~~~~~~~~~~~~~~~~~~~
1 error generated.
=============================DEBUG ASSISTANCE=============================
If you are seeing a compilation error please try the following steps to
successfully install cryptography:
1) Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
2) Read https://cryptography.io/en/latest/installation.html for specific
instructions for your platform.
3) Check our frequently asked questions for more information:
https://cryptography.io/en/latest/faq.html
=============================DEBUG ASSISTANCE=============================
error: command '/usr/bin/gcc' failed with exit code 1
----------------------------------------
ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
chako@MacMini ~ %
Will check your link for the Xcode solution tomorrow. Regarding Openssl I compiled already universal libraries accordingly to this page for latest version (1.1.1i):
But honestly I do currently still not really know how to use them as I am not a developerâŚ
But have some basic knowledge which I will use to dig that out during next days⌠
Thanks already now for your answers and patience!
kr
j
If it canât find that library you might need to install a OpenSSL development package that has this header file⌠Maybe checkout 'openssl/opensslv.h' file not found and Mac install fails with fatal error: 'openssl/opensslv.h' file not found (tried previous instructions) ¡ Issue #3489 ¡ pyca/cryptography ¡ GitHub.
But I agree this is very fiddily and complicated. Right now itâs not installing because the PyPi registry does not have a precompiled version for cryptography
for the Darwin ARM architecture.
Even if that hurdle is removed, PlatformIO still lacks the platform-native compiler toolchains and upload tools (like, toolchain-atmelavr
with AVR-GCC, avrdude uploader etc, depending on target embedded board). So it will be much more work after that, compiling those yourself. That is just something the maintainers of PlatformIO (@ivankravets) will surely do in the future to support the darwin_arm64
platform with the Apple M1 silicon, but right now itâll be hard with these problems in even standard Python libraries.
1 Like
Thanks again Maximilian,
sounds like a bit too high level for my development skills.
Must switch to my 10 years old outdated Mac mini with Intel CPU for this kind of task thenâŚ
kr
j
2 Likes
Probably your best option for now. Given that the M1 has basically only just been released, and is completely different architecture, there will be a lot of things that wonât just work (yet!) despite what Apple might like to claim. It wonât take long to change that if the demand is there. 
1 Like
You can install https://brew.sh/ and then
brew install openssl
1 Like
hi Ivan,
yepp as the 1st Homebrew release with M1 support was announced some days ago I installed it and used the openssl install you sent over. The error that C/C++ Extension does not support Arm Architecture is still there when I open up VSC but:
Platform IDE comes up like usual! I even imported Tasmota as a Project (=Arduino stuff for home automation). But when I try to compile Tasmota I get the following error:
Executing task: pio run <
Processing tasmota-DE (platform: espressif8266 @ 2.6.2; framework: arduino; board: esp01_1m)
Tool Manager: Installing platformio/toolchain-xtensa @ 2.40802.200502
Error: Could not find the package with âplatformio/toolchain-xtensa @ 2.40802.200502â requirements for your system âdarwin_arm64â
Der Terminalprozess âpio ârunââ wurde mit folgendem Exitcode beendet: 1.
Is this toolchain-xtensa something fixable too?
kr
Chako
Letâs test it. Please download and unpack this toolchain Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog
Try to run from CLI some binary from bin
folder. For example gcc-xxxx --version
. Does it work?
1 Like
Hi Ivan,
Not 100% sure what I must do within PlatformIDE, but what I did
a) Downloaded your archive and extracted it into a temp Directory.
b) Disabled Mac security as I was not allowed to execute cmdlline gcc due to ânot verified Developerâ.
Then I used the GCC Compiler command you mentioned:
chako@MacMini bin % xtensa-lx106-elf-gcc --version
xtensa-lx106-elf-gcc (GCC) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Looks to me as if gcc ran ok. To answer your question: Yes it worked.
Will check later on today if I find this path in PlatfromIDE setup to understand where I must extract it to exchange your âextensaâ with the installed version âŚ.
Great! Apple uses Rosetta emulator. It means, we just need to repack our existing packages for x86 and add Arm to manifest.
Iâll need the last confirmation. please do the next steps:
- Download
***-contrib-pysite-darwin_x86_64-2.39-***
from Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog . It looks you have Python 3.9 in the system
- Unpack it
- Replace ALL files in
~/.platformio/packages/contrib-pysite
by files from archive. But!!! KEEP OLD package.json
and .pm
.
- Open PlatformIO CLI in IDE and type
pio home
.
So, does it works WITHOUT recompiling which you reported above in the initial comment?
hmm ⌠there is no .pm file in this directory only the package.json is there.
ok, I did:
- renamed old contrib-pysite and even moved it to another location.
- Downloaded the file you mentioned and extracted it.
- created a new contrib-pysite directory and copied all files from extracted archive over.
- Superseeded package.json with the version from original contrib-pysite directory.
and started VSC.
Results:
- PlatfromIO IDE did not start automatically. But when I clicked the open button it started up.
- Compile Error stayed the same.
- I used even the package.json from the downloaded tar file. Then it started up automatically but compile error stayed the same again.
- result from pio home is the same as well, see picture further down.
If you like we can do a team viewer session then you can verify or even suggest additional steps.
Simply let me know if you would like to do that and when.
merry Christmas to everybody who reads this ⌠
kr
j
Contacted in PM. I would be thankful for the remote session to test all binaries.
hi Ivan,
the changes took place this morning on my side. All fine now!
Fyi:
- When I 1st tried to compile I got the following Linker Error:
Linking .pio/build/tasmota-DE/firmware.elf
/Users/chako/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pio/build/tasmota-DE/libFrameworkArduino.a(core_esp8266_main.cpp.o):(.text._ZL12loop_wrapperv+0x4): undefined reference to `setup'
/Users/chako/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pio/build/tasmota-DE/libFrameworkArduino.a(core_esp8266_main.cpp.o):(.text._ZL12loop_wrapperv+0x8): undefined reference to `loop'
/Users/chako/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pio/build/tasmota-DE/libFrameworkArduino.a(core_esp8266_main.cpp.o): in function `loop_wrapper()':
core_esp8266_main.cpp:(.text._ZL12loop_wrapperv+0x21): undefined reference to `setup'
/Users/chako/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: core_esp8266_main.cpp:(.text._ZL12loop_wrapperv+0x2d): undefined reference to `loop'
collect2: error: ld returned 1 exit status
*** [.pio/build/tasmota-DE/firmware.elf] Error 1
but when I restarted compilation (without any change) everything went through fine and successfully.
To verify I flashed two Shellys successfully and tested them âin the wildâ ⌠
Great job, thanks!
kr
j
1 Like
Yes, we repacked all macOS packages and added support for ARM64 architecture.
Thank you so much for the provided remote session to investigate this issue.
Happy Holidays and Happy New Year!

1 Like
you are welcome, anytime! âŚ

1 Like
Does this means that PlatformIO is supposed to work under the ARM version of VSCode? Because Iâm not being able to compile my project.
Whatâs the exact platformio.ini
, code and the output of pio system info
(in a CLI)? You have an Apple M1 based computer, yeah?