Boost logo

Boost Users :

From: Piotr Kowalski (koval.gnu_at_[hidden])
Date: 2019-11-29 11:37:18


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