Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem: Compilation fails on CentOS, due to duplicate lib entry. #1302

Merged
merged 1 commit into from
Sep 19, 2022

Conversation

stephan57160
Copy link
Contributor

ZYRE compilation started for Android, with a similar script to zyre/bingings/jni/ci_build.sh.

Compilation ends with:

> Task :czmq-jni-native:classes UP-TO-DATE
Skipping task ':czmq-jni-native:classes' as it has no actions.
:czmq-jni-native:classes (Thread[Execution worker for ':',5,main]) completed. Took 0.0 secs.
:czmq-jni-native:copyLibs (Thread[Execution worker for ':',5,main]) started.

> Task :czmq-jni-native:copyLibs FAILED
Caching disabled for task ':czmq-jni-native:copyLibs' because:
  Build cache is disabled
Task ':czmq-jni-native:copyLibs' is not up-to-date because:
  No history is available.
file or directory '/usr/java/packages/lib', not found
:czmq-jni-native:copyLibs (Thread[Execution worker for ':',5,main]) completed. Took 0.062 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':czmq-jni-native:copyLibs'.
> Entry libcurl.so is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.4.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Investigation have shown 2 things:

Solution: Set duplicate strategy to warn, not to stop the build.

Additionnally, add libraries found in $BUILD_PREFIX first, then, the system ones, in case one wants to have his own library version in the JAR.

This fixes CZMQ issue zeromq/czmq#2231

ZYRE compilation started for Android, with a similar
script to zyre/bingings/jni/ci_build.sh.

Compilation ends with:
```
> Task :czmq-jni-native:classes UP-TO-DATE
Skipping task ':czmq-jni-native:classes' as it has no actions.
:czmq-jni-native:classes (Thread[Execution worker for ':',5,main]) completed. Took 0.0 secs.
:czmq-jni-native:copyLibs (Thread[Execution worker for ':',5,main]) started.

> Task :czmq-jni-native:copyLibs FAILED
Caching disabled for task ':czmq-jni-native:copyLibs' because:
  Build cache is disabled
Task ':czmq-jni-native:copyLibs' is not up-to-date because:
  No history is available.
file or directory '/usr/java/packages/lib', not found
:czmq-jni-native:copyLibs (Thread[Execution worker for ':',5,main]) completed. Took 0.062 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':czmq-jni-native:copyLibs'.
> Entry libcurl.so is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.4.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org
```

Investigation have shown 2 things:
- On CentOS, /lib and /lib64 point to /usr/lib and /usr/lib64:
    ```
    prompt> ls -ald /lib /lib64
    lrwxrwxrwx. 1 root root 7 12 janv.  2020 /lib -> usr/lib
    lrwxrwxrwx. 1 root root 9 12 janv.  2020 /lib64 -> usr/lib64
    prompt>
    ```
- Since Gradle 7, one has to set a duplicate strategy, when using copyLibs:
    gradle/gradle#17236

Solution: Set duplicate strategy to warn, not to stop the build.

Additionnally, add libraries found in $BUILD_PREFIX first,
then, the system ones, in case one wants to have his own library
version in the JAR.

This fixes CZMQ issue zeromq/czmq#2231
@bluca bluca merged commit 7f7944e into zeromq:master Sep 19, 2022
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.

2 participants