From: Anonymous on
Doug Barton <dougb(a)dougbarton.us> writes:

> Howdy,
>
> I'm working on compiling the python bindings for
> net-p2p/libtorrent-rasterbar-15 and compiled devel/boost-python-libs as
> a dependency for that. When compiled with gcc 4.5.1
> (http://www.freebsd.org/doc/en_US.ISO8859-1/articles/custom-gcc/index.html)
> the boost-python-libs give the following linker error when trying to
> build the libtorrent python bindings:
>
> configure:18063: cc -o conftest -D_THREAD_SAFE -pthread -pipe -g -g
> -I/usr/local/include -pthread -L/usr/local/lib -rpath
> =/usr/lib:/usr/local/lib -L/usr/local/lib/python2.6/config -lpython2.6
> conftest.c -lboost_python >&5
> /usr/local/lib/libboost_python.so: undefined reference to
> `_ZNSt15_List_node_base7_M_hookEPS_(a)GLIBCXX_3.4.14'
> configure:18063: $? = 1

@@GLIBCXX_3.4.14 symbols are in gcc45/libstdc++.so. Try to add -lstdc++
or use CXX otherwise it picks up libstdc++.so from /usr/lib.

Another way is to adjust search path a little, place $LOCALBASE/lib/gcc45 before /usr/lib

# sed -i '' "\|_LDC.*/usr/lib|s|\"|\"${LOCALBASE-/usr/local}/lib/gcc45 |" /etc/rc.d/ldconfig
# /etc/rc.d/ldconfig restart

>
> The full log is available at
> http://dougbarton.us/boost-python-gcc451-config.log
>
> When the boost-python-libs are compiled with gcc 4.2.1 (the default in
> -current) I can compile the libtorrent bindings with either version of gcc.
>
>
> Let me know if there is any other information you need.
>
> Doug
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Doug Barton on
On 06/26/10 19:16, Anonymous wrote:
> @@GLIBCXX_3.4.14 symbols are in gcc45/libstdc++.so. Try to add -lstdc++
> or use CXX otherwise it picks up libstdc++.so from /usr/lib.

I have the following in /etc/libmap.conf:

libgcc_s.so.1 gcc45/libgcc_s.so.1
libgomp.so.1 gcc45/libgomp.so.1
libobjc.so.3 gcc45/libobjc.so.2
libssp.so.0 gcc45/libssp.so.0
libstdc++.so.6 gcc45/libstdc++.so.6

Which should theoretically solve that issue.


Doug

--

... and that's just a little bit of history repeating.
-- Propellerheads

Improve the effectiveness of your Internet presence with
a domain name makeover! http://SupersetSolutions.com/

_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Anonymous on
Doug Barton <dougb(a)dougbarton.us> writes:

> On 06/26/10 19:16, Anonymous wrote:
>> @@GLIBCXX_3.4.14 symbols are in gcc45/libstdc++.so. Try to add -lstdc++
>> or use CXX otherwise it picks up libstdc++.so from /usr/lib.
>
> I have the following in /etc/libmap.conf:
>
> libgcc_s.so.1 gcc45/libgcc_s.so.1
> libgomp.so.1 gcc45/libgomp.so.1
> libobjc.so.3 gcc45/libobjc.so.2
> libssp.so.0 gcc45/libssp.so.0
> libstdc++.so.6 gcc45/libstdc++.so.6
>
> Which should theoretically solve that issue.

I guess ld(1) only uses ld-elf.so.hints and ignores libmap.conf

$ gcc45 test.c -lboost_python -lpython2.6 -Wl,--verbose |& fgrep stdc
libstdc++.so.6 needed by $LOCALBASE/lib/libboost_python.so
found libstdc++.so.6 at /usr/lib/libstdc++.so.6

# try with -rpath-link
$ gcc45 test.c -lboost_python -lpython2.6 -Wl,--verbose -Wl,-rpath-link,$LOCALBASE/lib/gcc45 |& fgrep stdc++
libstdc++.so.6 needed by $LOCALBASE/lib/libboost_python.so
found libstdc++.so.6 at $LOCALBASE/lib/gcc45/libstdc++.so.6

# try with $LOCALBASE/lib/gcc45 before /usr/lib in `ldconfig -r'
$ gcc45 test.c -lboost_python -lpython2.6 -Wl,--verbose -Wl,-rpath-link,$LOCALBASE/lib/gcc45 |& fgrep stdc++
libstdc++.so.6 needed by $LOCALBASE/lib/libboost_python.so
found libstdc++.so.6 at $LOCALBASE/lib/gcc45/libstdc++.so.6

>
>
> Doug
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Anonymous on
Anonymous <swell.k(a)gmail.com> writes:

> Doug Barton <dougb(a)dougbarton.us> writes:
>
>> On 06/26/10 19:16, Anonymous wrote:
>>> @@GLIBCXX_3.4.14 symbols are in gcc45/libstdc++.so. Try to add -lstdc++
>>> or use CXX otherwise it picks up libstdc++.so from /usr/lib.
>>
>> I have the following in /etc/libmap.conf:
>>
>> libgcc_s.so.1 gcc45/libgcc_s.so.1
>> libgomp.so.1 gcc45/libgomp.so.1
>> libobjc.so.3 gcc45/libobjc.so.2
>> libssp.so.0 gcc45/libssp.so.0
>> libstdc++.so.6 gcc45/libstdc++.so.6
>>
>> Which should theoretically solve that issue.
>
> I guess ld(1) only uses ld-elf.so.hints and ignores libmap.conf

I've filed ports/148196.

However, I think there should be a way to prepend search paths in
/etc/rc.d/ldconfig despite possible footshooting. Using libmap.conf
as described in custom-gcc article looks ugly to me.
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Doug Barton on
On Mon, 28 Jun 2010, Anonymous wrote:

> I've filed ports/148196.

Looks nice, thanks!

> However, I think there should be a way to prepend search paths in
> /etc/rc.d/ldconfig despite possible footshooting. Using libmap.conf
> as described in custom-gcc article looks ugly to me.

I tend to agree, although I'm not an expert in this area. :)


Doug

--

Improve the effectiveness of your Internet presence with
a domain name makeover! http://SupersetSolutions.com/

Computers are useless. They can only give you answers.
-- Pablo Picasso

_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"