[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


Hi Sebastien,

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:
> Hi,
>
> 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).

Nice!

>
> 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 [1], 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 
platforms."

Looks like the -no-undefined might be a good start judging from this 
patch I found for the urcu cygwin port in yacp [2].

Cheers!

[1] 
https://www.gnu.org/software/libtool/manual/libtool.html#Inter_002dlibrary-dependencies
[2] 
https://github.com/fd00/yacp/blob/master/userspace-rcu/userspace-rcu-0.8.7-1bl1.src.patch
>
> 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
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Jonathan R. Julien
Efficios



More information about the lttng-dev mailing list