[lttng-dev] Building URCU in a Cygwin 64 environment
Jonathan Rajotte Julien
Jonathan.rajotte-julien at efficios.com
Tue May 31 14:47:45 UTC 2016
I'll simply move the conversation here (from IRC) to have an archive of it.
On 2016-05-31 09:39 AM, Sebastien Boisvert wrote:
> I am in the process of writing a blog article on the use of the LTTng-UST userspace event tracer on Windows.
> I am building urcu and LTTng-UST in a Cygwin 64 environment. Then, I plan to use LTTng in Visual Studio Community, so I mostly need headers (.h) and shared libraries (.dll).
> When I am building urcu (0.9.2), I get this message:
> libtool: link: warning: undefined symbols not allowed in x86_64-unknown-cygwin shared libraries
This seems related to a Windows restriction regarding inter-library
dependencies , the relevant part:
"Some platforms, such as Windows, do not even allow you this
flexibility. In order to build a shared library, it must be entirely
self-contained or it must have dependencies known at link time (that is,
have references only to symbols that are found in the .lo files or the
specified ‘-l’ libraries), and you need to specify the -no-undefined
flag. By default, libtool builds only static libraries on these kinds of
Looks like the -no-undefined might be a good start judging from this
patch I found for the urcu cygwin port in yacp .
> The immediate consequence seems to be the absence of .dll files in the urcu build that I am generating. Otherwise, the build contains static library files and headers.
> However, I suppose that the .a static library files also have undefined symbols as I am getting linking issues when building LTTng-UST.
> Do you have a clue of what may be the issue here ? Otherwise, I will continue my investigation and get around the issue eventually.
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
Jonathan R. Julien
More information about the lttng-dev