Skip to content

Conversation

@larskanis
Copy link
Collaborator

When linux platform comes first, then a rake task is defined for lib/2.7/pg_ext.so which links to linux instead of linux-musl. Defining linux-musl first fixes this since the task is defined only once in:
https://github.com/rake-compiler/rake-compiler/blob/ad13dd1ae1000e1ef91b95f3c7782ccca4c1c591/lib/rake/extensiontask.rb#L349

The mixed platform rake definition otherwise leads to a rake dependency chain like this:

rake aborted!
Tasks: TOP => pkg/pg-1.6.0-x86_64-linux-musl.gem => lib/2.7/pg_ext.so => copy:pg_ext:x86_64-linux:2.7.8 => tmp/x86_64-linux/pg_ext/2.7.8/pg_ext.so => tmp/x86_64-linux/pg_ext/2.7.8/Makefile

When `linux` and `linux-musl` platforms are both defined in the cross_platform array, then a rake task is defined for `lib/2.7/pg_ext.so` which links to `linux` instead of `linux-musl`.
Disabling native tasks for the running ruby platform disables compiling `lib/2.7/pg_ext.so` completely.

The mixed platform rake definition otherwise leads to a rake dependency chain like this:

```
rake aborted!
Tasks: TOP => pkg/pg-1.6.0-x86_64-linux-musl.gem => lib/2.7/pg_ext.so => copy:pg_ext:x86_64-linux:2.7.8 => tmp/x86_64-linux/pg_ext/2.7.8/pg_ext.so => tmp/x86_64-linux/pg_ext/2.7.8/Makefile
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant