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

micronaut aws custom runtime build failing post 4.x #805

Closed
prashantcodecraft opened this issue Jul 29, 2023 · 7 comments · Fixed by #807
Closed

micronaut aws custom runtime build failing post 4.x #805

prashantcodecraft opened this issue Jul 29, 2023 · 7 comments · Fixed by #807
Labels
type: bug Something isn't working

Comments

@prashantcodecraft
Copy link

prashantcodecraft commented Jul 29, 2023

After moving to micronaut 4.x from 3.9.4 as per (https://micronaut.io/2023/05/09/upgrade-to-micronaut-framework-4-0-0/) , I have started facing following issue :

[ERROR] Failed to execute goal io.micronaut.maven:micronaut-maven-plugin:4.0.1:docker-native (default-docker-native) on project marvin-api-articles: Execution
 default-docker-native of goal io.micronaut.maven:micronaut-maven-plugin:4.0.1:docker-native failed: Could not build image: The command '/bin/sh -c yum update
 -y && yum install -y gcc gcc-c++ libc6-dev zlib1g-dev curl bash zlib zlib-devel zlib-static zip tar gzip && yum clean all' returned a non-zero code: 1 -> [Help 1]

Note* : This was working with MN 3.9.4 and Java 11

Following is the parent pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.marvin</groupId>
    <artifactId>marvin-api-articles</artifactId>
    <version>0.1</version>
    <packaging>${packaging}</packaging>

    <parent>
        <groupId>io.micronaut.platform</groupId>
        <artifactId>micronaut-parent</artifactId>
        <version>4.0.1</version>
    </parent>

    <properties>
        <packaging>jar</packaging>
        <jdk.version>17</jdk.version>
        <release.version>17</release.version>
        <micronaut.version>4.0.1</micronaut.version>
        <exec.mainClass>io.micronaut.function.aws.runtime.MicronautLambdaRuntime</exec.mainClass>
        <micronaut.runtime>lambda_provided</micronaut.runtime>
    </properties>

    <profiles>
        <profile>
            <id>local</id>
            <properties>
                <exec.mainClass>com.marvin.Application</exec.mainClass>
                <micronaut.runtime>netty</micronaut.runtime>
            </properties>
        </profile>
    </profiles>

    <repositories>
        <repository>
            <id>central</id>
            <url>https://repo.maven.apache.org/maven2</url>
        </repository>
        <repository>
            <id>clojars</id>
            <name>Clojars</name>
            <url>https://repo.clojars.org/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>io.micronaut</groupId>
            <artifactId>micronaut-http-server-netty</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut</groupId>
            <artifactId>micronaut-inject</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.annotation</groupId>
            <artifactId>jakarta.annotation-api</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
        <dependency>
            <groupId>io.micronaut.validation</groupId>
            <artifactId>micronaut-validation</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut</groupId>
            <artifactId>micronaut-http-client</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.persistence</groupId>
            <artifactId>jakarta.persistence-api</artifactId>
            <version>3.1.0</version>
            <scope>compile</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.swagger.core.v3</groupId>
            <artifactId>swagger-annotations</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>auth0</artifactId>
            <version>1.30.0</version>
        </dependency>
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>auth0-spring-security-api</artifactId>
            <version>1.5.3</version>
        </dependency>
        <dependency>
            <groupId>io.micronaut.security</groupId>
            <artifactId>micronaut-security</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micronaut.security</groupId>
            <artifactId>micronaut-security-jwt</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.openapi</groupId>
            <artifactId>micronaut-openapi</artifactId>
            <version>4.8.5</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-nop</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.micronaut.data</groupId>
            <artifactId>micronaut-data-mongodb</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-sync</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.aws</groupId>
            <artifactId>micronaut-function-aws-api-proxy</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.aws</groupId>
            <artifactId>micronaut-function-aws-custom-runtime</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>1.4.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </dependency>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.test</groupId>
            <artifactId>micronaut-test-junit5</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.tngtech.archunit</groupId>
            <artifactId>archunit-junit5</artifactId>
            <version>0.22.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>io.micronaut.maven</groupId>
                <artifactId>micronaut-maven-plugin</artifactId>
                <version>${micronaut-maven-plugin.version}</version>
                <extensions>true</extensions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <!-- Uncomment to enable incremental compilation -->
                    <!-- <useIncrementalCompilation>false</useIncrementalCompilation> -->
                    <annotationProcessorPaths combine.self="override">
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok.version}</version>
                        </path>
                        <path>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>1.4.1.Final</version>
                        </path>
                        <path>
                            <groupId>io.micronaut</groupId>
                            <artifactId>micronaut-inject-java</artifactId>
                            <version>${micronaut.core.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut.data</groupId>
                            <artifactId>micronaut-data-processor</artifactId>
                            <version>${micronaut.data.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut.data</groupId>
                            <artifactId>micronaut-data-document-processor</artifactId>
                            <version>${micronaut.data.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut</groupId>
                            <artifactId>micronaut-graal</artifactId>
                            <version>${micronaut.core.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut</groupId>
                            <artifactId>micronaut-http-validation</artifactId>
                            <version>${micronaut.core.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut.validation</groupId>
                            <artifactId>micronaut-validation-processor</artifactId>
                            <version>${micronaut.validation.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut.openapi</groupId>
                            <artifactId>micronaut-openapi</artifactId>
                            <version>${micronaut.openapi.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut.security</groupId>
                            <artifactId>micronaut-security-annotations</artifactId>
                            <version>${micronaut.security.version}</version>
                        </path>
                    </annotationProcessorPaths>
                    <compilerArgs>
                        <arg>-Amicronaut.processing.group=com.marvin</arg>
                        <arg>-Amicronaut.processing.module=marvin-api-articles</arg>
                    </compilerArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

Following is the command being executed

mvn clean package -U -Dpackaging=docker-native -D"exec.mainClass"="io.micronaut.function.aws.runtime.MicronautLambdaRuntime" -D"micronaut.runtime"="lambda" -Pgraalvm -DskipTestsclearclear

Exception Occurred

[INFO] Scanning for projects...
[INFO] 
[INFO] -------------------< com.marvin:marvin-api-articles >-------------------
[INFO] Building marvin-api-articles 0.1
[INFO]   from pom.xml
[INFO] ---------------------------[ docker-native ]----------------------------
[INFO] 
[INFO] --- clean:3.2.0:clean (default-clean) @ marvin-api-articles ---
[INFO] Deleting D:\Marvin\marvin-api-articles\target
[INFO] 
[INFO] --- native:0.9.22:add-reachability-metadata (default-add-reachability-metadata) @ marvin-api-articles ---
[INFO] Downloaded GraalVM reachability metadata repository from file:/C:/Users/www.abcom.in/.m2/repository/org/graalvm/buildtools/graalvm-reachability-metadata/0.9.22/graalvm-reachability-metadata-0.9.22-repository.zip
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http2:4.1.94.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http2:4.1.94.Final]: Configuration directory is io.netty\netty-codec-http2\4.1.80.Final
[INFO] [graalvm reachability metadata repository for io.netty:netty-handler:4.1.94.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-handler:4.1.94.Final]: Configuration directory is io.netty\netty-handler\4.1.80.Final     
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http:4.1.94.Final]: Configuration directory not found. Trying latest version.       
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http:4.1.94.Final]: Configuration directory is io.netty\netty-codec-http\4.1.80.Final
[INFO] [graalvm reachability metadata repository for io.netty:netty-common:4.1.94.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-common:4.1.94.Final]: Configuration directory is io.netty\netty-common\4.1.80.Final       
[INFO] [graalvm reachability metadata repository for io.netty:netty-buffer:4.1.94.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-buffer:4.1.94.Final]: Configuration directory is io.netty\netty-buffer\4.1.80.Final       
[INFO] [graalvm reachability metadata repository for io.netty:netty-transport:4.1.94.Final]: Configuration directory not found. Trying latest version.        
[INFO] [graalvm reachability metadata repository for io.netty:netty-transport:4.1.94.Final]: Configuration directory is io.netty\netty-transport\4.1.80.Final 
[INFO] [graalvm reachability metadata repository for ch.qos.logback:logback-classic:1.4.8]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for ch.qos.logback:logback-classic:1.4.8]: Configuration directory is ch.qos.logback\logback-classic\1.4.1   
[INFO] [graalvm reachability metadata repository for org.jetbrains.kotlin:kotlin-stdlib:1.8.21]: Configuration directory not found. Trying latest version.    
[INFO] [graalvm reachability metadata repository for org.jetbrains.kotlin:kotlin-stdlib:1.8.21]: Configuration directory is org.jetbrains.kotlin\kotlin-stdlib\1.7.10
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ marvin-api-articles ---
[INFO] Copying 3 resources from src\main\resources to target\classes
[INFO]
[INFO] --- compiler:3.11.0:compile (default-compile) @ marvin-api-articles ---
[INFO] Changes detected - recompiling the module! :source
[INFO] Compiling 33 source files with javac [debug release 17] to target\classes
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
[INFO] Generating OpenAPI Documentation
[WARNING] 'in' property can't set for securityScheme with type oauth2. Skip it
[WARNING] 'bearerFormat' property can't set for securityScheme with type oauth2. Skip it
[INFO] Writing OpenAPI file to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\articles-0.0.yml
[INFO] Writing OpenAPI views to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\views
[INFO] Writing OpenAPI View to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\views\swagger-ui\index.html
[INFO] Writing OpenAPI View to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\views\swagger-ui\oauth2-redirect.html
[INFO] Writing OpenAPI View Resources to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\views\swagger-ui\res\res\swagger-ui.css   
[INFO] Writing OpenAPI View Resources to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\views\swagger-ui\res\res\favicon-16x16.png
[INFO] Writing OpenAPI View Resources to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\views\swagger-ui\res\res\favicon-32x32.png
[INFO] Writing OpenAPI View Resources to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\views\swagger-ui\res\res\swagger-ui-bundle.js
[INFO] Writing OpenAPI View Resources to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\views\swagger-ui\res\res\swagger-ui-standalone-preset.js
[INFO] Writing OpenAPI View Resources to destination: D:\Marvin\marvin-api-articles\target\classes\META-INF\swagger\views\swagger-ui\res\classic.css
[INFO] Creating bean classes for 16 type elements
[INFO] Creating bean classes for 1 type elements
[INFO] /D:/Marvin/marvin-api-articles/src/main/java/com/marvin/config/MarvinIds.java: D:\Marvin\marvin-api-articles\src\main\java\com\marvin\config\MarvinIds.java uses unchecked or unsafe operations.
[INFO] /D:/Marvin/marvin-api-articles/src/main/java/com/marvin/config/MarvinIds.java: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- mn:4.0.1:aot-analysis (default-aot-analysis) @ marvin-api-articles ---
[INFO]
[INFO] --- mn:4.0.1:graalvm-resources (default-graalvm-resources) @ marvin-api-articles ---
[INFO] Generating D:\Marvin\marvin-api-articles\target\classes\META-INF\native-image\com.marvin\marvin-api-articles\resource-config.json
[INFO] 
[INFO] --- native:0.9.22:write-args-file (default-write-args-file) @ marvin-api-articles ---
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/mongodb/micronaut-mongo-reactive/5.0.1/micronaut-mongo-reactive-5.
0.1.jar!/META-INF/native-image/io.micronaut.configuration.mongo.reactive.test/mongo-reactive/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut.mongodb/micronaut-mongo-reactive/native-image.properties' layout.
[INFO] [graalvm reachability metadata repository for io.netty:netty-transport:4.1.94.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-transport:4.1.94.Final]: Configuration directory is io.netty\netty-transport\4.1.80.Final 
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/security/micronaut-security-jwt/4.0.1/micronaut-security-jwt-4.0.1
.jar!/META-INF/native-image/io.micronaut.security/token-jwt/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut.security/micronaut-security-jwt/native-image.properties' layout.
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/micronaut-http/4.0.1/micronaut-http-4.0.1.jar!/META-INF/native-ima
ge/io.micronaut.http/micronaut-http/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut/micronaut-http/native-image.properties' layout.
[INFO] [graalvm reachability metadata repository for io.netty:netty-handler:4.1.94.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-handler:4.1.94.Final]: Configuration directory is io.netty\netty-handler\4.1.80.Final     
[INFO] [graalvm reachability metadata repository for io.netty:netty-common:4.1.94.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-common:4.1.94.Final]: Configuration directory is io.netty\netty-common\4.1.80.Final       
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http:4.1.94.Final]: Configuration directory not found. Trying latest version.       
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http:4.1.94.Final]: Configuration directory is io.netty\netty-codec-http\4.1.80.Final
[INFO] [graalvm reachability metadata repository for org.jetbrains.kotlin:kotlin-stdlib:1.8.21]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for org.jetbrains.kotlin:kotlin-stdlib:1.8.21]: Configuration directory is org.jetbrains.kotlin\kotlin-stdlib\1.7.10
[INFO] [graalvm reachability metadata repository for ch.qos.logback:logback-classic:1.4.8]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for ch.qos.logback:logback-classic:1.4.8]: Configuration directory is ch.qos.logback\logback-classic\1.4.1   
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http2:4.1.94.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http2:4.1.94.Final]: Configuration directory is io.netty\netty-codec-http2\4.1.80.Final
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/data/micronaut-data-tx/4.0.2/micronaut-data-tx-4.0.2.jar!/META-INF
/native-image/io.micronaut.data/data-tx/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut.data/micronaut-data-tx/native-image.properties' layout.
[INFO] [graalvm reachability metadata repository for io.netty:netty-buffer:4.1.94.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-buffer:4.1.94.Final]: Configuration directory is io.netty\netty-buffer\4.1.80.Final       
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/org/mongodb/mongodb-driver-core/4.10.1/mongodb-driver-core-4.10.1.jar!/META-INF
/native-image/org.mongodb/bson/native-image.properties' does not match the recommended 'META-INF/native-image/org.mongodb/mongodb-driver-core/native-image.properties' layout.
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/data/micronaut-data-model/4.0.2/micronaut-data-model-4.0.2.jar!/ME
TA-INF/native-image/io.micronaut.data/data-model/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut.data/micronaut-data-model/native-image.properties' layout.
[INFO] Args file written to: target\native-image-98843021936111829.args
[INFO]
[INFO] --- mn:4.0.1:docker-native (default-docker-native) @ marvin-api-articles ---
[WARNING] The parent POM of this project is not set to io.micronaut:micronaut-parent
[INFO] Using GRAALVM_VERSION: 22.3.0
[INFO] Using GRAALVM_JVM_VERSION: 17
[INFO] Using GRAALVM_ARCH: x64
[INFO] Using CLASS_NAME: io.micronaut.function.aws.runtime.MicronautLambdaRuntime
[INFO] Step 1/23 : FROM amazonlinux:latest AS graalvm
[INFO]

