Good evening!

To compile mozjpeg I use MSYS2. Compilation options

cd /c/Users/Lorents/Desktop/mozjpeg-dctrellis autoreconf -fiv ./configure make 

That's what gives out.

 simd/.libs/libsimd.a(jccolmmx.o): In function `jsimd_rgb_ycc_convert_mmx': jccolmmx.asm:(.text+0x1c): undefined reference to `GLOBAL_OFFSET_TABLE_' simd/.libs/libsimd.a(jccolmmx.o): In function `jsimd_extrgb_ycc_convert_mmx': jccolmmx.asm:(.text+0x3ac): undefined reference to `GLOBAL_OFFSET_TABLE_' simd/.libs/libsimd.a(jccolmmx.o): In function `jsimd_extrgbx_ycc_convert_mmx': jccolmmx.asm:(.text+0x73c): undefined reference to `GLOBAL_OFFSET_TABLE_' simd/.libs/libsimd.a(jccolmmx.o): In function `jsimd_extbgr_ycc_convert_mmx': jccolmmx.asm:(.text+0xa9c): undefined reference to `GLOBAL_OFFSET_TABLE_' simd/.libs/libsimd.a(jccolmmx.o): In function `jsimd_extbgrx_ycc_convert_mmx': jccolmmx.asm:(.text+0xe2c): undefined reference to `GLOBAL_OFFSET_TABLE_' simd/.libs/libsimd.a(jccolmmx.o):jccolmmx.asm:(.text+0x118c): more undefined references to `GLOBAL_OFFSET_TABLE_' follow collect2.exe: error: ld returned 1 exit status Makefile:832: ошибка выполнения рецепта для цели «libjpeg.la» make[2]: *** [libjpeg.la] Ошибка 1 make[2]: выход из каталога «/c/Users/Lorents/Desktop/mozjpeg-dctrellis» Makefile:1950: ошибка выполнения рецепта для цели «all-recursive» make[1]: *** [all-recursive] Ошибка 1 make[1]: выход из каталога «/c/Users/Lorents/Desktop/mozjpeg-dctrellis» Makefile:713: ошибка выполнения рецепта для цели «all» make: *** [all] Ошибка 2 

At the same time, if I compile this way, then everything works:

 cd /c/Users/Lorents/Desktop/mozjpeg-dctrellis cmake -G "MSYS Makefiles" make 

Tell me what am I doing wrong?

    1 answer 1

    It looks like a problem in mozjpeg-dctrellis itself. At assembly with the following flag of problems at assembly does not arise.

     ./configure --without-simd 

    When building via cmake, this flag is set? Why are you using this brunch and not master?

    • with master, the same error. And how to see the values ​​of cmake? - lorents
    • The output of cmake should be visible, the word SIMD should appear there. - Anton Sazonov
    • - Building i386 SIMD extensions. That's what gives out - lorents
    • This is some kind of problem in configure scripts. Perhaps the creators did not even check this build method in MSYS, while cmake is doing everything right. What is not satisfied with the assembly through cmake? - Anton Sazonov
    • I need to compile github.com/fhanau/Efficient-Compression-Tool , inside it is mozjpeg. If you look at the Makefile, then the compilation goes through ./configure. So I'm trying to solve - lorents