Boost logo

Boost Users :

From: kamallochan Jena (kljena2050_at_[hidden])
Date: 2019-12-01 05:18:21


Continued to above mail:

>> earlier versions of bootstrap did not use clock_gettime function and
that made them link correctly.
Could you please update, in which version of boost the clock_gettime
function introduced.

Thanks & Regards,
Kamal

On Sun, Dec 1, 2019 at 10:42 AM kamallochan Jena <kljena2050_at_[hidden]>
wrote:

>
> Hi Piotr,
>
> Thank you for your support and update on this issue!!!
>
> As you suggested, I updated build.sh script and add -lrt at the end of
> line 350, but still facing the same error.
> echo_run ${BOOST_JAM_CC} ${BOOST_JAM_OPT_JAM}
> ${BJAM_SOURCES} -lrt
>
> *Here is the details of Log: ----------------*
>
> $ ./bootstrap.sh
> -n Bootstrapping the build engine with toolset sun...
>
> Failed to bootstrap the build engine
> Consult 'bootstrap.log' for more details
>
> $ cat bootstrap.log
> ###
> ### Using 'sun' toolset.
> ###
> rm -rf bootstrap
> mkdir bootstrap
> cc -o bootstrap/jam0 command.c compile.c constants.c debug.c execcmd.c
> frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c
> jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c
> pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c
> modules.c strings.c filesys.c builtins.c class.c cwd.c native.c md5.c
> w32_getreg.c modules/set.c modules/path.c modules/regex.c
> modules/property-set.c modules/sequence.c modules/order.c execunix.c
> fileunix.c pathunix.c -lrt
> command.c:
> compile.c:
> constants.c:
> debug.c:
> execcmd.c:
> frames.c:
> function.c:
> glob.c:
> hash.c:
> hdrmacro.c:
> headers.c:
> jam.c:
> jambase.c:
> jamgram.c:
> lists.c:
> make.c:
> make1.c:
> object.c:
> option.c:
> output.c:
> parse.c:
> pathsys.c:
> regexp.c:
> rules.c:
> scan.c:
> search.c:
> subst.c:
> timestamp.c:
> variable.c:
> modules.c:
> strings.c:
> filesys.c:
> builtins.c:
> class.c:
> cwd.c:
> native.c:
> md5.c:
> w32_getreg.c:
> modules/set.c:
> modules/path.c:
> modules/regex.c:
> modules/property-set.c:
> modules/sequence.c:
> modules/order.c:
> execunix.c:
> fileunix.c:
> pathunix.c:
> ./bootstrap/jam0 -f build.jam --toolset=sun --toolset-root=/opt/SUNWspro/
> clean
> ...found 1 target...
> ...updating 1 target...
> ...updated 1 target...
> ./bootstrap/jam0 -f build.jam --toolset=sun --toolset-root=/opt/SUNWspro/
> ...found 160 targets...
> ...updating 2 targets...
> [COMPILE] bin.solarisx86/b2
> command.c:
> compile.c:
> constants.c:
> debug.c:
> debugger.c:
> "debugger.c", line 2673: warning: statement not reached
> execcmd.c:
> frames.c:
> function.c:
> glob.c:
> hash.c:
> hcache.c:
> headers.c:
> hdrmacro.c:
> jam.c:
> jambase.c:
> jamgram.c:
> lists.c:
> make.c:
> make1.c:
> mem.c:
> object.c:
> option.c:
> output.c:
> parse.c:
> pathsys.c:
> regexp.c:
> rules.c:
> scan.c:
> search.c:
> subst.c:
> w32_getreg.c:
> timestamp.c:
> variable.c:
> modules.c:
> strings.c:
> filesys.c:
> builtins.c:
> class.c:
> cwd.c:
> native.c:
> md5.c:
> modules/set.c:
> modules/path.c:
> modules/regex.c:
> modules/property-set.c:
> modules/sequence.c:
> modules/order.c:
> execunix.c:
> fileunix.c:
> pathunix.c:
> Undefined first referenced
> symbol in file
> clock_gettime timestamp.o
> ld: fatal: symbol referencing errors. No output written to
> bin.solarisx86/b2
>
> "cc" -o bin.solarisx86/b2 "-DNDEBUG" "-DOPT_HEADER_CACHE_EXT"
> "-DOPT_GRAPH_DEBUG_EXT" "-DOPT_SEMAPHORE" "-DOPT_AT_FILES"
> "-DOPT_DEBUG_PROFILE" "-DJAM_DEBUGGER" "-DOPT_FIX_TARGET_VARIABLES_EXT"
> "-DOPT_IMPROVED_PATIENCE_EXT" "-DYYSTACKSIZE=5000" "-s" "-xO3" "command.c"
> "compile.c" "constants.c" "debug.c" "debugger.c" "execcmd.c" "frames.c"
> "function.c" "glob.c" "hash.c" "hcache.c" "headers.c" "hdrmacro.c" "jam.c"
> "jambase.c" "jamgram.c" "lists.c" "make.c" "make1.c" "mem.c" "object.c"
> "option.c" "output.c" "parse.c" "pathsys.c" "regexp.c" "rules.c" "scan.c"
> "search.c" "subst.c" "w32_getreg.c" "timestamp.c" "variable.c" "modules.c"
> "strings.c" "filesys.c" "builtins.c" "class.c" "cwd.c" "native.c" "md5.c"
> "modules/set.c" "modules/path.c" "modules/regex.c" "modules/property-set.c"
> "modules/sequence.c" "modules/order.c" "execunix.c" "fileunix.c"
> "pathunix.c"
>
> ...failed [COMPILE] bin.solarisx86/b2...
> ...skipped bjam for lack of b2...
> ...failed updating 1 target...
> ...skipped 1 target...
> $
>
>
>
> On Fri, Nov 29, 2019 at 5:07 PM Piotr Kowalski <koval.gnu_at_[hidden]>
> wrote:
>
>> Hi Kamal
>> From what I can see, earlier versions of bootstrap did not use
>> clock_gettime function and that made them link correctly.
>> This function on Solaris requires linking with -lrt
>>
>> Since you are doing this only for yourself you can edit build.sh script
>> and add -lrt at the end of line 350:
>> echo_run ${BOOST_JAM_CC} ${BOOST_JAM_OPT_JAM} ${BJAM_SOURCES} -lrt
>>
>> If that helps, boost team may need to fix build.sh to add -lrt if
>> building on Solaris platform
>>
>> pt., 29 lis 2019 o 08:44 kamallochan Jena <kljena2050_at_[hidden]>
>> napisał(a):
>>
>>> Hi All,
>>>
>>> In SunOS, even I am getting below errors which has been reported before
>>> by some one and is discussed in "
>>> https://github.com/boostorg/thread/issues/283 with Fix.
>>>
>>> *Error:*
>>>
>>> ./boost/thread/pthread/thread_data.hpp:60:5: error: missing binary operator before token "_sysconf"
>>> #if PTHREAD_STACK_MIN > 0
>>>
>>> Can I consider, this issue has been fixed as updated in "
>>> https://github.com/conan-io/conan-center-index/pull/361/commits/ec526ff9fbccb14c3b5227884f651f96381f39fd
>>> "
>>>
>>> *If Yes, From where the latest boost kit can be downloaded with above
>>> fix ??*
>>> *Is the above fix, also resolve the previous syntax error "./build.sh:
>>> syntax error at line 143: `machine=$' unexpected " ??*
>>>
>>> Kindly confirm!!!
>>>
>>> Regards,
>>> Kamal
>>>
>>>
>>> On Fri, Nov 29, 2019 at 12:52 PM kamallochan Jena <kljena2050_at_[hidden]>
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>> FYI,
>>>> bootstarp.sh from boost_1_56_0 working fine in same SunOS, where
>>>> boost_1_70_0 is causing the problem.
>>>>
>>>> Thanks,
>>>> Kamal
>>>>
>>>> On Fri, Nov 29, 2019 at 10:54 AM kamallochan Jena <kljena2050_at_[hidden]>
>>>> wrote:
>>>>
>>>>> Hi Piotr and David,
>>>>> Thank you for your response.
>>>>>
>>>>> Have modified the build.sh as mentioned, and for all below cases
>>>>> build.sh is failing with *Error: ld: fatal: symbol referencing
>>>>> errors. No output written to bootstrap/jam0 *
>>>>>
>>>>> Case 1> #!/bin/sh ---> #!/bin/bash
>>>>> Case 2> machine=$(gcc -dumpmachine 2>/dev/null)
>>>>> ---> machine=`gcc -dumpmachine 2>/dev/null`
>>>>> Case 3> machine=$(gcc -dumpmachine 2>/dev/null) ---> machine=`
>>>>> echo $(gcc -dumpmachine 2>/dev/null) `
>>>>>
>>>>> FYI, default shell of SunOS is /bin/sh
>>>>> $ echo $SHELL
>>>>> /bin/sh
>>>>>
>>>>> *Details:*
>>>>> $ ./bootstrap.sh
>>>>> -n Bootstrapping the build engine with toolset sun...
>>>>>
>>>>> Failed to bootstrap the build engine
>>>>> Consult 'bootstrap.log' for more details
>>>>>
>>>>> $ cat bootstrap.log
>>>>> ###
>>>>> ### Using 'sun' toolset.
>>>>> ###
>>>>> rm -rf bootstrap
>>>>> mkdir bootstrap
>>>>> cc -o bootstrap/jam0 command.c compile.c constants.c debug.c
>>>>> execcmd.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c
>>>>> jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c
>>>>> parse.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c
>>>>> variable.c modules.c strings.c filesys.c builtins.c class.c cwd.c
>>>>> native.c md5.c w32_getreg.c modules/set.c modules/path.c modules/regex.c
>>>>> modules/property-set.c modules/sequence.c modules/order.c execunix.c
>>>>> fileunix.c pathunix.c
>>>>> command.c:
>>>>> compile.c:
>>>>> constants.c:
>>>>> debug.c:
>>>>> execcmd.c:
>>>>> frames.c:
>>>>> function.c:
>>>>> glob.c:
>>>>> hash.c:
>>>>> hdrmacro.c:
>>>>> headers.c:
>>>>> jam.c:
>>>>> jambase.c:
>>>>> jamgram.c:
>>>>> lists.c:
>>>>> make.c:
>>>>> make1.c:
>>>>> object.c:
>>>>> option.c:
>>>>> output.c:
>>>>> parse.c:
>>>>> pathsys.c:
>>>>> regexp.c:
>>>>> rules.c:
>>>>> scan.c: search.c:
>>>>> subst.c:
>>>>> timestamp.c:
>>>>> variable.c:
>>>>> modules.c:
>>>>> strings.c:
>>>>> filesys.c:
>>>>> builtins.c:
>>>>> class.c:
>>>>> cwd.c:
>>>>> native.c:
>>>>> md5.c:
>>>>> w32_getreg.c:
>>>>> modules/set.c:
>>>>> modules/path.c:
>>>>> modules/regex.c:
>>>>> modules/property-set.c:
>>>>> modules/sequence.c:
>>>>> modules/order.c:
>>>>> execunix.c:
>>>>> fileunix.c:
>>>>> pathunix.c:
>>>>> Undefined first referenced
>>>>> symbol in file
>>>>> clock_gettime timestamp.o
>>>>> *ld: fatal: symbol referencing errors. No output written to
>>>>> bootstrap/jam0*
>>>>> bash-3.2$
>>>>>
>>>>> --------------
>>>>>
>>>>> On Thu, Nov 28, 2019 at 7:48 PM Piotr Kowalski via Boost-users <
>>>>> boost-users_at_[hidden]> wrote:
>>>>>
>>>>>> I guess SunOS uses System V specification which is older than POSIX
>>>>>> and only supports `` syntax. If you look at autotools they never generate
>>>>>> $() to make sure it wil work everywhere even on older /bin/sh
>>>>>>
>>>>>> czw., 28 lis 2019 o 14:33 David Demelier via Boost-users <
>>>>>> boost-users_at_[hidden]> napisał(a):
>>>>>>
>>>>>>> Le 28/11/2019 à 12:22, Piotr Kowalski via Boost-users a écrit :
>>>>>>> > build.sh is intended for /bin/sh but uses bash-specific syntax
>>>>>>> $(command)
>>>>>>>
>>>>>>> $() is part of POSIX though so I suppose the SunOS default shell
>>>>>>> isn't
>>>>>>> POSIX compliant or too old.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> --
>>>>>>> David
>>>>>>> _______________________________________________
>>>>>>> Boost-users mailing list
>>>>>>> Boost-users_at_[hidden]
>>>>>>> https://lists.boost.org/mailman/listinfo.cgi/boost-users
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Boost-users mailing list
>>>>>> Boost-users_at_[hidden]
>>>>>> https://lists.boost.org/mailman/listinfo.cgi/boost-users
>>>>>>
>>>>>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net