esp-open-sdk icon indicating copy to clipboard operation
esp-open-sdk copied to clipboard

MAINTAINED FORK______!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Open igagis opened this issue 2 years ago • 9 comments

Edit:

I have made my own fork https://github.com/esp-open-sdk/esp-open-sdk with the intention of keeping the SDK up to date. The fork also provides docker images to avoid problems of breaking builds due to some component renamed somewhere. I'm accepting pull requests. The fork is updated to sdk 3.0.0 and has building problems fixed.

Original post:

As far as I know @pfalcon has abandoned the project, so this repo is no longer updated/maintained. For example, see https://github.com/pfalcon/esp-open-sdk/pull/344#issuecomment-437567327 comment on one of the open PRs.

Are there any forks of this which are maintained? Especially, those which have updated to latest SDK (3.0.x) and have #385 fixed etc.

If there is no well known maintained fork, maybe it is time to create one?

igagis avatar Dec 01 '21 13:12 igagis

Mine is somewhat maintained: https://github.com/someburner/esp-open-sdk

I do not use SDK3.x though due to wifi stability regressions and incompatibility with various hacks the Arduino project has implemented, see here. And it appears the latest SDK drops are being done without testing and very sloppy. It's very difficult to trust them. And they recommend to just use their AT firmware, as if anyone can actually do that in their projects.

My fork uses nonos lwip2 hack and GCC7. I think with the crosstool-ng version I'm on there is one broken download link you may have to manually download the tarball and place it in the crosstool build downloads folder. Compiles on debian, no guarantees otherwise.

someburner avatar Dec 01 '21 14:12 someburner

@someburner Well, I'm not using Arduino, so I moved to SDK 3.x as soon as it was released. So, your fork wouldn't work for me, unfortunately.

AFAIK, current version of NONEOS SDK is 3.0.5: https://github.com/espressif/ESP8266_NONOS_SDK/releases So, I'd like to have that.

NONEOS SDK is considered EOL, so no new features will be added, but bug fixes - yes. So, I consider using the recent version of the SDK should not harm, and API should not change drastically between 3.x versions. For example between version 2.x and 3.x they introduced memory partitions which broke SDK's backwards compatibility, i.e. users had to update their code to use partitions to be able to build with SDK 3.x.

igagis avatar Dec 01 '21 15:12 igagis

I'm not using Arduino either, but have utilized some of their lower-level SDK hacks. They're not strictly necessary though. I have updated between 2.x -> 3.x -> 2.x without issue, but I use rboot so I could see that breaking for other versions.

It's actually pretty easy to update to 3.x and if you look at the insights -> network tab of this repo there are quite a few forks that have done so, maybe this one?

The main issue is that crosstool-ng needs to be kept updated as download links break, but also later crosstool versions have gotten rid of older GCC versions and you need to add patches in there for newer GCC versions. Looking at my commit history the only thing I had to do in this SDK repo for 3.x was make a new patch for ctypes.h. Not sure if that is still all the is required now.

someburner avatar Dec 01 '21 15:12 someburner

Ok, I have just made a fork of pfalcon's repo. The 600th fork :).

https://github.com/esp-open-sdk/esp-open-sdk

I'm going to update it to latest SDK and fix building problem. I also plan to maintain that fork and accept PRs which would keep the components up to date.

Also, updating to some later GCC version would not harm.

igagis avatar Dec 02 '21 19:12 igagis

@someburner has got tree for v3.x maybe you can use it as starting point?

uzi18 avatar Dec 02 '21 19:12 uzi18

@uzi18 good idea!

Edit: actually I decided to start with pfalcon's version. @someburner has forked crosstool-NG as well... I want to try to still use upstream repo.

Edit 2: Ok, crosstool-NG is also not maintained since 2019...

igagis avatar Dec 02 '21 20:12 igagis

@someburner if I checkout 3.x branch from your repo, will it be the SDK 3.x?

Update: tried building it, got ISL download error. Perhaps ISL download link needs to be fixed in crosstool-NG.

igagis avatar Dec 02 '21 23:12 igagis

Ok, my fork now builds and is updated to sdk 3.0.0

igagis avatar Dec 04 '21 13:12 igagis

Alternately, a fork with the minimal set of changes to get a clean build on Ubuntu 21.10 of an apparently working toolchain can be found here:

https://github.com/pfalcon/esp-open-sdk/pull/391 https://github.com/ChrisMacGregor/esp-open-sdk/tree/builds-on-Ubuntu-21.10 Tarball of built toolchain: https://github.com/ChrisMacGregor/esp-open-sdk/releases/tag/builds-on-Ubuntu-21.10

A maintained fork with more-current versions of things, such as https://github.com/esp-open-sdk/esp-open-sdk or https://github.com/someburner/esp-open-sdk, may be a better option. I'm offering a minimally-tweaked option for those who prefer that, or for comparison purposes if for some reason the newer tools don't work for you, or whatever. If your code doesn't work with either the updated toolchain or the minimally-tweaked one, then the problem is more likely in your code, rather than the toolchain...

ChrisMacGregor avatar Jan 12 '22 01:01 ChrisMacGregor

fork abandoned

igagis avatar Dec 01 '22 21:12 igagis