[INFO]  ---> ebef10df3953

[INFO] Step 2/23 : ENV LANG=en_US.UTF-8
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> b2fe774b9890

[INFO] Step 3/23 : ARG GRAALVM_VERSION
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> d958a9c16882

[INFO] Step 4/23 : ARG GRAALVM_JVM_VERSION
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> 8d27db55e522

[INFO] Step 5/23 : ARG GRAALVM_ARCH
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> 2aa6d0a5f7f9

[INFO] Step 6/23 : RUN yum update -y && yum install -y gcc gcc-c++ libc6-dev zlib1g-dev curl bash zlib zlib-devel zlib-static zip tar gzip && yum clean all   
[INFO]

[INFO]  ---> Running in f2a05f68dbdf

[INFO] Failed to set locale, defaulting to C.UTF-8

[INFO] Amazon Linux 2023 repository                    4.2 MB/s |  16 MB     00:03    

[INFO] Last metadata expiration check: 0:00:08 ago on Sat Jul 29 07:07:02 2023.

[INFO] Dependencies resolved.

[INFO] Nothing to do.
Complete!

[INFO] Failed to set locale, defaulting to C.UTF-8

[INFO] Last metadata expiration check: 0:00:09 ago on Sat Jul 29 07:07:02 2023.

[INFO] No match for argument: libc6-dev

