You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by Robin Lee <ro...@gmail.com> on 2013/04/08 12:48:19 UTC

Cross-MinGW linking problem

Hi, every body.

I was just tring to build Proton (svn1465587) with MinGW on Fedora
cross-compiling environment[1].

When linking libqpid-proton.dll, I found libqpid-proton.dll.a is missing
symbols available in the dll.

The linking command:
/usr/bin/i686-w64-mingw32-gcc   -Wl,--no-undefined   -shared -o
libqpid-proton.dll -Wl,--out-implib,libqpid-proton.dll.a
-Wl,--major-image-version,1,--minor-image-version,0 -Wl,--whole-archive
CMakeFiles/qpid-proton.dir/objects.a -Wl,--no-whole-archive -lws2_32
-lrpcrt4 -L. -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32
-loleaut32 -luuid -lcomdlg32 -ladvapi32

Output of 'i686-w64-mingw32-nm objects.a' in qpid-proton.dir:
http://cheeselee.fedorapeople.org/nm-qpid-proton-objects.a.txt

Output of 'i686-w64-mingw32-nm libqpid-proton.dll':
http://cheeselee.fedorapeople.org/nm-libqpid-proton.dll.txt

Output of 'i686-w64-mingw32-nm libqpid-proton.dll.a':
http://cheeselee.fedorapeople.org/nm-libqpid-proton.dll.a.txt

The successive result is proton.exe failed to link, since
libqpid-proton.dll.a is missing symbols.

0.4 stable also suffer this problem.

Native Linux Build is smooth.

[1] MinGW package list:
mingw32-boost-1.50.0-1.fc18.noarch
mingw32-filesystem-97-1.fc18.noarch
mingw32-gcc-c++-4.7.2-7.fc18.x86_64
mingw32-bzip2-1.0.6-2.fc18.noarch
mingw32-zlib-1.2.7-1.fc18.noarch
mingw-binutils-generic-2.23.1-2.fc18.x86_64
mingw32-win-iconv-0.0.4-1.fc18.noarch
mingw32-boost-static-1.50.0-1.fc18.noarch
mingw32-headers-2.0.999-0.15.trunk.20121110.fc18.noarch
mingw32-crt-2.0.999-0.16.trunk.20121110.fc18.noarch
mingw32-gcc-4.7.2-7.fc18.x86_64
mingw32-pthreads-2.8.0-22.20110511cvs.fc18.noarch
mingw32-binutils-2.23.1-2.fc18.x86_64
mingw32-pcre-8.31-1.fc18.noarch
mingw-filesystem-base-97-1.fc18.noarch
mingw32-pthreads-static-2.8.0-22.20110511cvs.fc18.noarch
mingw32-cpp-4.7.2-7.fc18.x86_64

Re: Cross-MinGW linking problem

Posted by Robin Lee <ro...@gmail.com>.
I finally make MinGW build of current trunk all done, and will figure out
some patches as soon as possible.

On Tuesday, April 9, 2013, Cliff Jansen <cl...@gmail.com> wrote:
> Hi Robin,
>
> MinGW has not recently been looked at for proton.  A lot of Visual
> Studio related contributions have been incorporated as of 0.4, which
> allows us to build on Windows, but work remains to get ssl support, a
> clean "make test" and a parallel CI build on Windows.
>
> Please feel free to create a JIRA for MinGW support.  We would also
> certainly welcome any code contributions.
>
> Cliff
>
> On Mon, Apr 8, 2013 at 6:48 AM, Robin Lee <ro...@gmail.com> wrote:
>> Hi, every body.
>>
>> I was just tring to build Proton (svn1465587) with MinGW on Fedora
>> cross-compiling environment[1].
>>
>> When linking libqpid-proton.dll, I found libqpid-proton.dll.a is missing
>> symbols available in the dll.
>>
>> The linking command:
>> /usr/bin/i686-w64-mingw32-gcc   -Wl,--no-undefined   -shared -o
>> libqpid-proton.dll -Wl,--out-implib,libqpid-proton.dll.a
>> -Wl,--major-image-version,1,--minor-image-version,0 -Wl,--whole-archive
>> CMakeFiles/qpid-proton.dir/objects.a -Wl,--no-whole-archive -lws2_32
>> -lrpcrt4 -L. -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32
>> -loleaut32 -luuid -lcomdlg32 -ladvapi32
>>
>> Output of 'i686-w64-mingw32-nm objects.a' in qpid-proton.dir:
>> http://cheeselee.fedorapeople.org/nm-qpid-proton-objects.a.txt
>>
>> Output of 'i686-w64-mingw32-nm libqpid-proton.dll':
>> http://cheeselee.fedorapeople.org/nm-libqpid-proton.dll.txt
>>
>> Output of 'i686-w64-mingw32-nm libqpid-proton.dll.a':
>> http://cheeselee.fedorapeople.org/nm-libqpid-proton.dll.a.txt
>>
>> The successive result is proton.exe failed to link, since
>> libqpid-proton.dll.a is missing symbols.
>>
>> 0.4 stable also suffer this problem.
>>
>> Native Linux Build is smooth.
>>
>> [1] MinGW package list:
>> mingw32-boost-1.50.0-1.fc18.noarch
>> mingw32-filesystem-97-1.fc18.noarch
>> mingw32-gcc-c++-4.7.2-7.fc18.x86_64
>> mingw32-bzip2-1.0.6-2.fc18.noarch
>> mingw32-zlib-1.2.7-1.fc18.noarch
>> mingw-binutils-generic-2.23.1-2.fc18.x86_64
>> mingw32-win-iconv-0.0.4-1.fc18.noarch
>> mingw32-boost-static-1.50.0-1.fc18.noarch
>> mingw32-headers-2.0.999-0.15.trunk.20121110.fc18.noarch
>> mingw32-crt-2.0.999-0.16.trunk.20121110.fc18.noarch
>> mingw32-gcc-4.7.2-7.fc18.x86_64
>> mingw32-pthreads-2.8.0-22.20110511cvs.fc18.noarch
>> mingw32-binutils-2.23.1-2.fc18.x86_64
>> mingw32-pcre-8.31-1.fc18.noarch
>> mingw-filesystem-base-97-1.fc18.noarch
>> mingw32-pthreads-static-2.8.0-22.20110511cvs.fc18.noarch
>> mingw32-cpp-4.7.2-7.fc18.x86_64
>

