Boost Sources: Cannot utime: Argument list too long
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 636 from 2010/2/10
    From: FRANCE
    Great :-)

    i look into source... and i try to build it with your readme help
    and filesystem/iostream need to be rewrite i think :-(
    i see some "bind" redefined... and lot of ixemul thing not available with noixemul
    PowerMac G5 Quad 2.5, IMac G5 2.1, PowerBook G4 1.5, MacMini 1.5
    My MOS ports
  • »18.01.25 - 07:06
    Profile Visit Website
  • MorphOS Developer
    jacadcaps
    Posts: 3151 from 2003/3/5
    From: Canada
    An ixemul build will not be very useful since it can only be used for ixemul commandline apps. Bind errors likely come from macros in socket headers. You likely need some #undefs.
  • »18.01.25 - 13:51
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 636 from 2010/2/10
    From: FRANCE
    Quote:

    jacadcaps a écrit :
    An ixemul build will not be very useful since it can only be used for ixemul commandline apps. Bind errors likely come from macros in socket headers. You likely need some #undefs.



    yeah.. i always have this bind lol
    and indeed... all build done with noixemul :-)
    PowerMac G5 Quad 2.5, IMac G5 2.1, PowerBook G4 1.5, MacMini 1.5
    My MOS ports
  • »18.01.25 - 14:50
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    eliot
    Posts: 628 from 2004/4/15
    What I have done so far:

    Introduced boost/config/platform/morhphos.hpp:
    Code:

    #define BOOST_PLATFORM "MorphOs"

    #ifdef __cplusplus
    #include <cstdlib>
    #else
    #include <stdlib.h>
    #endif

    #ifndef __STDC_LIMIT_MACROS
    #define __STDC_LIMIT_MACROS
    #endif

    #include <boost/config/detail/posix_features.hpp> // not sure about this


    Add the header into boost/config/detail/select_platform_config.hpp:

    Code:

    ...
    #elif defined(__morphos__)
    // MorphOs (put this before the AmigaOS statement)
    # define BOOST_PLATFORM_CONFIG "boost/config/platform/morphos.hpp"
    ....


    Put user-config.jam in root dir:
    Code:

    using gcc : power : /gg/bin/ppc-morphos-g++-11 ;


    build command:
    Code:

    ./b2 cxxflags="-std=c++17" cflags="-noixemul -D__morphos__" toolset=gcc-power link=static threading=single variant=release optimization=speed
    --user-config=/home/andre/workspace/other/boost_1_87_0/user-config.jam
    --build-dir=/tmp/boost-build
    --prefix=/tmp/boost-install
    --with-atomic
    --with-chrono
    --with-program_options
    --with-system
    --with-random
    --with-test
    --with-locale
    --with-filesystem
    --with-iostreams
    install



    program_options fails: don't know why, because it should do
    filesystem fails: missing POSIC filesystem implementation
    iostreams fails: did not look inside yet

    There is some work to do.
    Maybe it is a good idea to share our work in a git repo?
    regards
    eliot
  • »19.01.25 - 10:29
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    eliot
    Posts: 628 from 2004/4/15
    Quote:

    jacadcaps wrote:
    An ixemul build will not be very useful since it can only be used for ixemul commandline apps. Bind errors likely come from macros in socket headers. You likely need some #undefs.


    Yes your absolutely right. That's not an good idea.
    regards
    eliot
  • »19.01.25 - 10:30
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 636 from 2010/2/10
    From: FRANCE
    Quote:

    eliot a écrit :

    program_options fails: don't know why, because it should do
    filesystem fails: missing POSIC filesystem implementation
    iostreams fails: did not look inside yet

    There is some work to do.
    Maybe it is a good idea to share our work in a git repo?




    Yeah i think i think it's good idea
    PowerMac G5 Quad 2.5, IMac G5 2.1, PowerBook G4 1.5, MacMini 1.5
    My MOS ports
  • »19.01.25 - 11:01
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 636 from 2010/2/10
    From: FRANCE
    i push a little (very little) contribution
    PowerMac G5 Quad 2.5, IMac G5 2.1, PowerBook G4 1.5, MacMini 1.5
    My MOS ports
  • »19.01.25 - 16:16
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    eliot
    Posts: 628 from 2004/4/15
    I rebased an merged your branch into develop.
    regards
    eliot
  • »21.01.25 - 07:13
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    eliot
    Posts: 628 from 2004/4/15
    I managed also to include iostreams.
    Updated the git repo and uploaded a build to morphos-storage.
    For return to the roots everything should be there.
    regards
    eliot
  • »31.01.25 - 09:21
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 636 from 2010/2/10
    From: FRANCE
    thanks i will try to build it
    PowerMac G5 Quad 2.5, IMac G5 2.1, PowerBook G4 1.5, MacMini 1.5
    My MOS ports
  • »31.01.25 - 11:29
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    eliot
    Posts: 628 from 2004/4/15
    Hey, did you try it?
    I updated the git repo and added more submodules and also a Makefile to cross-compile all
    and package it.
    regards
    eliot
  • »07.02.25 - 08:14
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    beworld
    Posts: 636 from 2010/2/10
    From: FRANCE
    hi, hard to test... s25 is complex project... i pass some time on it but need a lot of time to adapt all problem :-(

    Need to find something less hard...
    PowerMac G5 Quad 2.5, IMac G5 2.1, PowerBook G4 1.5, MacMini 1.5
    My MOS ports
  • »07.02.25 - 08:43
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    eliot
    Posts: 628 from 2004/4/15
    Yes, that's true.
    I add 2 simple examples for filesystem, see: https://github.com/eliot-exdev/boost-morphos/tree/develop/examples_mos

    The c++17 example works well, the boost example fails to link (missing symbols when using -noixemul).
    So we need to replace those calls.
    I will have look into it, this needs more love.

    [ Edited by eliot 07.02.2025 - 10:47 ]
    regards
    eliot
  • »07.02.25 - 10:46
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    eliot
    Posts: 628 from 2004/4/15
    Those symbols are missing:

    Code:

    operations.cpp:(.text+0x1804): undefined reference to `link'
    /gg/lib/gcc-lib/ppc-morphos/11.3.0/../../../../ppc-morphos/bin/ld: /tmp/boost-1.87.0-morphos-ppc/lib/libboost_filesystem.a(operations.o): in function `_ZN5boost10filesystem6detail14create_symlinkERKNS0_4pathES4_PNS_6system10error_codeE':
    operations.cpp:(.text+0x18a4): undefined reference to `symlink'
    /gg/lib/gcc-lib/ppc-morphos/11.3.0/../../../../ppc-morphos/bin/ld: /tmp/boost-1.87.0-morphos-ppc/lib/libboost_filesystem.a(operations.o): in function `_ZN5boost10filesystem6detail15last_write_timeERKNS0_4pathElPNS_6system10error_codeE':
    operations.cpp:(.text+0x3df4): undefined reference to `utime'
    /gg/lib/gcc-lib/ppc-morphos/11.3.0/../../../../ppc-morphos/bin/ld: /tmp/boost-1.87.0-morphos-ppc/lib/libboost_filesystem.a(operations.o): in function `_ZN5boost10filesystem6detail12read_symlinkERKNS0_4pathEPNS_6system10error_codeE':
    operations.cpp:(.text+0x40f0): undefined reference to `readlink'
    /gg/lib/gcc-lib/ppc-morphos/11.3.0/../../../../ppc-morphos/bin/ld: operations.cpp:(.text+0x41e4): undefined reference to `readlink'
    /gg/lib/gcc-lib/ppc-morphos/11.3.0/../../../../ppc-morphos/bin/ld: /tmp/boost-1.87.0-morphos-ppc/lib/libboost_filesystem.a(operations.o): in function `_ZN5boost10filesystem6detail12copy_symlinkERKNS0_4pathES4_PNS_6system10error_codeE':
    operations.cpp:(.text+0x43f0): undefined reference to `symlink'
    /gg/lib/gcc-lib/ppc-morphos/11.3.0/../../../../ppc-morphos/bin/ld: /tmp/boost-1.87.0-morphos-ppc/lib/libboost_filesystem.a(operations.o): in function `_ZN5boost10filesystem6detail5spaceERKNS0_4pathEPNS_6system10error_codeE':
    operations.cpp:(.text+0x565c): undefined reference to `statfs'
    /gg/lib/gcc-lib/ppc-morphos/11.3.0/../../../../ppc-morphos/bin/ld: operations.cpp:(.text+0x56f4): undefined reference to `statfs'
    /gg/lib/gcc-lib/ppc-morphos/11.3.0/../../../../ppc-morphos/bin/ld: /tmp/boost-1.87.0-morphos-ppc/lib/libboost_filesystem.a(operations.o): in function `_ZN5boost10filesystem6detail4copyERKNS0_4pathES4_NS0_12copy_optionsEPNS_6system10error_codeE':
    operations.cpp:(.text+0x8474): undefined reference to `symlink'


    But I can find them here (eg. readlink):

    Code:

    grep -rH "readlink" /gg/
    ...
    grep: /gg/ppc-morphos/lib/libb32/libc.a: binary file matches
    grep: /gg/ppc-morphos/lib/libc.a: binary file matches
    ...
    /gg/includestd/unistd.h:int readlink __P((const char *, char *, int));



    Is there more information about ixemul.library and -noixemul compile flag?

    There it is:
    Code:

    andre@drax:/gg/ppc-morphos/lib$ ar x libc.a
    andre@drax:/gg/ppc-morphos/lib$ file readlink.o
    readlink.o: ELF 32-bit MSB relocatable, PowerPC or cisco 4500, version 1 (SYSV), not stripped



    Why it is not linked?

    My gcc call:
    /gg/bin/ppc-morphos-g++-11 -o example-filesystem-boost example-filesystem-boost.cpp -Ofast -noixemul -DNDEBUG -D__MORPHOS__ -std=c++17 -I/tmp/boost-1.87.0-morphos-ppc/include -static -L/tmp/boost-1.87.0-morphos-ppc/lib -lboost_filesystem

    [ Edited by eliot 07.02.2025 - 17:54 ]
    regards
    eliot
  • »07.02.25 - 17:28
    Profile