[INFO] No match for argument: zlib1g-dev

[INFO] Package bash-5.2.15-1.amzn2023.0.2.x86_64 is already installed.
[ERROR] Failed to execute goal io.micronaut.maven:micronaut-maven-plugin:4.0.1:docker-native (default-docker-native) on project marvin-api-articles: Execution default-docker-native of goal io.micronaut.maven:micronaut-maven-plugin:4.0.1:docker-native failed: Could not build image: The command '/bin/sh -c yum update -y && yum install -y gcc gcc-c++ libc6-dev zlib1g-dev curl bash zlib zlib-devel zlib-static zip tar gzip && yum clean all' returned a non-zero code: 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException


@prashantcodecraft
Copy link
Author

The same issue occurs even if I try running this on github actions, following is the github action :

name: GraalVM Build & Deploy (Java 17)
on: 
  workflow_dispatch:

jobs:
   BUILD:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: "☕️ Setup GraalVM CE & Java 17"
        uses: graalvm/setup-graalvm@v1
        with:
          version: latest
          java-version: '17'
          components: 'native-image'
          github-token: ${{ secrets.GITHUB_TOKEN }}
      - name: "✅ Verify versions"
        run: |
          echo "GRAALVM_HOME: $GRAALVM_HOME"
          echo "JAVA_HOME: $JAVA_HOME"
          java --version
          gu --version
          native-image --version
      - name: Cache local Maven repository
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
      - name: "📸 Build the Native Binary"
        run: |
          mvn package -Dpackaging=docker-native -Dexec.mainClass=io.micronaut.function.aws.runtime.MicronautLambdaRuntime -Dmicronaut.runtime=lambda -Pgraalvm -DskipTests
      - name: Archive Artifact
        uses: actions/upload-artifact@v3
        with:
          name: marvin-api-articles
          path: target/
          retention-days: 1

