doublethinkco / cpp-ethereum-cross

Scripts for cross-building cpp-ethereum (C++ Ethereum client)
http://doublethink.co/
Apache License 2.0
27 stars 11 forks source link

Support Tizen #20

Open anthony-cros opened 8 years ago

anthony-cros commented 8 years ago
sh-4.1$ ./eth
(++)Ethereum
Beware. You're entering the Frontier!
⧎ ℹ  20:38:17|eth  Id: ##15e4a208…
*** Error in `./eth': malloc(): smallbin double linked list corrupted: 0x01131b40 ***
pure virtual method called
terminate called without an active exception
crashed [1447427297] processname=eth, pid=15328, tid=15332, signal=11crashed [1447427297] processname=eth, pid=15328, tid=15333, signal=6
bobsummerwill commented 8 years ago

Just leave this with me for now. I want to get my GDB going :-)

bobsummerwill commented 8 years ago

See https://github.com/doublethinkco/webthree-umbrella-cross/releases/tag/untagged-47082f0f12989d1eedc2

That is a cross-build WITHOUT our edits to libweb3core. It just has Gav's attempted fixes for the same.

I am just curious to see if that fails at boot with the static constructor issue, or whether JUST his changes have fixed that. If he doesn't have enough fixes then I will refresh our libweb3core fork, and re-apply my other fixes in addition to his.

bobsummerwill commented 8 years ago

Please can you try this @anthony-cros, and we'll see where we are:

https://github.com/doublethinkco/webthree-umbrella-cross/releases/tag/eth.151125175856.tgz

This is a vanilla eth, with Gav's fixes rather than mine.

I want to see if his fixes are sufficient, or whether we need to fork again and start fixing the C++.

anthony-cros commented 8 years ago

for good measure, I'm linking to the error I get on this ticket as well (https://gist.github.com/anthony-cros/530a1807d9778a8295cf)

bobsummerwill commented 8 years ago

Carsten Munk told me today that Tizen is armel, so maybe we've up the wrong path with armhf (hence your no-info failure), and we need to flip back to armel for Tizen, but with "good" names etc, rather than those default ones, which it seems to be choking on.

anthony-cros commented 8 years ago

see messages at https://github.com/doublethinkco/go-ethereum-cross/issues/1#issuecomment-160994715

bobsummerwill commented 8 years ago

So yeah, the 'Tizen is armel' was incorrect.

We just need to get the armhf to be 'correct' by tweaking the crosstool-NG close enough to the ELF header info you got from the ls on your TM1

anthony-cros commented 8 years ago

yes, Tag_FP_arch: VFPv3 is the telltale sign of armhf, right (that was from /bin/ls on the tizen phone)?

bobsummerwill commented 8 years ago

Correct, @anthony-cros!

bobsummerwill commented 8 years ago

NOTE - Tizen ships with an even older version of GCC again :-) The Gear S2 smartwatch comes with libstdc++.so.6.0.16, which is the version which shipped with GCC 4.6.1, released in April 2010. Running the armel binaries generated with the GCC 5.2.1 cross-compiler which we are now using here results in binaries which we cannot run on the Gear S2. That results in the following runtime errors:

 ./eth: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./eth)
 ./eth: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by ./eth)
 ./eth: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.17' not found (required by ./eth)
 ./eth: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by

So it looks like I am going to have to specifically use an older sysroot to get something which can work on the Gear S2. I am unable SDB connect to any of my other Tizen devices right now, so cannot verify if they have slightly newer runtime libraries. The SDK does also have a GCC-4.9 toolchain, which perhaps was included in the Tizen 2.4 runtime? Using a different sysroot will involve getting GCC 4.6 headers and libraries onto the build machine, and then getting -sysroot into the CC and CXX command-lines, probably by creating a shell script which wraps the actual GCC binaries, as per the example below.

See http://stackoverflow.com/questions/2977182/alternatives-to-the-sysroot-switch-of-gcc

rzr commented 6 years ago

An other option would be to try Tizen:Yocto profile, it's not updated since age but you could try armhf architecture.

bobsummerwill commented 5 years ago

Hey @rzr! How are you doing, my friend? I hope to make it to FOSDEM 2020. Will you be there?

I still want to get this stuff working, 4 years later. I recently bought a Galaxy Watch Active and would be delighted if I could finally get Ethereum working on it - just for my own "itch scratching".

Do you know that version of Tizen is on that device? Or what the GLIBCXX version would be?

I suspect that much of this stuff which was so painful back in 2015 will "just work" now, because it will be on newer GCC and GLIBC versions.

bobsummerwill commented 5 years ago

Tizen 4, it seems!

https://www.xda-developers.com/hands-on-tizen-4-samsung-galaxy-watch-active/

rzr commented 5 years ago

Hi @bobsummerwill , yes I might attend fosdem again

have you considered to check new dot net tizen api from tizen 5 and tv platform ?

anthony-cros commented 5 years ago

wow, this brings back memories :)

phonikg commented 5 years ago

Doesn't it though?! ;)

On Wed., Nov. 6, 2019, 11:50 a.m. Anthony Cros notifications@github.com wrote:

wow, this brings back memories :)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/doublethinkco/cpp-ethereum-cross/issues/20?email_source=notifications&email_token=ABXH22T3HK23AQBPRHS3I5LQSLYVVA5CNFSM4BUUQTK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDHG2KA#issuecomment-550399272, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABXH22XXCIXYGXYT57QINOTQSLYVVANCNFSM4BUUQTKQ .

anthony-cros commented 5 years ago

We were so young and so naive...

bobsummerwill commented 5 years ago

Well, I don't know that I agree with that, @anthony-cros!

It was early days, that is for sure, and it has been a long journey which is still ongoing, but we have moved forward a huge amount in the last 4 years.

Do you know that I am the Executive Director of the https://etccooperative.org now? On the "dark side".

Here is what we are up to ... https://slideslive.com/38920077/what-is-happening-with-ethereum-classic

Paging @martinbrook! Are you going to FOSDEM? I hope so, and to see you there.

phonikg commented 5 years ago

Basically Bob is Darth Summerwill now.

On Wed., Nov. 6, 2019, 6:02 p.m. Bob Summerwill notifications@github.com wrote:

Well, I don't know that I agree with that, @anthony-cros https://github.com/anthony-cros!

It was early days, that is for sure, and it has been a long journey which is still ongoing, but we have moved forward a huge amount in the last 4 years.

Do you know that I am the Executive Director of the ETC Cooperative now? On the "dark side".

Here is what we are up to ... https://slideslive.com/38920077/what-is-happening-with-ethereum-classic

Paging @martinbrook https://github.com/martinbrook! Are you going to FOSDEM? I hope so, and to see you there.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/doublethinkco/cpp-ethereum-cross/issues/20?email_source=notifications&email_token=ABXH22TUVVZA5FUMN32TDBTQSNEG3A5CNFSM4BUUQTK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDIJLSY#issuecomment-550540747, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABXH22RY6MFN4PZBPVZV4CDQSNEG3ANCNFSM4BUUQTKQ .

bobsummerwill commented 5 years ago

@rzr "have you considered to check new dot net tizen api from tizen 5 and tv platform ?"

Yes, though I want to run it on my smartwatch (as I did four years ago), so am only really interested in the Tizen versions which are shipped in real world devices.

Geth worked on the Gear S2 in November 2015 (thanks to Peter's work on xgo), but we never go the end of the line on eth because of the ancient GLIBC runtime:

https://doublethink.co/2015/11/13/porting-ethereum-geth-running-on-samsung-gear-s2-smartwatch-eth-coming-soon/

So I think a sensible new set of platforms, if I pick up this work again would be to replace this set of targets with:

https://github.com/doublethinkco/cpp-ethereum-cross/blob/master/README.md

bobsummerwill commented 5 years ago

@phonikg Pretty much!

Afri launched the Mordor testnet at ETC Summit. I really want to get a MolochDAO instance for ETC infrastructure funding. And we could have a test-instance "Moloch-on-Mordor".

bobsummerwill commented 5 years ago

ETC obviously a better home for https://spankchain.com/ too!

martinbrook commented 4 years ago

Hi all, 4 years, where does the time go. Been head down in build systems over the last few years and not touched any embedded stuff. Catch up at FOSDEM if I make it.

On Thu, 7 Nov 2019, 00:36 Bob Summerwill, notifications@github.com wrote:

ETC obviously a better home for https://spankchain.com/ too!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/doublethinkco/cpp-ethereum-cross/issues/20?email_source=notifications&email_token=AABH7ODGAJUDBMLQTK55C6LQSNIINA5CNFSM4BUUQTK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDILXQQ#issuecomment-550550466, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABH7OAAFX4OHAMHHJPEIMDQSNIINANCNFSM4BUUQTKQ .