Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#53171 closed defect (fixed)

MoarVM: failure to compile with the built-in libatomic_ops on 10.7

Reported by: mojca (Mojca Miklavec) Owned by: mojca (Mojca Miklavec)
Priority: Normal Milestone:
Component: ports Version:
Keywords: lion Cc: coke (Will Coleda)
Port: MoarVM libatomic_ops

Description

MoarVM compiles everywhere except on Lion. On Lion it only compiles if libatomic_ops from MacPorts (version 7.4.4) has already been installed, else one gets this:

compiling src/core/callsite.o
In file included from src/main.c:4:
In file included from src/moar.h:28:
3rdparty/libatomic_ops/src/atomic_ops.h:376:5: error: Cannot implement AO_compare_and_swap_full on this architecture.
#   error Cannot implement AO_compare_and_swap_full on this architecture.
    ^
In file included from src/core/callsite.c:1:
In file included from src/moar.h:28:
3rdparty/libatomic_ops/src/atomic_ops.h:376:5: error: Cannot implement AO_compare_and_swap_full on this architecture.
#   error Cannot implement AO_compare_and_swap_full on this architecture.
    ^
1 error generated.

The version of libatomic_ops from MoarVM presents itself as 7.5.0.

See also #50153.

Change History (4)

comment:1 Changed 7 years ago by mojca (Mojca Miklavec)

Resolution: fixed
Status: newclosed

In edda4685/macports-ports:

MoarVM: add dependencies for 3rd party modules

  • Add libuv as a dependency rather than conflicting with it. It is now a dependency of CMake, so people probably have it installed.
  • Add a dependency on libatomic_ops due to a build failure on 10.7. Closes: #53171
  • Add a dependency on dyncall to further reduce the number of conflicts.
  • The libtommath package doesn't seem to be compatible.

See: #50153
See: https://github.com/MoarVM/MoarVM/issues/321

comment:2 Changed 7 years ago by mojca (Mojca Miklavec)

I opened an upstream ticket at https://github.com/ivmai/libatomic_ops/issues/23.

Using

PortGroup           compiler_blacklist_versions 1.0
compiler.blacklist  {clang < 500} *gcc*

seems to help.

comment:3 Changed 7 years ago by mojca (Mojca Miklavec)

Arghhhh. After the change the build on 10.6 now fails with inability to link against dyncall.

Version 0, edited 7 years ago by mojca (Mojca Miklavec) (next)

comment:4 Changed 7 years ago by mojca (Mojca Miklavec)

In 6a01e722/macports-ports:

libatomic_ops[-devel]: merge into subports

libatomic_ops:

  • add tests
  • disable universal build
  • unify description with the -devel port

libatomic_ops-devel:

  • upgrade to version from master
  • homepage no longer valid

See: #53171
See: https://github.com/ivmai/libatomic_ops/issues/23

Note: See TracTickets for help on using tickets.