Following error return :

Error:  Failed to execute goal io.micronaut.maven:micronaut-maven-plugin:4.0.1:docker-native (default-docker-native) on project marvin-api-articles: Execution default-docker-native of goal io.micronaut.maven:micronaut-maven-plugin:4.0.1:docker-native failed: Could not build image: The command '/bin/sh -c yum update -y && yum install -y gcc gcc-c++ libc6-dev zlib1g-dev curl bash zlib zlib-devel zlib-static zip tar gzip && yum clean all' returned a non-zero code: 1 -> [Help 1]
Error:  
Error:  To see the full stack trace of the errors, re-run Maven with the -e switch.
Error:  Re-run Maven using the -X switch to enable full debug logging.
Error:  
Error:  For more information about the errors and possible solutions, please read the following articles:
Error:  [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
Error: Process completed with exit code 1.

@alvarosanchez
Copy link
Member

Duplicates #798

@alvarosanchez alvarosanchez added the closed: duplicate This issue or pull request already exists label Jul 31, 2023
@prashantcodecraft
Copy link
Author

prashantcodecraft commented Jul 31, 2023

@alvarosanchez : With 4.0.2 , I am able to pass step 6 but facing following issue at Step 7 :

[INFO] mv: target ?/usr/lib/graalvm? is not a directory

[ERROR] The command '/bin/sh -c curl -4 -L https://download.oracle.com/graalvm/${GRAALVM_JVM_VERSION}/latest/graalvm-jdk-${GRAALVM_JVM_VERSION}_linux-${GRAALVM_ARCH}_bin.tar.gz -o /tmp/graalvm.tar.gz     && tar -zxf /tmp/graalvm.tar.gz -C /tmp     && mv /tmp/graalvm* /usr/lib/graalvm     && rm -rf /tmp/*' returned a non-zero code: 1

Its failing at :

RUN curl -4 -L https://download.oracle.com/graalvm/17/latest/graalvm-jdk-17_linux-x64_bin.tar.gz -o /tmp/graalvm.tar.gz \
    && tar -zxf /tmp/graalvm.tar.gz -C /tmp \
    && mv /tmp/graalvm* /usr/lib/graalvm \
    && rm -rf /tmp/*

@alvarosanchez alvarosanchez reopened this Jul 31, 2023
@alvarosanchez alvarosanchez added type: bug Something isn't working and removed closed: duplicate This issue or pull request already exists labels Jul 31, 2023
alvarosanchez added a commit that referenced this issue Jul 31, 2023
@sdelamo sdelamo moved this to Ready for Review in 4.0.3 Release Aug 1, 2023
github-merge-queue bot pushed a commit that referenced this issue Aug 1, 2023
* Fix AWS Lambda custom runtime generation

Fixes: #798
Closes: #804
Closes: #805

* Fix test
@github-project-automation github-project-automation bot moved this from Ready for Review to Done in 4.0.3 Release Aug 1, 2023
@prashantcodecraft
Copy link
Author

@alvarosanchez : I have tried using 4.0.3-SNAPSHOT to test the build pipeline for my projects , it did passed step 6 & 7, but has now started failing on step 13.

[INFO] Error: Found unrecognized options while parsing argument file '/home/app/graalvm-native-image.args':
@target\\\\tmp\\\\native-image-18195191610805619447.args

[ERROR] The command '/bin/sh -c native-image @/home/app/graalvm-native-image.args -H:Class=${CLASS_NAME} -H:Name=application -cp "/home/app/libs/*:/home/app/classes/"' returned a non-zero code: 20
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

Following is the pom , if needed :

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.marvin</groupId>
    <artifactId>marvin-api-articles</artifactId>
    <version>0.1</version>
    <packaging>${packaging}</packaging>

    <parent>
        <groupId>io.micronaut.platform</groupId>
        <artifactId>micronaut-parent</artifactId>
        <version>4.0.3-SNAPSHOT</version>
    </parent>

    <properties>
        <packaging>jar</packaging>
        <jdk.version>17</jdk.version>
        <release.version>17</release.version>
        <micronaut.version>4.0.3-SNAPSHOT</micronaut.version>
        <micronaut.test.resources.enabled>true</micronaut.test.resources.enabled>
        <exec.mainClass>io.micronaut.function.aws.runtime.MicronautLambdaRuntime</exec.mainClass>
        <micronaut.runtime>lambda</micronaut.runtime>
        <micronaut.aot.enabled>false</micronaut.aot.enabled>
        <micronaut.validation.version>4.0.0-SNAPSHOT</micronaut.validation.version>
    </properties>

    <profiles>
        <profile>
            <id>local</id>
            <properties>
                <exec.mainClass>com.marvin.Application</exec.mainClass>
                <micronaut.runtime>netty</micronaut.runtime>
            </properties>
        </profile>
    </profiles>

    <repositories>
        <repository>
            <id>sonatype-snapshots</id>
            <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
        <repository>
            <id>central</id>
            <url>https://repo.maven.apache.org/maven2</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>io.micronaut</groupId>
            <artifactId>micronaut-http-server-netty</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>auth0</artifactId>
            <version>1.30.0</version>
        </dependency>
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>auth0-spring-security-api</artifactId>
            <version>1.5.3</version>
        </dependency>
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>1.4.1.Final</version>
        </dependency>
        <dependency>
            <groupId>jakarta.persistence</groupId>
            <artifactId>jakarta.persistence-api</artifactId>
            <version>3.1.0</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.openapi</groupId>
            <artifactId>micronaut-openapi</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-nop</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut</groupId>
            <artifactId>micronaut-http-client</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.aws</groupId>
            <artifactId>micronaut-aws-lambda-events-serde</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.aws</groupId>
            <artifactId>micronaut-function-aws-api-proxy</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.aws</groupId>
            <artifactId>micronaut-function-aws-api-proxy-test</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.aws</groupId>
            <artifactId>micronaut-function-aws-custom-runtime</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.crac</groupId>
            <artifactId>micronaut-crac</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.data</groupId>
            <artifactId>micronaut-data-mongodb</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.mongodb</groupId>
            <artifactId>micronaut-mongo-sync</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.security</groupId>
            <artifactId>micronaut-security</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.security</groupId>
            <artifactId>micronaut-security-jwt</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.serde</groupId>
            <artifactId>micronaut-serde-jackson</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.validation</groupId>
            <artifactId>micronaut-validation</artifactId>
            <version>${micronaut.validation.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.swagger.core.v3</groupId>
            <artifactId>swagger-annotations</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.annotation</groupId>
            <artifactId>jakarta.annotation-api</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-sync</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.testresources</groupId>
            <artifactId>micronaut-test-resources-client</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.test</groupId>
            <artifactId>micronaut-test-junit5</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>io.micronaut.maven</groupId>
                <artifactId>micronaut-maven-plugin</artifactId>
                <version>${micronaut-maven-plugin.version}</version>
                <extensions>true</extensions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <!-- Uncomment to enable incremental compilation -->
                    <!-- <useIncrementalCompilation>false</useIncrementalCompilation> -->
                    <annotationProcessorPaths combine.self="override">
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok.version}</version>
                        </path>
                        <path>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>1.4.1.Final</version>
                        </path>
                        <path>
                            <groupId>io.micronaut</groupId>
                            <artifactId>micronaut-inject-java</artifactId>
                            <version>${micronaut.core.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut.data</groupId>
                            <artifactId>micronaut-data-processor</artifactId>
                            <version>${micronaut.data.version}</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>io.micronaut</groupId>
                                    <artifactId>micronaut-inject</artifactId>
                                </exclusion>
                            </exclusions>
                        </path>
                        <path>
                            <groupId>io.micronaut.data</groupId>
                            <artifactId>micronaut-data-document-processor</artifactId>
                            <version>${micronaut.data.version}</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>io.micronaut</groupId>
                                    <artifactId>micronaut-inject</artifactId>
                                </exclusion>
                            </exclusions>
                        </path>
                        <path>
                            <groupId>io.micronaut</groupId>
                            <artifactId>micronaut-graal</artifactId>
                            <version>${micronaut.core.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut.openapi</groupId>
                            <artifactId>micronaut-openapi</artifactId>
                            <version>${micronaut.openapi.version}</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>io.micronaut</groupId>
                                    <artifactId>micronaut-inject</artifactId>
                                </exclusion>
                            </exclusions>
                        </path>
                        <path>
                            <groupId>io.micronaut.security</groupId>
                            <artifactId>micronaut-security-annotations</artifactId>
                            <version>${micronaut.security.version}</version>
                        </path>
                        <path>
                            <groupId>io.micronaut.serde</groupId>
                            <artifactId>micronaut-serde-processor</artifactId>
                            <version>${micronaut.serialization.version}</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>io.micronaut</groupId>
                                    <artifactId>micronaut-inject</artifactId>
                                </exclusion>
                            </exclusions>
                        </path>
                        <path>
                            <groupId>io.micronaut.validation</groupId>
                            <artifactId>micronaut-validation-processor</artifactId>
                            <version>${micronaut.validation.version}</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>io.micronaut</groupId>
                                    <artifactId>micronaut-inject</artifactId>
                                </exclusion>
                            </exclusions>
                        </path>
                    </annotationProcessorPaths>
                    <compilerArgs>
                        <arg>-Amicronaut.processing.group=com.marvin</arg>
                        <arg>-Amicronaut.processing.module=marvin-api-articles</arg>
                    </compilerArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

@alvarosanchez
Copy link
Member

I'd need a reproducing application

@prashantcodecraft
Copy link
Author

prashantcodecraft commented Aug 2, 2023

I have created a sketchy application at : https://github.com/sharewithmarvin/micronaut-demo

When we try to build this on windows machine with docker using following command it fails

mvn package -Dpackaging=docker-native -D"exec.mainClass"="io.micronaut.function.aws.runtime.MicronautLambdaRuntime" -D"micronaut.runtime"="lambda" -Pgraalvm -DskipTests

Logs are

D:\demo>mvn package -Dpackaging=docker-native -D"exec.mainClass"="io.micronaut.function.aws.runtime.MicronautLambdaRuntime" -D"micronaut.runtime"="lambda" -Pgraalvm -DskipTests
[INFO] Scanning for projects...
[INFO] 
[INFO] -------------------------< com.prashant:demo >--------------------------
[INFO] Building demo 0.1
[INFO]   from pom.xml
[INFO] ---------------------------[ docker-native ]----------------------------
[INFO] 
[INFO] --- enforcer:3.3.0:enforce (micronaut-enforce) @ demo ---
[INFO] Rule 0: org.apache.maven.enforcer.rules.version.RequireJavaVersion passed
[INFO] Rule 1: io.micronaut.maven.enforcer.CheckSnakeYaml passed
[INFO] 
[INFO] --- native:0.9.22:add-reachability-metadata (default-add-reachability-metadata) @ demo ---
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http2:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http2:4.1.95.Final]: Configuration directory is io.netty\netty-codec-http2\4.1.80.Final
[INFO] [graalvm reachability metadata repository for io.netty:netty-handler:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-handler:4.1.95.Final]: Configuration directory is io.netty\netty-handler\4.1.80.Final
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http:4.1.95.Final]: Configuration directory is io.netty\netty-codec-http\4.1.80.Final
[INFO] [graalvm reachability metadata repository for io.netty:netty-common:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-common:4.1.95.Final]: Configuration directory is io.netty\netty-common\4.1.80.Final
[INFO] [graalvm reachability metadata repository for io.netty:netty-buffer:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-buffer:4.1.95.Final]: Configuration directory is io.netty\netty-buffer\4.1.80.Final
[INFO] [graalvm reachability metadata repository for io.netty:netty-transport:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-transport:4.1.95.Final]: Configuration directory is io.netty\netty-transport\4.1.80.Final
[INFO] [graalvm reachability metadata repository for org.eclipse.jetty:jetty-server:11.0.15]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for org.eclipse.jetty:jetty-server:11.0.15]: Configuration directory is org.eclipse.jetty\jetty-server\11.0.12
[INFO] [graalvm reachability metadata repository for org.hibernate.orm:hibernate-core:6.2.6.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for org.hibernate.orm:hibernate-core:6.2.6.Final]: Configuration directory is org.hibernate.orm\hibernate-core\6.2.0.Final
[INFO] [graalvm reachability metadata repository for org.jboss.logging:jboss-logging:3.5.0.Final]: Configuration directory is org.jboss.logging\jboss-logging\3.5.0.Final
[INFO] [graalvm reachability metadata repository for org.glassfish.jaxb:jaxb-runtime:4.0.2]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for org.glassfish.jaxb:jaxb-runtime:4.0.2]: Configuration directory is org.glassfish.jaxb\jaxb-runtime\3.0.2
[INFO] [graalvm reachability metadata repository for com.zaxxer:HikariCP:5.0.1]: Configuration directory is com.zaxxer\HikariCP\5.0.1
[INFO] [graalvm reachability metadata repository for ch.qos.logback:logback-classic:1.4.8]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for ch.qos.logback:logback-classic:1.4.8]: Configuration directory is ch.qos.logback\logback-classic\1.4.1
[INFO] [graalvm reachability metadata repository for com.h2database:h2:2.2.220]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for com.h2database:h2:2.2.220]: Configuration directory is com.h2database\h2\2.1.210
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ demo ---
[INFO] Copying 2 resources from src\main\resources to target\classes
[INFO]
[INFO] --- compiler:3.11.0:compile (default-compile) @ demo ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- mn:4.0.4:aot-analysis (default-aot-analysis) @ demo ---
[INFO] 
[INFO] --- mn:4.0.4:graalvm-resources (default-graalvm-resources) @ demo ---
[INFO] Generating D:\demo\target\classes\META-INF\native-image\com.prashant\demo\resource-config.json
[INFO] 
[INFO] --- native:0.9.22:write-args-file (default-write-args-file) @ demo ---
[INFO] [graalvm reachability metadata repository for org.eclipse.jetty:jetty-server:11.0.15]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for org.eclipse.jetty:jetty-server:11.0.15]: Configuration directory is org.eclipse.jetty\jetty-server\11.0.12
[INFO] [graalvm reachability metadata repository for io.netty:netty-handler:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-handler:4.1.95.Final]: Configuration directory is io.netty\netty-handler\4.1.80.Final
[INFO] [graalvm reachability metadata repository for ch.qos.logback:logback-classic:1.4.8]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for ch.qos.logback:logback-classic:1.4.8]: Configuration directory is ch.qos.logback\logback-classic\1.4.1
[INFO] [graalvm reachability metadata repository for io.netty:netty-transport:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-transport:4.1.95.Final]: Configuration directory is io.netty\netty-transport\4.1.80.Final
[INFO] [graalvm reachability metadata repository for io.netty:netty-common:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-common:4.1.95.Final]: Configuration directory is io.netty\netty-common\4.1.80.Final
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/sql/micronaut-hibernate-jpa/5.0.1/micronaut-hibernate-jpa-5.0.1.jar!/META-INF/native-image/io.micronaut.sql/hibernate-jpa-graal/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut.sql/micronaut-hibernate-jpa/native-image.properties' layout.
[INFO] [graalvm reachability metadata repository for org.hibernate.orm:hibernate-core:6.2.6.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for org.hibernate.orm:hibernate-core:6.2.6.Final]: Configuration directory is org.hibernate.orm\hibernate-core\6.2.0.Final
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/data/micronaut-data-model/4.0.3/micronaut-data-model-4.0.3.jar!/META-INF/native-image/io.micronaut.data/data-model/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut.data/micronaut-data-model/native-image.properties' layout.
[INFO] [graalvm reachability metadata repository for com.zaxxer:HikariCP:5.0.1]: Configuration directory is com.zaxxer\HikariCP\5.0.1
[INFO] [graalvm reachability metadata repository for com.h2database:h2:2.2.220]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for com.h2database:h2:2.2.220]: Configuration directory is com.h2database\h2\2.1.210
[INFO] [graalvm reachability metadata repository for org.glassfish.jaxb:jaxb-runtime:4.0.2]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for org.glassfish.jaxb:jaxb-runtime:4.0.2]: Configuration directory is org.glassfish.jaxb\jaxb-runtime\3.0.2
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http2:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http2:4.1.95.Final]: Configuration directory is io.netty\netty-codec-http2\4.1.80.Final
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/data/micronaut-data-tx/4.0.3/micronaut-data-tx-4.0.3.jar!/META-INF/native-image/io.micronaut.data/data-tx/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut.data/micronaut-data-tx/native-image.properties' layout.
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/micronaut-http/4.0.2/micronaut-http-4.0.2.jar!/META-INF/native-image/io.micronaut.http/micronaut-http/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut/micronaut-http/native-image.properties' layout.
[INFO] [graalvm reachability metadata repository for io.netty:netty-buffer:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-buffer:4.1.95.Final]: Configuration directory is io.netty\netty-buffer\4.1.80.Final
[WARNING] Properties file at 'jar:file:///C:/Users/www.abcom.in/.m2/repository/io/micronaut/data/micronaut-data-tx-jdbc/4.0.3/micronaut-data-tx-jdbc-4.0.3.jar!/META-INF/native-image/io.micronaut.data/data-tx/native-image.properties' does not match the recommended 'META-INF/native-image/io.micronaut.data/micronaut-data-tx-jdbc/native-image.properties' layout.
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http:4.1.95.Final]: Configuration directory not found. Trying latest version.
[INFO] [graalvm reachability metadata repository for io.netty:netty-codec-http:4.1.95.Final]: Configuration directory is io.netty\netty-codec-http\4.1.80.Final
[INFO] [graalvm reachability metadata repository for org.jboss.logging:jboss-logging:3.5.0.Final]: Configuration directory is org.jboss.logging\jboss-logging\3.5.0.Final
[INFO] Args file written to: target\native-image-9867820605802179732.args
[INFO]
[INFO] --- mn:4.0.4:docker-native (default-docker-native) @ demo ---
[INFO] Using GRAALVM_JVM_VERSION: 17
[INFO] Using GRAALVM_ARCH: x64
[INFO] Using CLASS_NAME: io.micronaut.function.aws.runtime.MicronautLambdaRuntime
[INFO] GraalVM native image build args: [@target\\tmp\\native-image-15371622442563250387.args]
[INFO] Step 1/22 : FROM amazonlinux:2 AS graalvm
[INFO]

[INFO]  ---> 73a97098c056

[INFO] Step 2/22 : ENV LANG=en_US.UTF-8
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> 17b16ef70db2

[INFO] Step 3/22 : ARG GRAALVM_JVM_VERSION
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> 7326e55b60ae

[INFO] Step 4/22 : ARG GRAALVM_ARCH
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> d216aac886ca

[INFO] Step 5/22 : RUN yum update -y && yum install -y gcc gcc-c++ libc6-dev zlib1g-dev curl bash zlib zlib-devel zlib-static zip tar gzip && yum clean all && rm -rf /var/cache/yum
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> 916dfe66b59d

[INFO] Step 6/22 : RUN curl -4 -L https://download.oracle.com/graalvm/${GRAALVM_JVM_VERSION}/latest/graalvm-jdk-${GRAALVM_JVM_VERSION}_linux-${GRAALVM_ARCH}_bin.tar.gz -o /tmp/graalvm.tar.gz     && mkdir -p /usr/lib/graalvm     && tar -zxf /tmp/graalvm.tar.gz -C /usr/lib/graalvm --strip-components 1     && rm -rf /tmp/*
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> bdd35f6d19ae

[INFO] Step 7/22 : ENV PATH=/usr/lib/graalvm/bin:${PATH}
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> f32c0eb45914

[INFO] Step 8/22 : WORKDIR /home/app
[INFO]

[INFO]  ---> Using cache

[INFO]  ---> 6b4169248a8f

[INFO] Step 9/22 : COPY classes /home/app/classes
[INFO]

[INFO]  ---> 1fb5348ebb2b

[INFO] Step 10/22 : COPY dependency/* /home/app/libs/
[INFO]

[INFO]  ---> 9c76060cfd4f

[INFO] Step 11/22 : COPY *.args /home/app/graalvm-native-image.args
[INFO]

[INFO]  ---> 3218e3313b26

[INFO] Step 12/22 : ARG CLASS_NAME
[INFO]

[INFO]  ---> Running in 383d3deba7ca

[INFO] Removing intermediate container 383d3deba7ca
[ERROR] The command '/bin/sh -c native-image @/home/app/graalvm-native-image.args -H:Class=${CLASS_NAME} -H:Name=application -cp "/home/app/libs/*:/home/app/classes/"' returned a non-zero code: 20     
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  16.857 s
[INFO] Finished at: 2023-08-02T23:30:24+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.micronaut.maven:micronaut-maven-plugin:4.0.4:docker-native (default-docker-native) on project demo: Execution default-docker-native of goal io.micronaut.maven:micronaut-maven-plugin:4.0.4:docker-native failed: Could not build image: The command '/bin/sh -c native-image @/home/app/graalvm-native-image.args -H:Class=${CLASS_NAME} -H:Name=application -cp "/home/app/libs/*:/home/app/classes/"' returned a non-zero code: 20 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

@alvarosanchez
Copy link
Member

Thank you for the example application. It does work in Unix, so it must be a Windows-only issue. I have created #808 to keep track of it. Let's move the conversation there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants