MacOS build fail "SSE4.2 instruction set not enabled"

classic Classic list List threaded Threaded
11 messages Options
julien2412 julien2412
Reply | Threaded
Open this post in threaded view
|

MacOS build fail "SSE4.2 instruction set not enabled"

Hello,

I submitted a gerrit patch to bump Firebird to 3.0.2 (see https://gerrit.libreoffice.org/#/c/37488/)
MacOs build fails on Jenkins with these logs:
In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/workdir/UnpackedTarball/firebird/src/common/CRC32C.cpp:34:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.1.0/include/nmmintrin.h:28:2: error: "SSE4.2 instruction set not enabled"
#error "SSE4.2 instruction set not enabled"
 ^
/Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/workdir/UnpackedTarball/firebird/src/common/CRC32C.cpp:41:10: error: use of undeclared identifier '_mm_crc32_u8'
                return _mm_crc32_u8(hash_value, *value);
(idem with  _mm_crc32_u16 and  _mm_crc32_u32)

Would it be possible to enable SSE4.2 on Jenkins MacOs machine or have we got some compatibility constraint to fulfil?

Julien
sberg sberg
Reply | Threaded
Open this post in threaded view
|

Re: MacOS build fail "SSE4.2 instruction set not enabled"

On 05/11/2017 10:17 AM, julien2412 [via Document Foundation Mail
Archive] wrote:
> Would it be possible to enable SSE4.2 on Jenkins MacOs machine or have
> we got some compatibility constraint to fulfil?

I'm not a maintainer of that machine, nor have I got any idea how to
access it.  Please ask on the LO mailing list.
sberg sberg
Reply | Threaded
Open this post in threaded view
|

Re: MacOS build fail "SSE4.2 instruction set not enabled"

In reply to this post by julien2412
On 05/11/2017 10:57 AM, Stephan Bergmann wrote:
> On 05/11/2017 10:17 AM, julien2412 [via Document Foundation Mail
> Archive] wrote:
>> Would it be possible to enable SSE4.2 on Jenkins MacOs machine or have
>> we got some compatibility constraint to fulfil?
>
> I'm not a maintainer of that machine, nor have I got any idea how to
> access it.  Please ask on the LO mailing list.

...nor do I know what the LO baseline wrt macOS SSE support is; one more
reason this needs to be discussed on the mailing list
sberg sberg
Reply | Threaded
Open this post in threaded view
|

Re: MacOS build fail "SSE4.2 instruction set not enabled"

In reply to this post by sberg
[Oh my, so I fell victim to a

> From: "julien2412 [via Document Foundation Mail Archive]" <[hidden email]>

phishing attack, neither realizing that Julien's original mail also went
to the ML, nor that my response would go there.  Nabble crap.]

On 05/11/2017 10:57 AM, sberg wrote:

> On 05/11/2017 10:17 AM, julien2412 [via Document Foundation Mail
> Archive] wrote:
>  > Would it be possible to enable SSE4.2 on Jenkins MacOs machine or have
>  > we got some compatibility constraint to fulfil?
>
> I'm not a maintainer of that machine, nor have I got any idea how to
> access it.  Please ask on the LO mailing list.
>
> ------------------------------------------------------------------------
> View this message in context: Re: MacOS build fail "SSE4.2 instruction
> set not enabled"
> <http://nabble.documentfoundation.org/MacOS-build-fail-SSE4-2-instruction-set-not-enabled-tp4214246p4214247.html>
> Sent from the Dev mailing list archive
> <http://nabble.documentfoundation.org/Dev-f1639786.html> at Nabble.com.
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Tomaž Vajngerl Tomaž Vajngerl
Reply | Threaded
Open this post in threaded view
|

Re: MacOS build fail "SSE4.2 instruction set not enabled"

In reply to this post by julien2412
Hi,

On Thu, May 11, 2017 at 10:17 AM, julien2412 <[hidden email]> wrote:

> Hello,
>
> I submitted a gerrit patch to bump Firebird to 3.0.2 (see
> https://gerrit.libreoffice.org/#/c/37488/)
> MacOs build fails on Jenkins with these logs:
> In file included from
> /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/workdir/UnpackedTarball/firebird/src/common/CRC32C.cpp:34:
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.1.0/include/nmmintrin.h:28:2:
> error: "SSE4.2 instruction set not enabled"
> #error "SSE4.2 instruction set not enabled"
>  ^
> /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/workdir/UnpackedTarball/firebird/src/common/CRC32C.cpp:41:10:
> error: use of undeclared identifier '_mm_crc32_u8'
>                 return _mm_crc32_u8(hash_value, *value);
> (idem with  _mm_crc32_u16 and  _mm_crc32_u32)
>
> Would it be possible to enable SSE4.2 on Jenkins MacOs machine or have we
> got some compatibility constraint to fulfil?

The file CRC32C.cpp must be compiled with compiler flag -msse4
otherwise you get such a compile error - I'm not sure how we compile
firebird but we will probably need to adapt this.

> Julien

Regards, Tomaž
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
marius adrian popa marius adrian popa
Reply | Threaded
Open this post in threaded view
|

Re: MacOS build fail "SSE4.2 instruction set not enabled"


On Thu, May 11, 2017 at 1:01 PM, Tomaž Vajngerl <[hidden email]> wrote:
Hi,

On Thu, May 11, 2017 at 10:17 AM, julien2412 <[hidden email]> wrote:
> Hello,
>
> I submitted a gerrit patch to bump Firebird to 3.0.2 (see
> https://gerrit.libreoffice.org/#/c/37488/)
> MacOs build fails on Jenkins with these logs:
> In file included from
> /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/workdir/UnpackedTarball/firebird/src/common/CRC32C.cpp:34:
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.1.0/include/nmmintrin.h:28:2:
> error: "SSE4.2 instruction set not enabled"
> #error "SSE4.2 instruction set not enabled"
>  ^
> /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/workdir/UnpackedTarball/firebird/src/common/CRC32C.cpp:41:10:
> error: use of undeclared identifier '_mm_crc32_u8'
>                 return _mm_crc32_u8(hash_value, *value);
> (idem with  _mm_crc32_u16 and  _mm_crc32_u32)
>
> Would it be possible to enable SSE4.2 on Jenkins MacOs machine or have we
> got some compatibility constraint to fulfil?

The file CRC32C.cpp must be compiled with compiler flag -msse4
otherwise you get such a compile error - I'm not sure how we compile
firebird but we will probably need to adapt this.

> Julien

Regards, Tomaž
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Alex Peshkoff Alex Peshkoff
Reply | Threaded
Open this post in threaded view
|

Re: [Firebird-devel] MacOS build fail "SSE4.2 instruction set not enabled"

On 05/12/17 12:05, marius adrian popa wrote:
> Known issue in Firebird 3.0.x
>
> http://firebird.1100200.n4.nabble.com/std-c-11-added-to-CXXFLAGS-in-3-0-on-linux-td4645224.html
>
> introduced by this commit
>
> https://github.com/FirebirdSQL/firebird/commit/52d9a05a0f3d

I can't check myself mac issues, but sooner of all attached patch should
help.


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice

Mac_X86_SSE4.patch (1K) Download Attachment
Tomaž Vajngerl Tomaž Vajngerl
Reply | Threaded
Open this post in threaded view
|

Re: MacOS build fail "SSE4.2 instruction set not enabled"

In reply to this post by marius adrian popa
Hi,

On Fri, May 12, 2017 at 11:05 AM, marius adrian popa <[hidden email]> wrote:
> Known issue in Firebird 3.0.x
>
> http://firebird.1100200.n4.nabble.com/std-c-11-added-to-CXXFLAGS-in-3-0-on-linux-td4645224.html
>
> introduced by this commit
>
> https://github.com/FirebirdSQL/firebird/commit/52d9a05a0f3d
>

They would need to add something like "%/CRC32C.o: COMMON_FLAGS +=
-msse4" to prefix.darwin too (clang should have compatible switches)

For Windows It is complicated as it depends if the particular VS
version supports the instructions or not, but you need to add some
compile switch too...

That's only for compiler - in addition you also need run-time
detection, but I see this is already covered by SSE4_2Supported()
method.

Regards, Tomaž
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
marius adrian popa marius adrian popa
Reply | Threaded
Open this post in threaded view
|

Re: MacOS build fail "SSE4.2 instruction set not enabled"

Also in firebird/extern/cloop/src/tests/test1/CTest.c

related to this patch 
https://gerrit.libreoffice.org/#/c/37488/6/external/firebird/firebird-macosx.patch.1

these lines and changes are still needed for osx 
 
 #include "CalcCApi.h"
-#include <malloc.h>
+#include <stdlib.h>
 #include <stdio.h>


On Fri, May 12, 2017 at 1:10 PM, Tomaž Vajngerl <[hidden email]> wrote:
Hi,

On Fri, May 12, 2017 at 11:05 AM, marius adrian popa <[hidden email]> wrote:
> Known issue in Firebird 3.0.x
>
> http://firebird.1100200.n4.nabble.com/std-c-11-added-to-CXXFLAGS-in-3-0-on-linux-td4645224.html
>
> introduced by this commit
>
> https://github.com/FirebirdSQL/firebird/commit/52d9a05a0f3d
>

They would need to add something like "%/CRC32C.o: COMMON_FLAGS +=
-msse4" to prefix.darwin too (clang should have compatible switches)

For Windows It is complicated as it depends if the particular VS
version supports the instructions or not, but you need to add some
compile switch too...

That's only for compiler - in addition you also need run-time
detection, but I see this is already covered by SSE4_2Supported()
method.

Regards, Tomaž


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
julien2412 julien2412
Reply | Threaded
Open this post in threaded view
|

Re: MacOS build fail "SSE4.2 instruction set not enabled" (abandonned)

Hi,

As I put on the gerrit patch, I give up with this patch because:
- it's too complicated to modify the patch : the patching part was working on my Mac and it fails to apply on Jenkins Mac
- sse4 pb. Even if it builds, LO may crash on pc which aren't compatible with sse4

Julien

On 12/05/2017 14:33, marius adrian popa wrote:
Also in firebird/extern/cloop/src/tests/test1/CTest.c

related to this patch 
https://gerrit.libreoffice.org/#/c/37488/6/external/firebird/firebird-macosx.patch.1

these lines and changes are still needed for osx 
 
 #include "CalcCApi.h"
-#include <malloc.h>
+#include <stdlib.h>
 #include <stdio.h>


On Fri, May 12, 2017 at 1:10 PM, Tomaž Vajngerl <[hidden email]> wrote:
Hi,

On Fri, May 12, 2017 at 11:05 AM, marius adrian popa <[hidden email]> wrote:
> Known issue in Firebird 3.0.x
>
> http://firebird.1100200.n4.nabble.com/std-c-11-added-to-CXXFLAGS-in-3-0-on-linux-td4645224.html
>
> introduced by this commit
>
> https://github.com/FirebirdSQL/firebird/commit/52d9a05a0f3d
>

They would need to add something like "%/CRC32C.o: COMMON_FLAGS +=
-msse4" to prefix.darwin too (clang should have compatible switches)

For Windows It is complicated as it depends if the particular VS
version supports the instructions or not, but you need to add some
compile switch too...

That's only for compiler - in addition you also need run-time
detection, but I see this is already covered by SSE4_2Supported()
method.

Regards, Tomaž



_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
marius adrian popa marius adrian popa
Reply | Threaded
Open this post in threaded view
|

Re: MacOS build fail "SSE4.2 instruction set not enabled" (abandonned)

I will check your patch this week on a mac / windows and linux , It's still a hack so the proper way to solve it is like described in this stackoverflow solution 

On Sat, May 13, 2017 at 9:31 AM, Julien Nabet <[hidden email]> wrote:
Hi,

As I put on the gerrit patch, I give up with this patch because:
- it's too complicated to modify the patch : the patching part was working on my Mac and it fails to apply on Jenkins Mac
- sse4 pb. Even if it builds, LO may crash on pc which aren't compatible with sse4

Julien

On 12/05/2017 14:33, marius adrian popa wrote:
Also in firebird/extern/cloop/src/tests/test1/CTest.c

related to this patch 
https://gerrit.libreoffice.org/#/c/37488/6/external/firebird/firebird-macosx.patch.1

these lines and changes are still needed for osx 
 
 #include "CalcCApi.h"
-#include <malloc.h>
+#include <stdlib.h>
 #include <stdio.h>


On Fri, May 12, 2017 at 1:10 PM, Tomaž Vajngerl <[hidden email]> wrote:
Hi,

On Fri, May 12, 2017 at 11:05 AM, marius adrian popa <[hidden email]> wrote:
> Known issue in Firebird 3.0.x
>
> http://firebird.1100200.n4.nabble.com/std-c-11-added-to-CXXFLAGS-in-3-0-on-linux-td4645224.html
>
> introduced by this commit
>
> https://github.com/FirebirdSQL/firebird/commit/52d9a05a0f3d
>

They would need to add something like "%/CRC32C.o: COMMON_FLAGS +=
-msse4" to prefix.darwin too (clang should have compatible switches)

For Windows It is complicated as it depends if the particular VS
version supports the instructions or not, but you need to add some
compile switch too...

That's only for compiler - in addition you also need run-time
detection, but I see this is already covered by SSE4_2Supported()
method.

Regards, Tomaž




_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice