mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] upx build failure on ubuntu 32bit docker cont


From: Nagaev Boris
Subject: Re: [Mingw-cross-env-list] upx build failure on ubuntu 32bit docker container
Date: Wed, 21 Dec 2016 04:19:10 +0000

Hi HeeSoo

I pushed that change to master in https://github.com/mxe/mxe/pull/1606

On Wed, Dec 21, 2016 at 4:03 AM, HeeSoo, Jung (정희수) <address@hidden> wrote:
> Hi Nagaev
>
> With your patch I could successfully build mxe on my ubuntu 16.04 32-bit
> docker container.
> Thank you a lot!
>
> HeeSoo
>
> On Wed, Dec 21, 2016 at 9:32 AM, Nagaev Boris <address@hidden> wrote:
>>
>> On Tue, Dec 20, 2016 at 10:02 AM, HeeSoo, Jung (정희수)
>> <address@hidden> wrote:
>> > Hello
>> >
>> > I'm trying to compile mxe on a docker container running ubuntu 32bit
>> > image(xenial), but failing on upx build.
>> > It successfully compiles on the host machine running ubuntu 16.04 64 bit
>> > and
>> > also successful on 12.04 32 bit machine.
>> >
>> > After running 'MXE_VERBOSE=1 make gcc', I got following error message.
>> > Does anyone can help on this?
>> >
>> > g++ -DWITH_LZMA=0x920
>> >
>> > -I/opt/mxe/tmp-upx-x86_64-unknown-linux-gnu/upx-3.91-src/ucl-1.03/include
>> > -I/opt/mxe/tmp-upx-x86_64-unknown-linux-gnu/upx-3.91-src/lzma -O2 -Wall
>> > -W
>> > -Wcast-align -Wcast-qual -Wpointer-arith -Wshadow -Wwrite-strings -o upx
>> > c_file.o c_init.o c_none.o c_screen.o compress.o compress_lzma.o
>> > compress_ucl.o compress_zlib.o except.o file.o filter.o filteri.o help.o
>> > lefile.o linker.o main.o mem.o msg.o p_armpe.o p_com.o p_djgpp2.o
>> > p_elks.o
>> > p_exe.o p_lx_elf.o p_lx_exc.o p_lx_interp.o p_lx_sh.o p_mach.o p_ps1.o
>> > p_sys.o p_tmt.o p_tos.o p_unix.o p_vmlinx.o p_vmlinz.o p_w16ne.o
>> > p_w32pe.o
>> > p_w64pep.o p_wcle.o packer.o packer_c.o packer_f.o packhead.o packmast.o
>> > pefile.o pepfile.o s_djgpp2.o s_object.o s_vcsa.o s_win32.o snprintf.o
>> > stdcxx.o ui.o util.o work.o -L/opt/mxe/usr/x86_64-unknown-linux-gnu/lib
>> > -lucl -lz
>> > compress_ucl.o: In function `upx_ucl_decompress(unsigned char const*,
>> > unsigned int, unsigned char*, unsigned int*, int, upx_compress_result_t
>> > const*)':
>> > compress_ucl.cpp:(.text+0x3ca): undefined reference to
>> > `ucl_nrv2e_decompress_asm_safe_le16'
>> > compress_ucl.cpp:(.text+0x3ea): undefined reference to
>> > `ucl_nrv2b_decompress_asm_safe_le32'
>> > compress_ucl.cpp:(.text+0x40a): undefined reference to
>> > `ucl_nrv2b_decompress_asm_safe_8'
>> > compress_ucl.cpp:(.text+0x42a): undefined reference to
>> > `ucl_nrv2b_decompress_asm_safe_le16'
>> > compress_ucl.cpp:(.text+0x44a): undefined reference to
>> > `ucl_nrv2d_decompress_asm_safe_le32'
>> > compress_ucl.cpp:(.text+0x46a): undefined reference to
>> > `ucl_nrv2d_decompress_asm_safe_8'
>> > compress_ucl.cpp:(.text+0x48a): undefined reference to
>> > `ucl_nrv2d_decompress_asm_safe_le16'
>> > compress_ucl.cpp:(.text+0x4aa): undefined reference to
>> > `ucl_nrv2e_decompress_asm_safe_le32'
>> > compress_ucl.cpp:(.text+0x4ca): undefined reference to
>> > `ucl_nrv2e_decompress_asm_safe_8'
>> > collect2: error: ld returned 1 exit status
>> > Makefile:73: recipe for target 'upx' failed
>> > make[3]: *** [upx] Error 1
>> > make[3]: Leaving directory
>> > '/opt/mxe/tmp-upx-x86_64-unknown-linux-gnu/upx-3.91-src/src'
>> > Makefile:37: recipe for target 'all' failed
>> > make[2]: *** [all] Error 2
>> > make[2]: Leaving directory
>> > '/opt/mxe/tmp-upx-x86_64-unknown-linux-gnu/upx-3.91-src'
>> > Makefile:608: recipe for target
>> > 'build-only-upx_x86_64-unknown-linux-gnu'
>> > failed
>> > make[1]: *** [build-only-upx_x86_64-unknown-linux-gnu] Error 2
>> >
>> > HeeSoo
>> >
>>
>> Hey HeeSoo
>>
>> Thank you for reporting this!
>>
>> I think, this is caused by upx attempt to use asm versions of its
>> functions on i386. For some reason, these functions are not generated.
>>
>> I switched off this behavior in the following patch:
>>
>> diff --git a/src/upx.mk b/src/upx.mk
>> index 3f25211..eeeea90 100644
>> --- a/src/upx.mk
>> +++ b/src/upx.mk
>> @@ -48,6 +48,7 @@ define $(PKG)_BUILD_$(BUILD)
>>          CC='$(BUILD_CC)' \
>>          PKG_CONFIG='$(PREFIX)/$(BUILD)/bin/pkgconf' \
>>          LIBS='-L$(PREFIX)/$(BUILD)/lib -lucl -lz' \
>> +        CXXFLAGS=-DUCL_NO_ASM \
>>          CXXFLAGS_WERROR= \
>>          exeext=
>>      cp '$(1)/src/upx' '$(PREFIX)/$(BUILD)/bin/'
>>
>> but I do not have a 32bit machine to test it. Can you apply this patch
>> locally and tell if it helps, please?
>>
>> --
>> Best regards,
>> Boris Nagaev
>
>
>
>
> --
> HeeSoo, Jung / 정희수 / CloudUI Team



-- 
Best regards,
Boris Nagaev



reply via email to

[Prev in Thread] Current Thread [Next in Thread]