Re: Cross-MinGW linking problem

Posted by Cliff Jansen <cl...@gmail.com>.
Hi Robin,

MinGW has not recently been looked at for proton.  A lot of Visual
Studio related contributions have been incorporated as of 0.4, which
allows us to build on Windows, but work remains to get ssl support, a
clean "make test" and a parallel CI build on Windows.

Please feel free to create a JIRA for MinGW support.  We would also
certainly welcome any code contributions.

Cliff

On Mon, Apr 8, 2013 at 6:48 AM, Robin Lee <ro...@gmail.com> wrote:
> Hi, every body.
>
> I was just tring to build Proton (svn1465587) with MinGW on Fedora
> cross-compiling environment[1].
>
> When linking libqpid-proton.dll, I found libqpid-proton.dll.a is missing
> symbols available in the dll.
>
> The linking command:
> /usr/bin/i686-w64-mingw32-gcc   -Wl,--no-undefined   -shared -o
> libqpid-proton.dll -Wl,--out-implib,libqpid-proton.dll.a
> -Wl,--major-image-version,1,--minor-image-version,0 -Wl,--whole-archive
> CMakeFiles/qpid-proton.dir/objects.a -Wl,--no-whole-archive -lws2_32
> -lrpcrt4 -L. -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32
> -loleaut32 -luuid -lcomdlg32 -ladvapi32
>
> Output of 'i686-w64-mingw32-nm objects.a' in qpid-proton.dir:
> http://cheeselee.fedorapeople.org/nm-qpid-proton-objects.a.txt
>
> Output of 'i686-w64-mingw32-nm libqpid-proton.dll':
> http://cheeselee.fedorapeople.org/nm-libqpid-proton.dll.txt
>
> Output of 'i686-w64-mingw32-nm libqpid-proton.dll.a':
> http://cheeselee.fedorapeople.org/nm-libqpid-proton.dll.a.txt
>
> The successive result is proton.exe failed to link, since
> libqpid-proton.dll.a is missing symbols.
>
> 0.4 stable also suffer this problem.
>
> Native Linux Build is smooth.
>
> [1] MinGW package list:
> mingw32-boost-1.50.0-1.fc18.noarch
> mingw32-filesystem-97-1.fc18.noarch
> mingw32-gcc-c++-4.7.2-7.fc18.x86_64
> mingw32-bzip2-1.0.6-2.fc18.noarch
> mingw32-zlib-1.2.7-1.fc18.noarch
> mingw-binutils-generic-2.23.1-2.fc18.x86_64
> mingw32-win-iconv-0.0.4-1.fc18.noarch
> mingw32-boost-static-1.50.0-1.fc18.noarch
> mingw32-headers-2.0.999-0.15.trunk.20121110.fc18.noarch
> mingw32-crt-2.0.999-0.16.trunk.20121110.fc18.noarch
> mingw32-gcc-4.7.2-7.fc18.x86_64
> mingw32-pthreads-2.8.0-22.20110511cvs.fc18.noarch
> mingw32-binutils-2.23.1-2.fc18.x86_64
> mingw32-pcre-8.31-1.fc18.noarch
> mingw-filesystem-base-97-1.fc18.noarch
> mingw32-pthreads-static-2.8.0-22.20110511cvs.fc18.noarch
> mingw32-cpp-4.7.2-7.fc18.x86_64