Closed svenkubiak closed 5 months ago
@svenkubiak .. after some testing and debugging the obvious was always there: there is no Debian Version for ARM .. so this will not work.
@michaelmosmann oh, ok. well, then the error makes total sense. Thank you for looking into this! Wasn't there an option to set a specific platform / os combination (e.g. setting an env var)? Then I could check what specific combination it was using with 4.12.x (which works fine on Jenkins) and force that for the Jenkins build only.
@svenkubiak you can override this with: https://github.com/flapdoodle-oss/de.flapdoodle.os?tab=readme-ov-file#run .. but i am curious what version did run on this machine.. i would guess its ubuntu as there are ARM versions for ubuntu .. hmm.. so maybe it would be usefull to make this a fallback..
i will make some tests.. until that you can try to run the ubuntu version..
@michaelmosmann Ok, I got some odd results:
With 4.12.2 (de.flapdoodle.embed.mongo) the detect() shows the following:
[main] INFO de.flapdoodle.os.Platform - Platform.detect() -> Platform{operatingSystem=Linux, architecture=ARM_64, distribution=Debian, version=DEBIAN_12}
With this, the build on Jenkins works fine. Which is odd as this shouldn't exist. But the build clearly works as all unit tests are passing.
If I update to 4.13.1 and force the above platform via system configuration, the build breaks with the mentioned error:
could not resolve package for V7_0:Platform{operatingSystem=Linux, architecture=ARM_64, distribution=Debian, version=DEBIAN_12}
Even if force to ubuntu the build breaks. So there seems to be something happening between 4.12. and 4.13.
- 8<- - - - - - - - - -
/root/.embedmongo/fileSets/0a516fae7d7ed91f324f796e186499d58023284632581048ddcc1550c2ff21ad/mongod: 1: ELF: not found
/root/.embedmongo/fileSets/0a516fae7d7ed91f324f796e186499d58023284632581048ddcc1550c2ff21ad/mongod: 2: Syntax error: "(" unexpected
- >8- - - - - - - - - -
at de.flapdoodle.embed.mongo.transitions.RunningMongoProcess.lambda$null$1(RunningMongoProcess.java:180)
at de.flapdoodle.types.ThrowingSupplier.lambda$andFinally$1(ThrowingSupplier.java:47)
at de.flapdoodle.types.ThrowingSupplier.lambda$andFinally$1(ThrowingSupplier.java:47)
at de.flapdoodle.embed.mongo.transitions.RunningMongoProcess.lambda$factory$3(RunningMongoProcess.java:186)
at de.flapdoodle.embed.process.types.RunningProcess.start(RunningProcess.java:83)
at de.flapdoodle.embed.mongo.transitions.MongoServerStarter.result(MongoServerStarter.java:127)
at de.flapdoodle.reverse.TransitionWalker.resolve(TransitionWalker.java:58)
at de.flapdoodle.reverse.TransitionWalker.resolve(TransitionWalker.java:46)
at de.flapdoodle.reverse.TransitionWalker.initState(TransitionWalker.java:180)
... 74 more
[main] INFO de.flapdoodle.os.Platform - try to override Platform.detect() with Linux|X86_64|Ubuntu|Ubuntu_22_04
Ok, finally got it. Update to 4.13.1 works with the following override
<de.flapdoodle.os.override>Linux|ARM_64|Ubuntu|Ubuntu_22_04</de.flapdoodle.os.override>
@svenkubiak .. i will try to add a fallback from debian to ubuntu for arm..
@svenkubiak .. with even more testing there should be an already working fallback to ubuntu 20.04 .. do you have some more logging information why this is not working in your case?
@michaelmosmann Sure.
So the machine running has Debian12 on an ARM64 platform. My Jenkins runs in docker with the default docker container which is based on linux/arm64. However, I assume Jenkins uses the host system anyway.
I have attached two log files from the builds. The one that is failing had de.flapdoodle.embed.mongo version 4.13.1, which does fail when I don't force platform settings to "Linux|ARM_64|Ubuntu|Ubuntu_22_04". The one that works had version 4.12.2, which is the last version that worked without forcing a specific platform. Hope that helps. Let me know, if you need additional information.
@svenkubiak i think i solved this.. if nothing matches, ubuntu (some fixed ubuntu version) is used.. with some more debian12 support this fallback was eleminated.. i changed this, there will be a release soon.
@svenkubiak release done, use 4.14.0 .. i close this issue, reopen if it does not work as expected.
I am currently running in an issue when updating from 4.12.2 to 4.13.x.
Everything works fine on my local machine (MacBook M1), but once it is executing during unit tests on my Jenkins Server which runs on ARM64 with Debian12 I get the following error:
Caused by: java.lang.IllegalArgumentException: could not resolve package for V7_0:Platform{operatingSystem=Linux, architecture=ARM_64, distribution=Debian, version=DEBIAN_12}
With additional infos as follows: