1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Dismiss Notice

Beta ptitSeb's Beta Lair

Discussion in 'Software Releases' started by ptitSeb, May 13, 2016.

Tags:
  1. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    7,749
    Location:
    France, near Lyon
    CLang is 2 days of build, at least, on the Pandora. And weight several hundreds of megabytes. So, not sure I'll do it for now (but it should be a straight forward compile using latest codeblocks beta, at least for the LLVM part, as it's part of Rust for example).
     
  2. levi

    levi Still fresh, damnit!

    Joined:
    Oct 6, 2008
    Messages:
    8,352
    Location:
    Somewhere off the coast of the EU
    Mingw is a suite of tools ported to windows, including GCC, so building using mingw usually means building using gnu make and gcc. So any problems they had may well be transferable.

    Also, the Pi's probably run hardfp versions of code. Compiling for other variants can introduce problems some times I would suspect (though I can't think of any legitimate reasons why it would fail).
     
  3. Magic Sam

    Magic Sam Forever Homebrew

    Joined:
    Aug 10, 2007
    Messages:
    1,928
    Location:
    Ankh-Morpork
    Hi all :)

    @ptitSeb and @levi : I received some replies from the multicians community:

    Vince Scarafino (who ported the Multics simulator to the Raspberry Pi):
    and Charles Anthony (who actually wrote the simulator):
    Opinions ? Any secret trick up GCC's sleeves to solve this issue ? What about ARM intrinsics ?

    Cheers, Magic Sam
     
  4. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    7,749
    Location:
    France, near Lyon
    Use boost multiprecision maybe?
    http://www.boost.org/doc/libs/1_57_...ml/boost_multiprecision/tut/ints/cpp_int.html

    With cpp magic of overloaded operator, it might even be plug'n play?
     
  5. levi

    levi Still fresh, damnit!

    Joined:
    Oct 6, 2008
    Messages:
    8,352
    Location:
    Somewhere off the coast of the EU
    Yes, I recall some issue with the way GCC defines longs and so on on ARM causing problems. I forget if NEON on the OMAP3 has 128-bit registers, but that might be worth investigating. Using NEON is pretty much the antithesis of a 'straight port' though, so I could understand if you'd prefer something that can be done with writing a C++ class to wrap up a 128-bit type using 32-bit variables.

    Edit: Or using Boost's implementation, as Ptitseb ninja'd me with!
     
  6. Magic Sam

    Magic Sam Forever Homebrew

    Joined:
    Aug 10, 2007
    Messages:
    1,928
    Location:
    Ankh-Morpork
    Last edited: Jul 11, 2017
  7. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    7,749
    Location:
    France, near Lyon
    Well, GMP is what GCC use. It's certainly stable and precise, but for ease of use, I guess C++ with it's overloaded operator cannot be beaten (you just write stuff naturaly, like "int128_t a = b * 2;", and boost/c++ will apply the correct operators. with GMP, you will have to rewrite every mathematical operation using gmp functions.
     
  8. levi

    levi Still fresh, damnit!

    Joined:
    Oct 6, 2008
    Messages:
    8,352
    Location:
    Somewhere off the coast of the EU
    As far as I know there's nothing stopping you linking things built from C++ against things written in C. Though I've never tried it.
     
  9. Magic Sam

    Magic Sam Forever Homebrew

    Joined:
    Aug 10, 2007
    Messages:
    1,928
    Location:
    Ankh-Morpork
    Hi all :)

    @ptitSeb : I tried to compile (with cmake) clang 3.4 this afternoon, but failed miserably...

    I set CLANG_PATH_TO_LLVM_BUILD to /mnt/utmp/codeblocks/usr, but cmake complained that "include could not find load file: AddLLVM". Same error message for "TableGen".

    What did I do wrong ?

    @levi : I told the author about the boost multiprecision library, and he seemed concerned about it being C++, while his simulator is written in C...

    Cheers, Magic Sam

    P.S: on a side note, I compiled the simulator on my Debian 8 x86_64 box, installed the latest Multics release, booted the system then logged in from my Pandora over telnet ! That was really fun :)
     
  10. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    7,749
    Location:
    France, near Lyon
    You need to compile LLVM too. the minimum is llvm+clang. There is no proper llvm build in codeblocks (the llvm part in rust are static libs already linked to rust, so not useable).
    It would be better to not use libcxx, and try to use standard libstdc++ from the GNU suite if possible.
     
  11. Magic Sam

    Magic Sam Forever Homebrew

    Joined:
    Aug 10, 2007
    Messages:
    1,928
    Location:
    Ankh-Morpork
    Hi @ptitSeb :)

    OK, I thought LLVM was already part of Code::Blocks, sorry.

    I'll give it a new try ASAP !

    Cheers, Magic Sam
     
  12. Magic Sam

    Magic Sam Forever Homebrew

    Joined:
    Aug 10, 2007
    Messages:
    1,928
    Location:
    Ankh-Morpork
    Hi all :)

    @ptitSeb: I'm sorry to bother you with this again, but it looks like your wxWidgets package is no longer compatible with one of your latest Code::Blocks release (GCC 7.1) :(

    I compiled a new version of Odamex this afternoon (git from April 12th 2017, forced SDL 1.2 with -DUSE_SDL12=1), and it failed to start with the following error message:
    Could you please have a look ?

    EDIT: just tested the standalone SDL 1.2 odamex client (without the odalaucher which depends on wxWidgets), and it did run correctly with @notaz' improved SDL :) You can expect a new Odamex release as soon as this ABI issue is sorted out :)

    Cheers, Magic Sam
     
    Last edited: Jul 22, 2017
  13. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    7,749
    Location:
    France, near Lyon
    Yeah ok, I'll rebuild wxWidget.
     
    Magic Sam likes this.
  14. Magic Sam

    Magic Sam Forever Homebrew

    Joined:
    Aug 10, 2007
    Messages:
    1,928
    Location:
    Ankh-Morpork
    Hi all !

    @ptitSeb and @levi : Multics package is almost done, stay tuned ;)

    Cheers, Magic Sam
     
  15. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    7,749
    Location:
    France, near Lyon
    I have updated the codeblocks beta pnd, with a new build of wxWidget (and updated Code::Blocks IDE too). Grab it in 1st post.
     
    Magic Sam likes this.
  16. Magic Sam

    Magic Sam Forever Homebrew

    Joined:
    Aug 10, 2007
    Messages:
    1,928
    Location:
    Ankh-Morpork
    Hi all :)

    @ptitSeb : I stumbled on this error while recompiling Odamex with your latest Code::Blocks PND:
    I didn't have this issue before. Any idea what I'm doing wrong ?

    Cheers, Magic Sam
     
  17. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    7,749
    Location:
    France, near Lyon
    It's an internal error of GCC. Not much you can do.
    You can try to lower the optim level off that particular file it crashed on (net_packet.cpp) by adding "#pragma GCC optimize 0" as 1st line of the file.. It may solve the issue.
     
  18. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    7,749
    Location:
    France, near Lyon
    I have updated codeblocks PND. It's a small change, with just gcc updated to 7.2.0 (and wxWidget rebuilt, as well as latest codeblocks IDE from svn sources).
     
    Magic Sam, canseco and levi like this.
  19. scops

    scops Still Fresh

    Joined:
    Jun 15, 2012
    Messages:
    11
    Hm i tryed picolove... but i get a blue screen (it doesn't matter if i select a png or not in the launcher):

    "main.lua: 1917: Error loading lua: nill" and some traceback... any ideas?
     
  20. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    7,749
    Location:
    France, near Lyon
    I have to check, but last time I tried it, it was working for me. I'll try to check this week-end.
     

Share This Page

Loading...