linking to serialization

View: New views
8 Messages — Rating Filter:   Alert me  

linking to serialization

by g-h-d :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi All, I use Mac OS X 10.6. After following the ./bootstrap.sh and bjam
install steps, I have directory like this:

~/Library/boost_library/boost_1_40_0/include
~/Library/boost_library/boost_1_40_0/lib/
libboost_serialization.a
libboost_serialization.dynlib

and have the include directory path to Project > Build > Search path >
Header Search Paths and and the lib directory path to Project > Build >
Search path > Library Search Paths.

In XCode I did Project > Add to project > libboost_serialization.a

Running under Debug generates this message:

The Debugger has exited with status 0.
Session started at 2009-11-02 19:52:02 -0500.
GNU gdb 6.3.50-20050815 (Apple version gdb-1346) (Fri Sep 18 20:40:51
UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".tty /dev/ttys003
Loading program into debugger…
Program loaded.
run
Switching to process 14735
Running…
dyld: Library not loaded: libboost_serialization.dylib
Referenced from:
~/projets/2009/Xcode/myproject/build/Debug/distribution_survival
Reason: image not found
sharedlibrary apply-load-rules all
Data Formatters temporarily unavailable, will re-try after a 'continue'.
(Cannot call into the loader at present, it is locked.)
warning: Couldn't find minimal symbol for "_sigtramp" - backtraces may
be unreliable
Cannot access memory at address 0x0
Cannot access memory at address 0x0
(gdb)

I use the SDK 10.6, 64 bit Intel architecture, otherwise (32bit) I get a
compile, not a runtime error (probably normal because by default bjam
creates the libraries for 64 bit).

Even if I remove libboost_serialization.a from the project and put
libboost_serialization.dylib in its place, I get the same runtime error.

Some help would be appreciated.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: linking to serialization

by Vladimir Prus :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tuesday 03 November 2009 er wrote:

> Hi All, I use Mac OS X 10.6. After following the ./bootstrap.sh and bjam
> install steps, I have directory like this:
>
> ~/Library/boost_library/boost_1_40_0/include
> ~/Library/boost_library/boost_1_40_0/lib/
> libboost_serialization.a
> libboost_serialization.dynlib
>
> and have the include directory path to Project > Build > Search path >
> Header Search Paths and and the lib directory path to Project > Build >
> Search path > Library Search Paths.
>
> In XCode I did Project > Add to project > libboost_serialization.a
>
> Running under Debug generates this message:
...
> dyld: Library not loaded: libboost_serialization.dylib
> Referenced from:
> ~/projets/2009/Xcode/myproject/build/Debug/distribution_survival
> Reason: image not found

I suspect this message means that you need to add
~/Library/boost_library/boost_1_40_0/lib/ to the runtime libraries path.

On command line, this can be done via the DYLD_LIBRARY_PATH variable,
e.g.

        set DYLD_LIBRARY_PATH=~/Library/boost_library/boost_1_40_0/lib/:$DYLD_LIBRARY_PATH

you might want to manually expand ~ to your home directory above -- I don't know
how OSX shell behaves here.

I also don't know how to do this in XCode -- I suggest you first try running the
binary on the command line, with the above variable setting, and if it works,
check the XCode manual for a comparable setting.

- Volodya
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: linking to serialization

by g-h-d :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Vladimir Prus wrote:

> On Tuesday 03 November 2009 er wrote:
>
>> Hi All, I use Mac OS X 10.6. After following the ./bootstrap.sh and bjam
>> install steps, I have directory like this:
>>
>> ~/Library/boost_library/boost_1_40_0/include
>> ~/Library/boost_library/boost_1_40_0/lib/
>> libboost_serialization.a
>> libboost_serialization.dynlib
>>
>> and have the include directory path to Project > Build > Search path >
>> Header Search Paths and and the lib directory path to Project > Build >
>> Search path > Library Search Paths.
>>
>> In XCode I did Project > Add to project > libboost_serialization.a
>>
>> Running under Debug generates this message:
> ...
>> dyld: Library not loaded: libboost_serialization.dylib
>> Referenced from:
>> ~/projets/2009/Xcode/myproject/build/Debug/distribution_survival
>> Reason: image not found
>
> I suspect this message means that you need to add
> ~/Library/boost_library/boost_1_40_0/lib/ to the runtime libraries path.
>
> On command line, this can be done via the DYLD_LIBRARY_PATH variable,
> e.g.
>
> set DYLD_LIBRARY_PATH=~/Library/boost_library/boost_1_40_0/lib/:$DYLD_LIBRARY_PATH
>
> you might want to manually expand ~ to your home directory above -- I don't know
> how OSX shell behaves here.
>
> I also don't know how to do this in XCode -- I suggest you first try running the
> binary on the command line, with the above variable setting, and if it works,
> check the XCode manual for a comparable setting.
>
> - Volodya
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
>


Thanks, but it hasn't worked. Note that I did replace ~ by it's expanded
version but $env does not show DYLD_LIBRARY_PATH : is it supposed to?


First, I don't see why it's looking for dyn library if I add
libboost_serialization.a to the project, not
libboost_serialization.dynlib (even if I reverse their roles I still get
the same linking error message as above).

I found this but have yet to make sense of it.

http://www.google.com/url?sa=t&source=web&ct=res&cd=1&ved=0CAcQFjAA&url=http%3A%2F%2Flists.apple.com%2Farchives%2Fxcode-users%2F2009%2Faug%2Fmsg00174.html&ei=U9X0SoGGC9Pd8Qa__cDzCQ&usg=AFQjCNESeXf7FSClsOlmrV8sec0Q3cfP1w&sig2=QSYBK3wvb30j9v-BJpySCg

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: linking to serialization

by Vladimir Prus-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

er wrote:

> Vladimir Prus wrote:
>> On Tuesday 03 November 2009 er wrote:
>>
>>> Hi All, I use Mac OS X 10.6. After following the ./bootstrap.sh and bjam
>>> install steps, I have directory like this:
>>>
>>> ~/Library/boost_library/boost_1_40_0/include
>>> ~/Library/boost_library/boost_1_40_0/lib/
>>> libboost_serialization.a
>>> libboost_serialization.dynlib
>>>
>>> and have the include directory path to Project > Build > Search path >
>>> Header Search Paths and and the lib directory path to Project > Build >
>>> Search path > Library Search Paths.
>>>
>>> In XCode I did Project > Add to project > libboost_serialization.a
>>>
>>> Running under Debug generates this message:
>> ...
>>> dyld: Library not loaded: libboost_serialization.dylib
>>> Referenced from:
>>> ~/projets/2009/Xcode/myproject/build/Debug/distribution_survival
>>> Reason: image not found
>>
>> I suspect this message means that you need to add
>> ~/Library/boost_library/boost_1_40_0/lib/ to the runtime libraries path.
>>
>> On command line, this can be done via the DYLD_LIBRARY_PATH variable,
>> e.g.
>>
>> set DYLD_LIBRARY_PATH=~/Library/boost_library/boost_1_40_0/lib/:$DYLD_LIBRARY_PATH
>>
>> you might want to manually expand ~ to your home directory above -- I don't know
>> how OSX shell behaves here.
>>
>> I also don't know how to do this in XCode -- I suggest you first try running the
>> binary on the command line, with the above variable setting, and if it works,
>> check the XCode manual for a comparable setting.
>>
>> - Volodya
>> _______________________________________________
>> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
>>
>
>
> Thanks, but it hasn't worked. Note that I did replace ~ by it's expanded
> version but $env does not show DYLD_LIBRARY_PATH : is it supposed to?

Yes, it is supposed to. You might want to also 'export DYLD_LIBRARY_PATH', but otherwise
I have no idea.

> First, I don't see why it's looking for dyn library if I add
> libboost_serialization.a to the project, not
> libboost_serialization.dynlib (even if I reverse their roles I still get
> the same linking error message as above).

This I don't know. It is likely that some library you use still wants dynamic
serialization.

- Volodya


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: linking to serialization

by g-h-d :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


>> Thanks, but it hasn't worked. Note that I did replace ~ by it's expanded
>> version but $env does not show DYLD_LIBRARY_PATH : is it supposed to?
>
> Yes, it is supposed to. You might want to also 'export DYLD_LIBRARY_PATH', but otherwise
> I have no idea.

Thanks, export has worked, and ...


>
>> First, I don't see why it's looking for dyn library if I add
>> libboost_serialization.a to the project, not
>> libboost_serialization.dynlib (even if I reverse their roles I still get
>> the same linking error message as above).
>
> This I don't know. It is likely that some library you use still wants dynamic
> serialization.

...I'm using a simple test case that only involves serialization and so
far no luck.

>
> - Volodya
>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
>

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: linking to serialization

by g-h-d :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


A simple question : how do I tell XCode to load a particular library? My
understanding was that a) I should specify the Linking Search Path in
the build settings and b) adding the desired library to the project (Add
to Project).

Perhaps I'm wrong about b). Could someone please confirm?

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: linking to serialization

by g-h-d :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

er wrote:

>
> A simple question : how do I tell XCode to load a particular library? My
> understanding was that a) I should specify the Linking Search Path in
> the build settings and b) adding the desired library to the project (Add
> to Project).
>
> Perhaps I'm wrong about b). Could someone please confirm?
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>

This is no longer an issue.

The problem in my case is that I in /usr/local I did $ ./bjam --prefix =
  ~/some path

by ommitting the prefix and copying bin.v2 to ~some/path things follow
there.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: linking to serialization

by g-h-d :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


> This is no longer an issue.
>
> The problem in my case is that I in /usr/local I did $ ./bjam --prefix =
>  ~/some path
>
> by ommitting the prefix and copying bin.v2 to ~some/path things follow
> there.


Actually there's no need to copy bin.v2 to a folder in ~. A small tip
I've learned is you can add a file from /usr/local to a project (Project
 > AddToProject) with Apple key + Shift + G

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build