Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] Re: Linking with libstdc++.so

3 views
Skip to first unread message

Michael Ekstrand

unread,
Jun 28, 2010, 5:51:10 PM6/28/10
to caml...@inria.fr
On 06/28/2010 05:13 PM, Guillaume Yziquel wrote:
> Hello.
>
> I've been trying to compile a library with C++. With something like:
>
> ocamlc -verbose -a -dllib dllmystuff_stubs.so -dllib libstdc++ -o myStuff..cma myStuff.cmo
>
> However, on Debian systems, there is a libstdc++.so.5 and a libstdc++.so.6 file. No
> libstdc++.so file. So the -dllib libstdc++ option doesn't locate properly the library. How do you
> manage to have more control over the name of the library without resorting to using an ugly
> symlink in /usr/lib/ocaml/stublibs?
>
> All the best,

I have been able to link against libstdc++ by using -lstdc++ (rather
than -dllib). This is on an Ubuntu machine with the standard
development packages installed. Also, I use ocamlmklib rather than
directly running ocamlc to build my cma file; I don't expect that this
makes a difference for this particular problem, but is something worth
considering (and IMO easier).

- Michael

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Török Edwin

unread,
Jun 29, 2010, 2:19:12 AM6/29/10
to caml...@inria.fr
On Mon, 28 Jun 2010 17:50:48 -0400
Michael Ekstrand <mic...@elehack.net> wrote:

> On 06/28/2010 05:13 PM, Guillaume Yziquel wrote:
> > Hello.
> >
> > I've been trying to compile a library with C++. With something like:
> >
> > ocamlc -verbose -a -dllib dllmystuff_stubs.so -dllib libstdc++ -o
> > myStuff..cma myStuff.cmo
> >
> > However, on Debian systems, there is a libstdc++.so.5 and a
> > libstdc++.so.6 file. No libstdc++.so file. So the -dllib libstdc++
> > option doesn't locate properly the library. How do you manage to
> > have more control over the name of the library without resorting to
> > using an ugly symlink in /usr/lib/ocaml/stublibs?
> >
> > All the best,
>
> I have been able to link against libstdc++ by using -lstdc++ (rather
> than -dllib).

Yes that works because there is a libstdc++.so symlink, just not
in /usr/lib:
/usr/lib/gcc/x86_64-linux-gnu/4.4.4/libstdc++.so
-> ../../../libstdc++.so.6

It is in a compiler-specific directory, so for your old compiler it'd
probably symlink to libstdc++.so.5, and for the current compiler it'd
symlink to libstdc++.so.6.

Best regards,
--Edwin

0 new messages