supplierdeeply

gcc. windows dev kit, binary size & the whole ordeal (discussion here)

  • 48 Replies
  • 15774 Views
*

Offline fbonomi

  • ****
  • 469
  • A570IS SD1100/Ixus80
    • Francesco Bonomi
  • Publish
    Advertisements
    edit by PhP: discussion split from here

    Geekmug, thanks for the detailed guide.

    bit I am afraid there's a snake biting its own tail there ....

    I explain my situation: I have on my PC the "bundled" gcc (3.2.3)

    I wanted to update gcc to 4 (I get error compiling for the SD1100 patch, I guess I need a more recent gcc.)

    So, I find your nice little guide and I say "wow!"

    To clean my system, I remove my old gcc from path (so I pretend not to have any gcc)

    I download binutils, expand it and follow your instructions, up to where it says to run configure but i get the error "configure: error: no acceptable C compiler found in $PATH"

    I say fine, I will reverse Geekmug's instructions, and first install gcc-4.3.2 and then use it to compile

    But then I get the same error:"configure: error: no acceptable C compiler found in $PATH"

    So, for a user that has no gcc compiler on its machine, I am afraid your sequence is not usable :-(
    « Last Edit: 27 / October / 2008, 04:25:22 by PhyrePhoX »

    *

    Offline whim

    • ******
    • 2013
    • A495/590/620/630 ixus70/115/220/230/300/870 S95
  • Publish
    Re: the collaborative CHDK build
    « Reply #1 on: 26 / October / 2008, 07:37:14 »
    @fbonomi

    Shoudn't a compatible GCC be installed when you DL/install your cygwin ?
    Geekmug's tutorial worked fine for me, literally following it.
    I did notice while playing with this, that cygwin never overwrites its' initialisation files,
    i.e. if you already have a cygwin, then install another the init scripts still refer to the
    first installation, messing up various paths ...

    wim

    PS i guess this also makes it hard to create a 'ready-made' devkit based on gcc 4+ ...
         i hope Geekmug (or anyone,or at matter) can come up with a mingw version, so that
         windows CHDK compiling can be dragged into the gcc4 age ...
    « Last Edit: 26 / October / 2008, 07:41:38 by whim »

    *

    Offline fbonomi

    • ****
    • 469
    • A570IS SD1100/Ixus80
      • Francesco Bonomi
  • Publish
    Re: the collaborative CHDK build
    « Reply #2 on: 26 / October / 2008, 07:43:27 »
    mmhh... I think it doesn't, as I can't  find any gcc in all the cygwin folder (apart the ones in /tmp, of cource)

    *

    Offline whim

    • ******
    • 2013
    • A495/590/620/630 ixus70/115/220/230/300/870 S95
  • Publish
    Re: the collaborative CHDK build
    « Reply #3 on: 26 / October / 2008, 07:53:05 »
    even after doing this ?

    Quote
    (from Geekmug's page)
    Beyond the default install items, you will need to add the following packages:

        * Devel
              o binutils
              o gcc
              o make
              o subversion
        * Libs
              o libgmp-devel
              o libmpfr-devel

    in my cygwin install (in C:\cygwin) gcc.exe is in C:\cygwin\bin

    wim

    edit: spelling .. my notebooks keyboard s*cks  :D
    « Last Edit: 26 / October / 2008, 08:02:09 by whim »


    *

    Offline fbonomi

    • ****
    • 469
    • A570IS SD1100/Ixus80
      • Francesco Bonomi
  • Publish
    Re: the collaborative CHDK build
    « Reply #4 on: 26 / October / 2008, 08:53:31 »
    oh, damn!!!!
    my apologies!!
    /tries again

    *

    Offline reyalp

    • ******
    • 9963
  • Publish
    Re: the collaborative CHDK build
    « Reply #5 on: 26 / October / 2008, 15:46:54 »
    My build with GCC 4.3.2 (and mtune=arm946e-s) is almost 10k smaller than the one produced by the windows environment from the wiki. I'm not sure if this is a result of compiler improvement, compiling specifically for the 946e-s, or something else.

    It appears to work, although I haven't tested it too much. If this isn't a result of an error of some kind, it would be a good reason to switch.
    Don't forget what the H stands for.

    *

    Offline whim

    • ******
    • 2013
    • A495/590/620/630 ixus70/115/220/230/300/870 S95
  • Publish
    Re: the collaborative CHDK build
    « Reply #6 on: 26 / October / 2008, 17:26:01 »
    @reyalp

    i can confirm this, also got binaries ~ 10k smaller on A620, 630 and ixus70_sd1000 - and they worked.
    It looks like we need a cygwin/mingw guru to cook us a new devkit  :D

    wim

    *

    Offline fe50

    • ******
    • 3034
    • IXUS50 & 860, SX10 Star WARs-Star RAWs
      • fe50
  • Publish
    Re: the collaborative CHDK build
    « Reply #7 on: 26 / October / 2008, 17:36:38 »
    i can confirm this, also got binaries ~ 10k smaller on A620, 630 and ixus70_sd1000 - and they worked.
    It looks like we need a cygwin/mingw guru to cook us a new devkit  :D

    What about free mem - any changes, could we benefit there, too ?


    *

    Offline whim

    • ******
    • 2013
    • A495/590/620/630 ixus70/115/220/230/300/870 S95
  • Publish
    Re: the collaborative CHDK build
    « Reply #8 on: 26 / October / 2008, 18:19:32 »
    @fe50

    sorry for delay - had to find the builds.  trunk531 (0.6.0)

    checked with ps.fir method on A620:
    gcc 3.x toolchain -> PS.FIR=244.784, mem free=466.820
    gcc 4.x toolchain -> PS.FIR=235.572, mem free=475.348

    wim

    edit: gcc 4.x was ~50% slower, and a lot stricter, here's my warning/error log (no warnings on gcc 3.x !)

    Quote
    ========== C:\CYGWIN\TRUNK\TRUNK531\BIN\LOGS\ERR-A620-100F.TXT ==========

    gensig.c: In function `main':
    gensig.c:310: warning: unsigned int format, long unsigned int arg (arg 4)
    gensig.c:310: warning: unsigned int format, uint32_t arg (arg 5)
    gensig.c:310: warning: unsigned int format, long unsigned int arg (arg 4)
    gensig.c:310: warning: unsigned int format, uint32_t arg (arg 5)
    gensig.c:311: warning: unsigned int format, long unsigned int arg (arg 5)
    gensig.c:311: warning: unsigned int format, long unsigned int arg (arg 5)
    gensig.c:327: warning: int format, uint32_t arg (arg 3)
    gensig.c:327: warning: int format, uint32_t arg (arg 3)
    finsig.c: In function `main':
    finsig.c:149: warning: int format, long unsigned int arg (arg 2)
    finsig.c:149: warning: int format, long unsigned int arg (arg 2)
    finsig.c:151: warning: unsigned int format, uint32_t arg (arg 3)
    finsig.c:151: warning: unsigned int format, uint32_t arg (arg 3)
    finsig.c:154: warning: unsigned int format, uint32_t arg (arg 3)
    finsig.c:154: warning: int format, uint32_t arg (arg 4)
    finsig.c:154: warning: int format, uint32_t arg (arg 5)
    finsig.c:154: warning: unsigned int format, uint32_t arg (arg 3)
    finsig.c:154: warning: int format, uint32_t arg (arg 4)
    finsig.c:154: warning: int format, uint32_t arg (arg 5)
    rbf_font.c: In function 'rbf_load_from_8x16':
    rbf_font.c:213: warning: pointer targets in passing argument 2 of 'rbf_assign_char_8x16' differ in signedness
    gui_fselect.c: In function 'fselect_marked_paste_cb':
    gui_fselect.c:658: warning: 'sd' may be used uninitialized in this function
    gui.c:177: warning: 'gui_tv_exposure_order_enum' used but never defined
    gui.c:178: warning: 'gui_av_exposure_order_enum' used but never defined
    gui.c:179: warning: 'gui_iso_exposure_order_enum' used but never defined
    raw.c: In function 'set_raw_pixel':
    raw.c:119: warning: pointer targets in initialization differ in signedness
    raw.c: In function 'get_raw_pixel':
    raw.c:134: warning: pointer targets in initialization differ in signedness
    « Last Edit: 27 / October / 2008, 03:09:57 by whim »

    *

    Offline fe50

    • ******
    • 3034
    • IXUS50 & 860, SX10 Star WARs-Star RAWs
      • fe50
  • Publish
    Re: the collaborative CHDK build
    « Reply #9 on: 27 / October / 2008, 04:13:17 »

     

    Related Topics