sudo install_name_tool -add_rpath ${BOOST_ROOT}/stage/lib main
Send Boost-users mailing list submissions to
boost-users@lists.boost.org
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.boost.org/mailman/listinfo.cgi/boost-users
or, via email, send a message with subject or body 'help' to
boost-users-request@lists.boost.org
You can reach the person managing the list at
boost-users-owner@lists.boost.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Boost-users digest..."
Today's Topics:
1. [Newbie][Interprocess] Placing a boost interprocess vector in
an existing (not managed) shared memory (Gaier, Bjoern)
2. Re: [Boost.Asio] tutorial #1 code does not compile (g++)
(Andrew McFarlane)
3. Re: [Boost.Asio] tutorial #1 code does not compile (g++)
(Edward Diener)
4. Re: [Boost.Asio] tutorial #1 code does not compile (g++)
(Gavin Lambert)
----------------------------------------------------------------------
Message: 1
Date: Thu, 30 Jan 2020 08:19:02 +0000
From: "Gaier, Bjoern" <Bjoern.Gaier@horiba.com>
To: "boost-users@lists.boost.org" <boost-users@lists.boost.org>
Subject: [Boost-users] [Newbie][Interprocess] Placing a boost
interprocess vector in an existing (not managed) shared memory
Message-ID:
<OSAPR01MB3171A3A1ED46336ACEDE2786E2040@OSAPR01MB3171.jpnprd01.prod.outlook.com>
Content-Type: text/plain; charset="iso-8859-1"
Hello Boost-Mailing-List,
I have a question about the boost interprocess library - and I hope I can explain it correctly.
I looked at the "Quick guide for the impatient" about the interprocess library - but I'm not sure if I can use this for our purpose.
The main goal is to insert a STL vector (or different container) in a predefined portion of an already existing shared memory. The main problem is, that we cannot use the managed_shared_memory code from boost, because we rely on a different API to allocate the shared memory between Windows and other devices. Also the container should be placed at a fixed offset inside the created shared memory.
I'm a complete newbie with boost and the interprocess library, that is why I'm not sure which interface I have to provide for the interprocess vector to be setup correctly. I hoped I could do something like:
new (srh_mem_base + offset) boost::interprocess::vector<allocator>;
I tried looking into the headers of the library to get an idea of that, but I honestly got lost.
I'm really sorry if this a stupid or obvious question - and I thank for any help in advance!
Kind greetings
Bj?rn
Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr. DE 114 165 789 Gesch?ftsf?hrer: Dr. Hiroshi Nakamura, Dr. Robert Plank, Markus Bode, Heiko Lampert, Takashi Nagano, Takeshi Fukushima. Junichi Tajika
-------------- next part --------------
HTML attachment scrubbed and removed
------------------------------
Message: 2
Date: Thu, 30 Jan 2020 14:35:34 -0800
From: Andrew McFarlane <andrew.mcfarlane52@gmail.com>
To: Boost users list <boost-users@lists.boost.org>
Cc: Richard Hodges <hodges.r@gmail.com>, boost@mirality.co.nz
Subject: Re: [Boost-users] [Boost.Asio] tutorial #1 code does not
compile (g++)
Message-ID:
<CAG90r9Q5y=Wz1hKPfX9MYpRCobLX0k=gWaQ7+zFGmEaWzj6_KQ@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Okay, so I have made a bit of progress. After building Boost.Asio with:
b2 --with-system --with-thread --with-date_time --with-regex
--with-serialization stage
, and building Boost.Chrono with (replacing bjam with b2):
bjam libs/chrono/build
The code is now compiling with the following g++ command:
g++ -v -Wall -L ${BOOST_ROOT}/stage/lib -L
${BOOST_ROOT}/bin.v2/libs/chrono/build/clang-darwin-11.0/debug/threading-multi/visibility-hidden
-lboost_chrono -lboost_date_time -lboost_system -I. -I${BOOST_ROOT} -o main
main.cpp
However, when I go to run main, the program crashes with the following
message:
dyld: Library not loaded: @rpath/libboost_chrono.dylib
Referenced from: /Users/ajm/Projects/boost-threads/ex1/./main
Reason: image not found
Abort trap: 6
I suspect that there is something wrong with the Boost.Chrono dynamic
library file that was built (probably because of how I built it), but I am
not sure what it would be. Any suggestions?
Thanks,
*Andrew J. E. McFarlane*
-------------- next part --------------
HTML attachment scrubbed and removed
------------------------------
Message: 3
Date: Thu, 30 Jan 2020 18:33:15 -0500
From: Edward Diener <eldiener@tropicsoft.com>
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] [Boost.Asio] tutorial #1 code does not
compile (g++)
Message-ID: <r0vp3r$23nj$1@ciao.gmane.io>
Content-Type: text/plain; charset=utf-8; format=flowed
On 1/30/2020 5:35 PM, Andrew McFarlane via Boost-users wrote:
> Okay, so I have made a bit of progress. After building Boost.Asio with:
>
> b2 --with-system --with-thread --with-date_time --with-regex --with-serialization stage
>
> , and building Boost.Chrono with (replacing bjam with b2):
>
> bjam libs/chrono/build
>
> The code is now compiling with the following?g++ command:
>
> g++ -v -Wall -L ${BOOST_ROOT}/stage/lib -L
> ${BOOST_ROOT}/bin.v2/libs/chrono/build/clang-darwin-11.0/debug/threading-multi/visibility-hidden
> -lboost_chrono -lboost_date_time -lboost_system -I. -I${BOOST_ROOT} -o
> main main.cpp
>
> /
> /
> However, when I go to run main, the program crashes with the following
> message:
>
> dyld: Library not loaded: @rpath/libboost_chrono.dylib
>
> Referenced from: /Users/ajm/Projects/boost-threads/ex1/./main
>
> Reason: image not found
>
> Abort trap: 6
>
> /
> /
> I suspect that there is something wrong with the Boost.Chrono dynamic
> library file that was built (probably because of how I built it), but I
> am not sure what it would be. Any suggestions?
Lookup RPATH for Linux.
------------------------------
Message: 4
Date: Fri, 31 Jan 2020 14:13:20 +1300
From: Gavin Lambert <boost@mirality.co.nz>
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] [Boost.Asio] tutorial #1 code does not
compile (g++)
Message-ID: <d3bd42a8-6ea1-fbff-a38b-4c44f7da9e38@mirality.co.nz>
Content-Type: text/plain; charset=utf-8; format=flowed
On 31/01/2020 11:35, Andrew McFarlane wrote:
> Okay, so I have made a bit of progress. After building Boost.Asio with:
>
> b2 --with-system --with-thread --with-date_time --with-regex --with-serialization stage
>
> , and building Boost.Chrono with (replacing bjam with b2):
>
> bjam libs/chrono/build
You could have just added --with-chrono to the first command.
> The code is now compiling with the following?g++ command:
>
> g++ -v -Wall -L ${BOOST_ROOT}/stage/lib -L
> ${BOOST_ROOT}/bin.v2/libs/chrono/build/clang-darwin-11.0/debug/threading-multi/visibility-hidden
> -lboost_chrono -lboost_date_time -lboost_system -I. -I${BOOST_ROOT} -o
> main main.cpp
You should not link with libs directly in bin.v2; use the stage/lib
directory instead.
(They're not different, it's just that the bin.v2 path is fragile.)
> However, when I go to run main, the program crashes with the following message:
>
> dyld: Library not loaded: @rpath/libboost_chrono.dylib
>
> Referenced from: /Users/ajm/Projects/boost-threads/ex1/./main
>
> Reason: image not found
>
> Abort trap: 6
You either need to tell your compiler to use the static libraries (it
usually defaults to using dynamic libraries), or you need to set the
RPATH at compile time to the (absolute path of the) stage/lib folder, or
the LD_LIBRARY_PATH when you run the app (less preferred).
Or use the system-provided libraries instead, which will Just Work?
without any of this.
------------------------------
Subject: Digest Footer
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users
------------------------------
End of Boost-users Digest, Vol 5315, Issue 1
********************************************