Giter Site home page Giter Site logo

arc's Introduction

arc's People

Contributors

antsif-a avatar anuken avatar blockzilla101 avatar buthed010203 avatar camelstyleuser avatar darkness6030 avatar deltanedas avatar dheld avatar douile avatar ekandlen avatar eyeofdarkness avatar glennfolker avatar hortisquash avatar joshuaptfan avatar leosko avatar limonovthesecond2 avatar matusm1 avatar meepoffaith avatar mnemotechnician avatar petrgasparik avatar phinner avatar quezler avatar redstonneur1256 avatar skykatik avatar thechosenevilone avatar way-zer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arc's Issues

FreeBSD errors

  • FreeBSD uses openjdk8 for devel/apache-ant, so to compile arc, need to compile natives, remove ant and compile other with newer openjdk (or manipulate with JAVA_HOME, oh hell)
  • FreeBSD uses clang by default, but ant scripts uses gcc, so need to ln clang to gcc or install gcc as other package
  • and as final, at the startup I have this error:
[I] [Core] Initialized SDL v2.26.3
ld-elf.so.1: /tmp/arc/2ff43028/libarc64.so: Undefined symbol "__wrap_memcpy"

[Feture Request] Use Keysym instead of Keycode. (Exotic Keyboard Layouts).

In SDL2 there is a field in the struct SDL_Keysym called sym, this field corresponds to the platform specific input of the keyboard, and is platform independent as the hard work is done in other part of the code.

http://hg.libsdl.org/SDL/file/78754c9488f6/include/SDL_keyboard.h#l47
http://hg.libsdl.org/SDL/file/78754c9488f6/include/SDL_keycode.h

https://wiki.libsdl.org/SDL_Keysym
https://wiki.libsdl.org/SDL_Keycode

This would solve Anuken/Mindustry#1151

It would also solve other more exotic keyboard layouts like mine (Svorak).

Please have this in consideration. Thank you.

Really huge CPU and memory leaks in ZipFi

I recently discovered that my plugins are loading very slowly and decided to turn to the server byte code, while examining it, I noticed that searching for plugin.json using ZipFi takes about 4 seconds and apparently it is called more than once, so I wrote small benchmark with my implementation, implementation using Java libraries and using your ZipFi (using Scala)

Results:

[INFO] Executing [java, -jar, -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000, /tmp/servers/763134302e34.jar, host]
Listening for transport dt_socket at address: 8000
19.921235
{
  "name": "OmnidustryHeadPlugin",
  "author": "OD-Developers",
  "repo": "https://github.com/OD-Developers/OmnidustryHeadPlugin",
  "main": "com.omnidustry.head.Main",
  "description": "Главный плагин серверов омни с основными функциями",
  "version": "1.1.3-a",
  "auth": "OD-Developers"
}
939.067475
null
18.962345
{
  "name": "OmnidustryHeadPlugin",
  "author": "OD-Developers",
  "repo": "https://github.com/OD-Developers/OmnidustryHeadPlugin",
  "main": "com.omnidustry.head.Main",
  "description": "Главный плагин серверов омни с основными функциями",
  "version": "1.1.3-a",
  "auth": "OD-Developers"
}
[01-07-2023 14:10:37] [I] 1 mods loaded.
[01-07-2023 14:10:37] [I] Server loaded. Type 'help' for help.

test.scala

def test = {

  // Java default realization
  
  val c = System.nanoTime()
  val jarFile = JarFile(File("/tmp/servers/763134302e34-debug/config/mods/OmnidustryHeadPlugin.jar"))
  val pluginJson = jarFile
    .entries()
    .asIterator()
    .asScala
    .find(_.getName == "plugin.json")
  val contentByJarFile = String(jarFile.getInputStream(pluginJson.get).readAllBytes(), StandardCharsets.UTF_8)

  System.out.println((System.nanoTime() - c) / 1000000.0)
  System.out.println(contentByJarFile)

  // Current realization

  val cc = System.nanoTime()
  val zipFi = ZipFi(Fi(File("/tmp/servers/763134302e34-debug/config/mods/OmnidustryHeadPlugin.jar")))
  
  // ... Reading plugin.json not problem in such case

  System.out.println((System.nanoTime() - cc) / 1000000.0)
  System.out.println("null")

  // My Realization

  val ccc = System.nanoTime()
  val pluginJson2 = com.omnidustry.head.custom.ZipFi(
    ZipFile(File("/tmp/servers/763134302e34-debug/config/mods/OmnidustryHeadPlugin.jar"))
  )
    .child("plugin.json")
    .readString()
  
  System.out.println((System.nanoTime() - ccc) / 1000000.0)
  System.out.println(pluginJson2)
}

ZipFi.scala

package com.omnidustry.head.custom

import arc.files.Fi
import arc.Files.FileType
import java.util.Collections
import java.util.zip.ZipFile
import java.util.Optional
import java.util.zip.ZipEntry
import scala.util.Try
import java.io.File
import java.io.InputStream

class ZipFi(
  zipFile: ZipFile,
  entry: Optional[ZipEntry] = Optional.empty(),
  path: String = ""
)(
  implicit pathEntries: arc.struct.Seq[String] =
    arc.struct.Seq.`with`(
      Collections.list(zipFile.entries())
    ).asInstanceOf[arc.struct.Seq[ZipEntry]]
      .map(_.getName().replace("\\", "/"))
      .filter(_.startsWith(path + "/"))
      .map(_.replace(path + "/", ""))
) extends Fi(path, FileType.absolute) {
  val names: arc.struct.Seq[String] = pathEntries
    .filter(zipPath => {
      val delimiters: Long = countDelimiters(zipPath.replace(path, ""))
      
      if (zipPath == "")
        false
      else if (delimiters == 1 && zipPath.endsWith("/"))
        true
      else if (delimiters == 0)
        true
      else false
    })

  override def child(name: String): Fi = {
    val path = name.split("/")
    val slashes = countDelimiters(name)
    val thisPathWithDelimiter = if (this.path.isBlank()) "" else this.path + "/"
      
    if (slashes == 0)
      val entry = zipFile.getEntry(thisPathWithDelimiter + name)

      if (entry == null)
        new Fi(File(file, thisPathWithDelimiter + name)) {
          override def exists(): Boolean = false
        }
      else ZipFi(
        zipFile = zipFile,
        entry = Optional.of(entry),
        path = thisPathWithDelimiter + name
      )
    else if (slashes == 1 && name.endsWith("/"))
      ZipFi(
        zipFile = zipFile,
        path = thisPathWithDelimiter + name
      )
    else
      ZipFi(
        zipFile = zipFile,
        path = thisPathWithDelimiter + path(0)
      ).child(
        path.drop(1)
          .mkString("/")
      )
  }
   
  def getPath() = this.path

  override def delete(): Boolean = Try(zipFile.close)
    .fold(_ => false, _ => true)

  override def exists(): Boolean = true

  override def name(): String = file.getName()

  override def parent(): Fi = ???

  override def list(): Array[Fi] = names
    .map(this.child(_))
    .toArray()
    
  override def isDirectory(): Boolean = entry.isEmpty() || entry.get().isDirectory()

  override def read(): InputStream = {
    if (entry.isEmpty())
      throw new RuntimeException("Not permitted")
    
    try {
      zipFile.getInputStream(entry.get())
    } catch error => throw new RuntimeException(error)
  }

  override def length(): Long = if (isDirectory()) 0 else entry.get().getSize()

  override def toString(): String = getPath()

  inline private def countDelimiters(path: String): Long =
    path.chars()
      .filter(_ == '/')
      .count()
}

Support for macOS 10.14 (Mojave)

Running Arc on macOS 10.14 (Mojave) broke recently. The issue seems to stem from a recently released precompiled libsdl-arc64.dylib.

dyld: lazy symbol binding failed: Symbol not found: _objc_opt_respondsToSelector
  Referenced from: /private/var/folders/zj/c21l3h8d5w57rhq_tvvvjj400000gn/T/arc/fcc6f76/libsdl-arc64.dylib
  Expected in: /usr/lib/libobjc.A.dylib

dyld: Symbol not found: _objc_opt_respondsToSelector
  Referenced from: /private/var/folders/zj/c21l3h8d5w57rhq_tvvvjj400000gn/T/arc/fcc6f76/libsdl-arc64.dylib
  Expected in: /usr/lib/libobjc.A.dylib

Abort trap: 6

Other open source projects have reported this error on macOS 10.14 when the build targets macOS 10.15.

Could libsdl-arc64.dylib (and potentially other prebuilt library files) be rebuilt with support for macOS 10.14?


Discovered when running Mindustry; v129.1 works, issue starting at v129.2, still exists in v131. Verified using Steam v7-testing v131, mindustry-macos-unstable.zip v131, Mindustry.jar from github releases v129.1-v131, and local builds.

# Tested on macOS 10.14.
git bisect start v129.2 v129.1
git bisect run sh -c 'git clean -fdx :/ && ./gradlew desktop:dist && java -XstartOnFirstThread -jar desktop/build/libs/Mindustry.jar || exit 1'

The specific commit introducing the issue in Mindustry seems to be Anuken/Mindustry@d855840 (updating archash) referencing Anuken/Mindustry#5672 (proposes changes in window handling).

The archash change points to the issue stemming from this repository.

  • 0923799 Mindustry works
  • 52207f8 Changes window handling
  • 88c1a9a Mindustry breaks, has new libsdl-arc64.dylib

Aliases?

Please add aliases support for CommandHandler. It will be a very useful feature.

For example:
/help = /h
/register = /reg
/statistics = /stats = /stat

Events?

I just think if we had such events in some cases, imho

image
image

Why immediate?

Sometimes it is necessary that the server first perform at least operations on the code, and then only deal with the event (a bug is not a bug with Groups.player.size)

Events.on(EventType.PlayerLeave, event -> Groups.player.size) // Always +1, same but reverse with PlayerJoin

What does this solution offer

Events.imon(EventType.PlayerLeave, event -> Groups.player.size) // Always equal to the current number of players, as expected

Although this is apparently not relevant now, since this issue has already been resolved differently by changing the code

Once handlers and the ability for the developer to decide which event delete, manage their execution order and be able to remove them from the global context

Since current implementation only limits developers, even too much, that it becomes a choice whether to use reflection to get a private field or not

Events.java implementation

import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.WeakHashMap;

import arc.func.Cons;
import arc.struct.Seq;
import arc.util.Log;
import arc.util.Timer;

@SuppressWarnings("unchecked")
public final class Events {
  private static Map<Class<Object>, Seq<Cons<Object>>> listeners = new HashMap<>();
  private static WeakHashMap<Cons<Object>, Cons<Object>> bindings = new WeakHashMap<>();

  public static <T> void prepend(Class<T> eventClass, Cons<T> listener) {
    if (!listeners.containsKey(eventClass))
      listeners.put((Class<Object>) eventClass, new Seq<>());
    var eventListeners = listeners.get(eventClass);

    eventListeners.add((Cons<Object>) listener);
    listeners.put(
      (Class<Object>) eventClass,
      eventListeners.reverse().add((Cons<Object>) listener).reverse()
    );
  }

  public static <T> void append(Class<T> eventClass, Cons<T> listener) {
    if (!listeners.containsKey(eventClass))
      listeners.put((Class<Object>) eventClass, new Seq<>());
    listeners
      .get(eventClass)
      .add((Cons<Object>) listener);
  }

  public static <T> void on(Class<T> eventClass, Cons<T> listener) {
    append(eventClass, listener);
  }

  public static <T> void once(Class<T> eventClass, Cons<T> listener) {
    append(eventClass, setupOnceListener(eventClass, listener));
  }

  public static <T> void immediateAppend(Class<T> eventClass, Cons<T> listener) {
    append(eventClass, setupImmediateListener(listener));
  }

  public static <T> void immediatePrepend(Class<T> eventClass, Cons<T> listener) {
    prepend(eventClass, setupImmediateListener(listener));
  }

  public static <T> void imon(Class<T> eventClass, Cons<T> listener) {
    immediateAppend(eventClass, listener);
  }

  public static <T> void imonce(Class<T> eventClass, Cons<T> listener) {
    immediateAppend(eventClass, setupOnceListener(eventClass, listener));
  }

  public static <T> void remove() {
    listeners.clear();
  }

  public static <T> void remove(Class<T> eventClass) {
    listeners.remove(eventClass);
  }

  public static <T> void remove(Cons<T> listener) {
    if (bindings.containsKey(listener))
      remove(bindings.get(listener));
    else for (Class<? extends Object> eventClass : listeners.keySet()) {
      if (listeners.get(eventClass).remove((Cons<Object>) listener))
        return;
    }
  }

  public static Map<Class<Object>, Seq<Cons<Object>>> getListeners() {
    return listeners;
  }

  public static <T> Seq<Cons<Object>> getListeners(Class<T> eventClass) {
    return listeners.get(eventClass);
  }

  public static <T> void emit(T eventInstance) {
    Optional
      .ofNullable(listeners.get(eventInstance.getClass()))
      .ifPresent(listeners -> listeners.forEach(listener -> {
        listener.get(eventInstance);
      }));
  }

  public static <T> void emitAsync(T eventInstance) {
    Timer.schedule(() -> emit(eventInstance), 0);
  }

  private static <T> Cons<T> setupImmediateListener(Cons<T> task) {
    Cons<T> immediateTask = eventInstance -> Timer.schedule(() -> task.get(eventInstance), 0);
    
    bindings.put((Cons<Object>) task, (Cons<Object>) immediateTask);
    return immediateTask;
  }

  private static <T> Cons<T> setupOnceListener(Class<T> event, Cons<T> task) {
    Cons<T> onceTask = eventInstance -> {
      task.get(eventInstance);

      Log.info(bindings.get(task));
      remove(task);
    };

    bindings.put((Cons<Object>) task, (Cons<Object>) onceTask);
    return onceTask;
  }

}

What does boolf() even do?

I've seen it in the Examplemod javascript, but it has no documentation as far as I can see except in Arc. Also, I would talk via discord but it's blocked at my workplace.
Thanks in advance,
Techfish

Wrong Parsing Unquoted strings in HJson

I used this when writing HJson Support for Intellij idea
and I found some tricky cases which are parsed counterintuitively

Cases thats parsed in wrong way:

    • Given HJson
    it: it,
    value: value,
    
    • Expected Json
    {"it": "it,", "value": "value,"}
    • Actual Json
    {"it": "it", "value": "value"}

    • Given HJson
    [
    1, 2,
    O, T,
    3, 4,
    T, F
    ]
    
    • Expected Json
    [1, 2, "O, T,", 3, 4, "T, F"]
    • Actual Json
    [1,2,"O","T",3,4,"T","F"]

Thought on a slight change for MacOS?

This isn't so much an issue but more a proposal, I propose something similar to the code below be placed at the top of SDLApplication so that jars can be launched with a single double click rather than having to run it with java -XstartOnFirstThread -jar <jar> every time. The code functions fine in its current state here but that would be required in every project using arc so I think it would be better to just integrate it directly into arc. All it does is relaunch the jar with the same arguments it was originally passed.

native library source

Hi. Are you willing to provide the source code (linux) for natives (libarc.so stuff)? I'd like to port it for the raspberry pi..

Mindustry `Icon`s Ignore Being Resized

image

My futile attempts to get the icon to resize:
image

(Using 2 because it's really small and would be easily visible in the case that it actually worked, which it didn't.)

License?

Hey Anuken, is your code in this repo, in particular your SDL backend, licensed under an Open Source license?
Best Regards!

May deprecated `Seq.filter`?

This function is confusing. In many language, the filter don't modify itself.
And the kotlin has Iterable<T>.filter that is very confusing with the Seq.filter, this two has different effect.

For some usecauses, like Vars.contents.blocks.filter() will make game boom. While Groups.player.filter is very useful and safe to use.

To deprecated

  1. mark Seq.filter as deprecated.(no binrary breakchange)
  2. use Seq.removeAll replace almost usecase.

incorrect operation of the fillRect method in Pixmap

image
The method uses the size parameters and compares them with the coordinate parameters. A must compare the coordinate parameters with its size. Because of this, when you try to fill an area with a size of 2x2 at 3x3 coordinates, for example, nothing will happen

architecture independence

    Arm is not supported.

Originally posted by @Anuken in #127 (comment)

this issue is here to suggest working on making the Arc engine CPU architecture independent which should be simple ( add if statements to remove x86 specific code on other architectures and maybe replace some things on compile (gradle build ) time )

Incorrect requests expansion in SortedSpriteBatch

There is a major issue in this piece of code

float[] requestZ = this.requestZ;
if(numRequests + count - offset >= this.requests.length) expandRequests();
DrawRequest[] requests = this.requests;

Sometimes the game crashes with an ArrayIndexOutOfBoundsException on line 72.
This happens because requestZ is assigned before the call to expandRequests so it will still use the old array

Here is an example:

float[] requestZ = this.requestZ; // local requestZ => Array[30625]

// expandRequests is called and reassigns this.requestZ
this.requestZ = Arrays.copyOf(requestZ, newRequests.length); // field requestZ => Array[53593]

// after expandRequests
requestZ == this.requestZ; // False! because requestZ still references Array[30625]

Here is a stack trace of the issue, a debugger statement tells me that requests was just expanded from 30625 to 53593:

[E] java.lang.ArrayIndexOutOfBoundsException: Index 30625 out of bounds for length 30625
	at arc.graphics.g2d.SortedSpriteBatch.draw(SortedSpriteBatch.java:72)
	at arc.graphics.g2d.Draw.vert(Draw.java:371)
	at arc.graphics.g2d.FontCache.draw(FontCache.java:234)
	at arc.graphics.g2d.Font.draw(Font.java:235)
	at mindustry.gen.Player.draw(Player.java:645)
	at mindustry.entities.EntityGroup.draw(EntityGroup.java:104)
	at mindustry.core.Renderer.draw(Renderer.java:370)
	at mindustry.core.Renderer.update(Renderer.java:224)
	at arc.ApplicationCore.update(ApplicationCore.java:37)
	at mindustry.ClientLauncher.update(ClientLauncher.java:230)
	at arc.backend.sdl.SdlApplication.listen(SdlApplication.java:204)
	at arc.backend.sdl.SdlApplication.loop(SdlApplication.java:192)
	at arc.backend.sdl.SdlApplication.<init>(SdlApplication.java:54)
	at mindustry.desktop.DesktopLauncher.main(DesktopLauncher.java:39)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at com.qendolin.mindustryloader.gameprovider.services.MindustryGameProvider.launch(MindustryGameProvider.java:200)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)

Json serializer writes `ObjectMap` incorrectly

Version: master-SNAPSHOT
Description: Trying write an ObjectMap with its key set to Team writes the team as a string instead of using its seralizer to write the team id.

Steps to reproduce: Run the following code:

public class Foo {
    public ObjectMap<Team, Integer> bar = new ObjectMap<>();
}

var foo = new Foo();
foo.bar.put(Team.sharded, 0);
JsonIO.read(Foo.class, JsonIO.write(foo));

foo looks like this after serializing: {bar:{sharded:0}}

Logs:

[10-02-2022 11:03:48] [E] arc.util.serialization.SerializationException: Serialization trace:
{}.bar
bar (bomberman.MapLoader$Foo)
	at arc.util.serialization.Json.readFields(Json.java:904)
	at arc.util.serialization.Json.readValue(Json.java:1077)
	at arc.util.serialization.Json.readValue(Json.java:980)
	at arc.util.serialization.Json.fromJson(Json.java:821)
	at mindustry.io.JsonIO.read(JsonIO.java:61)
	at bomberman.MapLoader.load(MapLoader.java:35)
	at plugin.BomberMan.lambda$reloadMaps$12(BomberMan.java:186)
	at mindustry.core.World.loadMap(World.java:340)
	at mindustry.core.World.loadMap(World.java:334)
	at mindustry.server.ServerControl.lambda$registerCommands$30(ServerControl.java:392)
	at arc.util.CommandHandler.lambda$register$2(CommandHandler.java:128)
	at arc.util.CommandHandler.handleMessage(CommandHandler.java:85)
	at arc.util.CommandHandler.handleMessage(CommandHandler.java:29)
	at mindustry.server.ServerControl.lambda$setup$6(ServerControl.java:156)
	at arc.util.TaskQueue.run(TaskQueue.java:17)
	at arc.backend.headless.HeadlessApplication.mainLoop(HeadlessApplication.java:81)
	at arc.backend.headless.HeadlessApplication$1.run(HeadlessApplication.java:52)
Caused by: java.lang.NumberFormatException: For input string: "sharded"
	at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
	at java.base/java.lang.Integer.parseInt(Integer.java:668)
	at java.base/java.lang.Integer.parseInt(Integer.java:786)
	at arc.util.serialization.JsonValue.asInt(JsonValue.java:261)
	at mindustry.io.JsonIO$8.read(JsonIO.java:172)
	at mindustry.io.JsonIO$8.read(JsonIO.java:164)
	at arc.util.serialization.Json.readValue(Json.java:1084)
	at arc.util.serialization.Json.readValue(Json.java:980)
	at arc.util.serialization.Json.readValue(Json.java:1034)
	at arc.util.serialization.Json.readFields(Json.java:897)
	... 16 more

some info about network protocol

so, im trying to recreate basic mindustry server, and...

RegisterTCP Packet...

i checked src and i imagined that code writes to bytebuffer length of packet, -2(important, some sort of magic value of framework packet), id of actual packet, and data of packet...
client doesn't wanna accept this packet.
i checked actual packet from server and...

b'\x00\x06\xfe\x04\x7f\xa1S\x99'

wtf is 0xfe(\xfe)
why length of packet 6

Mods can't hook EventType.Trigger.update

Example code: onEvent(Trigger.update, () => {})
Throws EvaluatorException: Can't find method mindustry.mod.Scripts.onEvent(mindustry.game.EventType$Trigger,function). (global.js#8)

On BE 9171

Jval Issue

Parsed lines as array of 4 elements

lines: [
Hello, Mark you are my best frient
Goodbye, Jim you are my enemy
]

Expected:

{"lines": ["Hello, Mark you are my best frient","Goodbye, Jim you are my enemy"]}

Actual:

{"lines": ["Hello","Mark you are my best frient","Goodbye","Jim you are my enemy"]}

But code beloy parsed as expected.

line0: Hello, Mark you are my best frient
line1: Goodbye, Jim you are my enemy

Expected & Actual:

{"line0":"Hello, Mark you are my best frient","line1":"Goodbye, Jim you are my enemy"}

Can not build sdlnatives

[nix-shell:~/proj/Arc]$ gradle clean sdlnatives
> Task :arc-core:clean
> Task :backends:clean UP-TO-DATE
> Task :extensions:clean UP-TO-DATE
> Task :natives:clean UP-TO-DATE
> Task :backends:backend-android:clean UP-TO-DATE
> Task :backends:backend-headless:clean UP-TO-DATE
> Task :backends:backend-robovm:clean UP-TO-DATE
> Task :backends:backend-sdl:deleteJniFolder
> Task :backends:backend-sdl:clean
> Task :extensions:arcnet:clean UP-TO-DATE
> Task :extensions:box2d:deleteJniFolder UP-TO-DATE
> Task :extensions:box2d:clean UP-TO-DATE
> Task :extensions:freetype:deleteJniFolder UP-TO-DATE
> Task :extensions:freetype:clean UP-TO-DATE
> Task :extensions:fx:clean UP-TO-DATE
> Task :extensions:g3d:clean UP-TO-DATE
> Task :extensions:packer:clean UP-TO-DATE
> Task :extensions:recorder:clean UP-TO-DATE
> Task :natives:natives-android:clean UP-TO-DATE
> Task :natives:natives-box2d-android:clean UP-TO-DATE
> Task :natives:natives-box2d-desktop:clean UP-TO-DATE
> Task :natives:natives-box2d-ios:clean UP-TO-DATE
> Task :natives:natives-desktop:clean UP-TO-DATE
> Task :natives:natives-freetype-android:clean UP-TO-DATE
> Task :natives:natives-freetype-desktop:clean UP-TO-DATE
> Task :natives:natives-freetype-ios:clean UP-TO-DATE
> Task :natives:natives-ios:clean UP-TO-DATE

> Task :arc-core:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :arc-core:processResources NO-SOURCE
> Task :arc-core:classes
> Task :arc-core:jar
> Task :backends:backend-sdl:compileJava
> Task :backends:backend-sdl:processResources
> Task :backends:backend-sdl:classes
> Task :backends:backend-sdl:compileTestJava
> Task :backends:backend-sdl:processTestResources NO-SOURCE
> Task :backends:backend-sdl:testClasses

> Task :backends:backend-sdl:sdlnatives FAILED
SDL version found: 2.0.12
Generating C/C++ for 'src/main/java/arc/backend/sdl/jni/SDL.java'...
Command: javac -classpath build/classes/java/main -d /tmp/gdx-jnigen2758102315610532263 -h jni src/main/java/arc/backend/sdl/jni/SDL.java
src/main/java/arc/backend/sdl/jni/SDL.java:3: error: package arc.util does not exist
import arc.util.*;
^
src/main/java/arc/backend/sdl/jni/SDL.java:24: error: cannot find symbol
        if(OS.isWindows){
           ^
  symbol:   variable OS
  location: class SDL
src/main/java/arc/backend/sdl/jni/SDL.java:24: error: illegal parenthesized expression
        if(OS.isWindows){
          ^
src/main/java/arc/backend/sdl/jni/SDL.java:25: error: cannot find symbol
            new SharedLibraryLoader(){
                ^
  symbol:   class SharedLibraryLoader
  location: class SDL
src/main/java/arc/backend/sdl/jni/SDL.java:26: error: method does not override or implement a method from a supertype
                @Override
                ^
src/main/java/arc/backend/sdl/jni/SDL.java:31: error: method does not override or implement a method from a supertype
                @Override
                ^
src/main/java/arc/backend/sdl/jni/SDL.java:33: error: non-static variable super cannot be referenced from a static context
                    return super.readFile(OS.is64Bit ? "OpenAL.dll" : "OpenAL32.dll");
                           ^
src/main/java/arc/backend/sdl/jni/SDL.java:33: error: cannot find symbol
                    return super.readFile(OS.is64Bit ? "OpenAL.dll" : "OpenAL32.dll");
                                ^
  symbol: method readFile(OS.is64Bit[...].dll")
src/main/java/arc/backend/sdl/jni/SDL.java:33: error: cannot find symbol
                    return super.readFile(OS.is64Bit ? "OpenAL.dll" : "OpenAL32.dll");
                                          ^
  symbol: variable OS
src/main/java/arc/backend/sdl/jni/SDL.java:36: error: cannot find symbol
        }else if(OS.isLinux){
                 ^
  symbol:   variable OS
  location: class SDL
src/main/java/arc/backend/sdl/jni/SDL.java:36: error: illegal parenthesized expression
        }else if(OS.isLinux){
                ^
src/main/java/arc/backend/sdl/jni/SDL.java:37: error: cannot find symbol
            new SharedLibraryLoader(){
                ^
  symbol:   class SharedLibraryLoader
  location: class SDL
src/main/java/arc/backend/sdl/jni/SDL.java:38: error: method does not override or implement a method from a supertype
                @Override public String mapLibraryName(String libraryName){ return "lib" +libraryName + ".so"; }
                ^
src/main/java/arc/backend/sdl/jni/SDL.java:41: error: cannot find symbol
        new SharedLibraryLoader(){
            ^
  symbol:   class SharedLibraryLoader
  location: class SDL
src/main/java/arc/backend/sdl/jni/SDL.java:42: error: method does not override or implement a method from a supertype
            @Override
            ^
src/main/java/arc/backend/sdl/jni/SDL.java:44: error: cannot find symbol
                if(OS.isWindows){
                   ^
  symbol: variable OS
src/main/java/arc/backend/sdl/jni/SDL.java:44: error: illegal parenthesized expression
                if(OS.isWindows){
                  ^
src/main/java/arc/backend/sdl/jni/SDL.java:46: error: cannot find symbol
                        extractFile(OS.is64Bit ? "OpenAL.dll" : "OpenAL32.dll", sourceCrc,
                        ^
  symbol: method extractFile(OS.is64Bit[...].dll",String,File)
src/main/java/arc/backend/sdl/jni/SDL.java:46: error: cannot find symbol
                        extractFile(OS.is64Bit ? "OpenAL.dll" : "OpenAL32.dll", sourceCrc,
                                    ^
  symbol: variable OS
src/main/java/arc/backend/sdl/jni/SDL.java:51: error: non-static variable super cannot be referenced from a static context
                return super.loadFile(sourcePath, sourceCrc, extractedFile);
                       ^
src/main/java/arc/backend/sdl/jni/SDL.java:51: error: cannot find symbol
                return super.loadFile(sourcePath, sourceCrc, extractedFile);
                            ^
  symbol: method loadFile(String,String,File)
21 errors
Exception in thread "main" java.lang.RuntimeException: Couldn't find C method for Java method 'SDL#SDL_Init'
	at com.badlogic.gdx.jnigen.NativeCodeGenerator.generateCppFile(NativeCodeGenerator.java:340)
	at com.badlogic.gdx.jnigen.NativeCodeGenerator.processDirectory(NativeCodeGenerator.java:276)
	at com.badlogic.gdx.jnigen.NativeCodeGenerator.processDirectory(NativeCodeGenerator.java:248)
	at com.badlogic.gdx.jnigen.NativeCodeGenerator.processDirectory(NativeCodeGenerator.java:248)
	at com.badlogic.gdx.jnigen.NativeCodeGenerator.processDirectory(NativeCodeGenerator.java:248)
	at com.badlogic.gdx.jnigen.NativeCodeGenerator.processDirectory(NativeCodeGenerator.java:248)
	at com.badlogic.gdx.jnigen.NativeCodeGenerator.generate(NativeCodeGenerator.java:239)
	at com.badlogic.gdx.jnigen.NativeCodeGenerator.generate(NativeCodeGenerator.java:207)
	at NativesBuild.buildScripts(NativesBuild.java:76)
	at NativesBuild.main(NativesBuild.java:72)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':backends:backend-sdl:sdlnatives'.
> Process 'command '/nix/store/c7sck4p44a1vmpfslms9shwpxkkl2781-openjdk-8u272-b10/lib/openjdk/bin/java'' finished with non-zero exit value 1

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

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

BUILD FAILED in 12s
33 actionable tasks: 9 executed, 24 up-to-date

[nix-shell:~/proj/Arc]$

Strings "parsePositiveInt" problem

Strings.canParsePositiveInt("0") returns true
Strings.parsePositiveInt("0") returns negative int limit

I don't want to change this myself in case it breaks stuff but this is pretty misleading

Use MACOSX_DEPLOYMENT_TARGET for macOS build

As noted in #75, libsdl-arc64.dylib built on macOS 10.15 or newer is not compatible with macOS 10.14 or older. Researching the issue further, it seems there has been a change in how macOS developer tools sets the build target macOS version. The old -mmacosx-version-min=version flag does not seem to work anymore, and instead MACOSX_DEPLOYMENT_TARGET should be used.

  1. Remove -mmacosx-version-min=10.9 from backends/backend-sdl/build.gradle.
  2. Set the environment variable using export MACOSX_DEPLOYMENT_TARGET='10.9'.
  3. Clean, then rebuild using ./gradlew backends:backend-sdl:jnigenBuild.

Seems to work well for me.

Can it be confirmed to work for builds on macOS 10.15 and newer? (I can re-test 10.14 backwards compatibility changes if provided libsdl-arc64.dylib.)

If it works, the next question is how to best set MACOSX_DEPLOYMENT_TARGET='10.9' for the macOS x64 build in gradle. Using export works for a single architecture, but the same minimum macOS target may not be suitable for ARM64 builds since the processor architecture was only introduced in macOS 11. (For these tests I ignored changes to libsdl-arcarm64.dylib.)


Below are logs from the builds on my machine. They show that both -mmacosx-version-min=10.9 and MACOSX_DEPLOYMENT_TARGET seems to work, based on the version mismatch warning was built for newer OSX version (10.14) than being linked (10.9), generated because of SDL2 provided by brew. In contrast, the absence of the warning shows that the target was 10.14, as presumably is the default case when no macOS target has been specified.

With -mmacosx-version-min=10.9

Unmodified master. Note the version mismatch warnings.

> Configure project :backends:backend-sdl
Fetching GLEW source...
Fetching SDL-mingw builds...

> Task :arc-core:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :backends:backend-sdl:jnigen
Generating C/C++ for '/games/mindustry/Arc/backends/backend-sdl/src/arc/backend/sdl/jni/SDL.java'...done
Generating C/C++ for '/games/mindustry/Arc/backends/backend-sdl/src/arc/backend/sdl/jni/SDLGL.java'...done
Wrote target 'Linux64' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-linux64.xml'
Wrote target 'Windows64' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-windows64.xml'
Wrote target 'Windows' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-windows32.xml'
Wrote target 'MacOsX64' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml'
Wrote master build script '/games/mindustry/Arc/backends/backend-sdl/jni/build.xml'
Apache Ant(TM) version 1.10.11 compiled on July 10 2021
Buildfile: /games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml
Detected Java version: 17 in: /usr/local/Cellar/openjdk/17/libexec/openjdk.jdk/Contents/Home
Detected OS: Mac OS X
parsing buildfile /games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml with URI = file:/games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml
Project base dir set to: /games/mindustry/Arc/backends/backend-sdl/jni
parsing buildfile jar:file:/usr/local/Cellar/ant/1.10.11/libexec/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = jar:file:/usr/local/Cellar/ant/1.10.11/libexec/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip file
 [property] Loading Environment env.
Build sequence for target(s) `clean' is [clean]
Complete build sequence is [clean, precompile, create-build-dir, compile, link, strip, postcompile, ]

clean:
   [delete] Directory does not exist: /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/libs/macosx64/libsdl-arc64.dylib
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/libs/macosx64/libsdl-arcarm64.dylib
Build sequence for target(s) `postcompile' is [precompile, create-build-dir, compile, link, strip, postcompile]
Complete build sequence is [precompile, create-build-dir, compile, link, strip, postcompile, clean, ]

precompile:
Property "env.Path" has not been set
Property "env.Path" has not been set
[available] Searching /usr/local/opt/openjdk/bin
[available] Searching /usr/local/bin
[available] Searching /Users/joelpurra/bin
[available] Searching /usr/bin
[available] Found: clang++ in /usr/bin
[available] Searching /usr/local/opt/openjdk/bin
[available] Searching /usr/local/bin
[available] Searching /Users/joelpurra/bin
[available] Searching /usr/bin
[available] Found: clang in /usr/bin
Property "env.Path" has not been set
[available] Searching /usr/local/opt/openjdk/bin
[available] Searching /usr/local/bin
[available] Searching /Users/joelpurra/bin
[available] Searching /usr/bin
[available] Found: strip in /usr/bin

create-build-dir:
     [copy] arc_backend_sdl_jni_SDL.cpp added as arc_backend_sdl_jni_SDL.cpp doesn't exist.
     [copy] arc_backend_sdl_jni_SDLGL.cpp added as arc_backend_sdl_jni_SDLGL.cpp doesn't exist.
     [copy] glew-2.2.0/src/glew.c added as glew-2.2.0/src/glew.c doesn't exist.
     [copy] memcpy_wrap.c added as memcpy_wrap.c doesn't exist.
     [copy] No sources found.
     [copy] Copying 4 files to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDL.cpp to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.cpp
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.cpp
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/glew-2.2.0/src/glew.c to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.c
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/memcpy_wrap.c to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.c
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.cpp
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.cpp
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.c

compile:
    [mkdir] Skipping /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64 because it already exists.
    [apply] Current OS is Mac OS X
    [apply] arc_backend_sdl_jni_SDL.cpp added as arc_backend_sdl_jni_SDL.o doesn't exist.
    [apply] arc_backend_sdl_jni_SDLGL.cpp added as arc_backend_sdl_jni_SDLGL.o doesn't exist.
    [apply] Executing 'clang++' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-mmacosx-version-min=10.9'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDL.cpp'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.
    [apply] Executing 'clang++' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-mmacosx-version-min=10.9'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.
(arc_backend_sdl_jni_SDLGL.java:413): warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:792:43: warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glDrawElements(mode, count, type, (const void*)indices);
    [apply]                                           ^
(arc_backend_sdl_jni_SDLGL.java:833): warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1822:69: warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glVertexAttribPointer(indx, size, type, normalized, stride, (const void*)ptr);
    [apply]                                                                     ^
(arc_backend_sdl_jni_SDLGL.java:844): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1842:60: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glDrawRangeElements(mode, start, end, count, type, (void*)offset);
    [apply]                                                            ^
(arc_backend_sdl_jni_SDLGL.java:852): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1863:97: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (void*)offset);
    [apply]                                                                                                 ^
(arc_backend_sdl_jni_SDLGL.java:860): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1884:103: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (void*)offset);
    [apply]                                                                                                       ^
(arc_backend_sdl_jni_SDLGL.java:907): warning: control reaches end of non-void function [-Wreturn-type], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2002:1: warning: control reaches end of non-void function [-Wreturn-type]
    [apply] }
    [apply] ^
(arc_backend_sdl_jni_SDLGL.java:988): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2218:59: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glVertexAttribIPointer(index, size, type, stride, (void*)offset);
    [apply]                                                           ^
(arc_backend_sdl_jni_SDLGL.java:1054): warning: unused variable 'uniformIndices' [-Wunused-variable], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2392:7: warning: unused variable 'uniformIndices' [-Wunused-variable]
    [apply]         int* uniformIndices = (int*)(obj_uniformIndices?env->GetDirectBufferAddress(obj_uniformIndices):0);
    [apply]              ^
(arc_backend_sdl_jni_SDLGL.java:1070): warning: unused variable 'length' [-Wunused-variable], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2445:17: warning: unused variable 'length' [-Wunused-variable]
    [apply]         unsigned char* length = (unsigned char*)(obj_length?env->GetDirectBufferAddress(obj_length):0);
    [apply]                        ^
(arc_backend_sdl_jni_SDLGL.java:1071): warning: unused variable 'uniformBlockName' [-Wunused-variable], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2446:17: warning: unused variable 'uniformBlockName' [-Wunused-variable]
    [apply]         unsigned char* uniformBlockName = (unsigned char*)(obj_uniformBlockName?env->GetDirectBufferAddress(obj_uniformBlockName):0);
    [apply]                        ^
(arc_backend_sdl_jni_SDLGL.java:1080): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2481:52: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glDrawElementsInstanced(mode, count, type, (void*)indicesOffset, instanceCount);
    [apply]                                                    ^
    [apply] 11 warnings generated.
    [apply] Applied clang++ to 2 files and 0 directories.
    [apply] Current OS is Mac OS X
    [apply] glew-2.2.0/src/glew.c added as glew-2.2.0/src/glew.o doesn't exist.
    [apply] memcpy_wrap.c added as memcpy_wrap.o doesn't exist.
    [apply] Executing 'clang' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-mmacosx-version-min=10.9'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/glew-2.2.0/src/glew.c'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.

> Task :backends:backend-sdl:jnigenBuildMacOsX64
Executing '[ant, -f, /games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml, -Drelease=true, clean, postcompile, -v]'

    [apply] Executing 'clang' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-mmacosx-version-min=10.9'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/memcpy_wrap.c'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.
    [apply] Applied clang to 2 files and 0 directories.

link:
[pathconvert] Set property objFiles = /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.o /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.o /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.o /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.o
    [mkdir] Skipping /games/mindustry/Arc/backends/backend-sdl/libs/macosx64 because it already exists.
     [exec] Current OS is Mac OS X
     [exec] Executing 'clang++' with arguments:
     [exec] '-shared'
     [exec] '-arch'
     [exec] 'x86_64'
     [exec] '-mmacosx-version-min=10.9'
     [exec] '-stdlib=libc++'
     [exec] '-o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/libs/macosx64/libsdl-arc64.dylib'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.o'
     [exec] '/usr/local/lib/libSDL2.a'
     [exec] '-lm'
     [exec] '-liconv'
     [exec] '-Wl,-framework,CoreAudio'
     [exec] '-Wl,-weak_framework,GameController'
     [exec] '-Wl,-framework,OpenGL,-weak_framework,AudioToolbox'
     [exec] '-Wl,-framework,ForceFeedback'
     [exec] '-lobjc'
     [exec] '-Wl,-framework,CoreVideo'
     [exec] '-Wl,-framework,Cocoa'
     [exec] '-Wl,-framework,Carbon'
     [exec] '-Wl,-framework,IOKit'
     [exec] '-Wl,-weak_framework,QuartzCore'
     [exec] '-Wl,-weak_framework,Metal'
     [exec] '/usr/local/lib/libGLEW.a'
     [exec]
     [exec] The ' characters around the executable and arguments are
     [exec] not part of the command.
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dynapi.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_events.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hints.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_timer.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_pixels.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_rwops.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_atomic.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_spinlock.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_audio.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_audiocvt.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_mouse.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_error.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syscond.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_surface.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sysmutex.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syssem.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_shape.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_thread.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_video.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_systimer.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_rect.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_fillrect.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_wave.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_gamecontroller.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_assert.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sysfilesystem.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cpuinfo.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_clipboard.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_keyboard.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_malloc.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_touch.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_power.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_locale.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_yuv.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_haptic.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_joystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_bmp.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_gesture.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sysloadso.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sensor.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_log.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_mixer.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_url.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_stretch.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_systhread.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_stdlib.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_string.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_crc32.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_getenv.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_iconv.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_qsort.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_strtokr.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoavideo.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_coreaudio.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoawindow.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoamessagebox.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_diskaudio.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dummyaudio.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_nullvideo.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render_gles2.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render_gl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapijoystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render_metal.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_audiotypecvt.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dataqueue.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_iokitjoystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dummysensor.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syspower.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_mfijoystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_virtualjoystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_rwopsbundlesupport.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_quit.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_RLEaccel.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_yuv_sw.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syslocale.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_systls.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syshaptic.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sysurl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_displayevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_windowevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render_sw.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(yuv_rgb.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoaclipboard.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoashape.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoaopengles.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoaopengl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoamodes.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoamouse.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoakeyboard.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoametalview.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoaevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoavulkan.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_nullevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_shaders_gles2.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_shaders_gl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blendfillrect.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blendline.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blendpoint.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_copy.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_slow.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_0.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_1.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_A.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_N.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_nullframebuffer.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_drawline.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_drawpoint.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_auto.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_gamecube.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_luna.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_ps4.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_ps5.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_stadia.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_switch.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_xbox360.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_xbox360w.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_xboxone.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_rumble.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dropevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_rotate.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_egl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_clipboardevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_vulkan_utils.o)) was built for newer OSX version (10.14) than being linked (10.9)

strip:
Skipped because property 'should-strip' not set.

postcompile:

BUILD SUCCESSFUL
Total time: 43 seconds

BUILD SUCCESSFUL in 57s
7 actionable tasks: 7 executed
Without any target

Removed -mmacosx-version-min=10.9. Note the lack of version mismatch warnings.

> Configure project :backends:backend-sdl
Fetching GLEW source...
Fetching SDL-mingw builds...

> Task :arc-core:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :backends:backend-sdl:jnigen
Generating C/C++ for '/games/mindustry/Arc/backends/backend-sdl/src/arc/backend/sdl/jni/SDL.java'...done
Generating C/C++ for '/games/mindustry/Arc/backends/backend-sdl/src/arc/backend/sdl/jni/SDLGL.java'...done
Wrote target 'Linux64' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-linux64.xml'
Wrote target 'Windows64' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-windows64.xml'
Wrote target 'Windows' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-windows32.xml'
Wrote target 'MacOsX64' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml'
Wrote master build script '/games/mindustry/Arc/backends/backend-sdl/jni/build.xml'
Apache Ant(TM) version 1.10.11 compiled on July 10 2021
Buildfile: /games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml
Detected Java version: 17 in: /usr/local/Cellar/openjdk/17/libexec/openjdk.jdk/Contents/Home
Detected OS: Mac OS X
parsing buildfile /games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml with URI = file:/games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml
Project base dir set to: /games/mindustry/Arc/backends/backend-sdl/jni
parsing buildfile jar:file:/usr/local/Cellar/ant/1.10.11/libexec/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = jar:file:/usr/local/Cellar/ant/1.10.11/libexec/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip file
 [property] Loading Environment env.
Build sequence for target(s) `clean' is [clean]
Complete build sequence is [clean, precompile, create-build-dir, compile, link, strip, postcompile, ]

clean:
   [delete] Directory does not exist: /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/libs/macosx64/libsdl-arc64.dylib
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/libs/macosx64/libsdl-arcarm64.dylib
Build sequence for target(s) `postcompile' is [precompile, create-build-dir, compile, link, strip, postcompile]
Complete build sequence is [precompile, create-build-dir, compile, link, strip, postcompile, clean, ]

precompile:
Property "env.Path" has not been set
Property "env.Path" has not been set
[available] Searching /usr/local/opt/openjdk/bin
[available] Searching /usr/local/bin
[available] Searching /Users/joelpurra/bin
[available] Searching /usr/bin
[available] Found: clang++ in /usr/bin
[available] Searching /usr/local/opt/openjdk/bin
[available] Searching /usr/local/bin
[available] Searching /Users/joelpurra/bin
[available] Searching /usr/bin
[available] Found: clang in /usr/bin
Property "env.Path" has not been set
[available] Searching /usr/local/opt/openjdk/bin
[available] Searching /usr/local/bin
[available] Searching /Users/joelpurra/bin
[available] Searching /usr/bin
[available] Found: strip in /usr/bin

create-build-dir:
     [copy] arc_backend_sdl_jni_SDL.cpp added as arc_backend_sdl_jni_SDL.cpp doesn't exist.
     [copy] arc_backend_sdl_jni_SDLGL.cpp added as arc_backend_sdl_jni_SDLGL.cpp doesn't exist.
     [copy] glew-2.2.0/src/glew.c added as glew-2.2.0/src/glew.c doesn't exist.
     [copy] memcpy_wrap.c added as memcpy_wrap.c doesn't exist.
     [copy] No sources found.
     [copy] Copying 4 files to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDL.cpp to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.cpp
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.cpp
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/glew-2.2.0/src/glew.c to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.c
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/memcpy_wrap.c to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.c
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.cpp
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.cpp
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.c

compile:
    [mkdir] Skipping /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64 because it already exists.
    [apply] Current OS is Mac OS X
    [apply] arc_backend_sdl_jni_SDL.cpp added as arc_backend_sdl_jni_SDL.o doesn't exist.
    [apply] arc_backend_sdl_jni_SDLGL.cpp added as arc_backend_sdl_jni_SDLGL.o doesn't exist.
    [apply] Executing 'clang++' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDL.cpp'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.
    [apply] Executing 'clang++' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.
(arc_backend_sdl_jni_SDLGL.java:413): warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:792:43: warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glDrawElements(mode, count, type, (const void*)indices);
    [apply]                                           ^
(arc_backend_sdl_jni_SDLGL.java:833): warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1822:69: warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glVertexAttribPointer(indx, size, type, normalized, stride, (const void*)ptr);
    [apply]                                                                     ^
(arc_backend_sdl_jni_SDLGL.java:844): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1842:60: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glDrawRangeElements(mode, start, end, count, type, (void*)offset);
    [apply]                                                            ^
(arc_backend_sdl_jni_SDLGL.java:852): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1863:97: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (void*)offset);
    [apply]                                                                                                 ^
(arc_backend_sdl_jni_SDLGL.java:860): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1884:103: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (void*)offset);
    [apply]                                                                                                       ^
(arc_backend_sdl_jni_SDLGL.java:907): warning: control reaches end of non-void function [-Wreturn-type], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2002:1: warning: control reaches end of non-void function [-Wreturn-type]
    [apply] }
    [apply] ^
(arc_backend_sdl_jni_SDLGL.java:988): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2218:59: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glVertexAttribIPointer(index, size, type, stride, (void*)offset);
    [apply]                                                           ^
(arc_backend_sdl_jni_SDLGL.java:1054): warning: unused variable 'uniformIndices' [-Wunused-variable], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2392:7: warning: unused variable 'uniformIndices' [-Wunused-variable]
    [apply]         int* uniformIndices = (int*)(obj_uniformIndices?env->GetDirectBufferAddress(obj_uniformIndices):0);
    [apply]              ^
(arc_backend_sdl_jni_SDLGL.java:1070): warning: unused variable 'length' [-Wunused-variable], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2445:17: warning: unused variable 'length' [-Wunused-variable]
    [apply]         unsigned char* length = (unsigned char*)(obj_length?env->GetDirectBufferAddress(obj_length):0);
    [apply]                        ^
(arc_backend_sdl_jni_SDLGL.java:1071): warning: unused variable 'uniformBlockName' [-Wunused-variable], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2446:17: warning: unused variable 'uniformBlockName' [-Wunused-variable]
    [apply]         unsigned char* uniformBlockName = (unsigned char*)(obj_uniformBlockName?env->GetDirectBufferAddress(obj_uniformBlockName):0);
    [apply]                        ^
(arc_backend_sdl_jni_SDLGL.java:1080): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2481:52: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glDrawElementsInstanced(mode, count, type, (void*)indicesOffset, instanceCount);
    [apply]                                                    ^
    [apply] 11 warnings generated.
    [apply] Applied clang++ to 2 files and 0 directories.
    [apply] Current OS is Mac OS X
    [apply] glew-2.2.0/src/glew.c added as glew-2.2.0/src/glew.o doesn't exist.
    [apply] memcpy_wrap.c added as memcpy_wrap.o doesn't exist.
    [apply] Executing 'clang' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/glew-2.2.0/src/glew.c'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.

> Task :backends:backend-sdl:jnigenBuildMacOsX64
Executing '[ant, -f, /games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml, -Drelease=true, clean, postcompile, -v]'

    [apply] Executing 'clang' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/memcpy_wrap.c'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.
    [apply] Applied clang to 2 files and 0 directories.

link:
[pathconvert] Set property objFiles = /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.o /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.o /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.o /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.o
    [mkdir] Skipping /games/mindustry/Arc/backends/backend-sdl/libs/macosx64 because it already exists.
     [exec] Current OS is Mac OS X
     [exec] Executing 'clang++' with arguments:
     [exec] '-shared'
     [exec] '-arch'
     [exec] 'x86_64'
     [exec] '-stdlib=libc++'
     [exec] '-o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/libs/macosx64/libsdl-arc64.dylib'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.o'
     [exec] '/usr/local/lib/libSDL2.a'
     [exec] '-lm'
     [exec] '-liconv'
     [exec] '-Wl,-framework,CoreAudio'
     [exec] '-Wl,-weak_framework,GameController'
     [exec] '-Wl,-framework,OpenGL,-weak_framework,AudioToolbox'
     [exec] '-Wl,-framework,ForceFeedback'
     [exec] '-lobjc'
     [exec] '-Wl,-framework,CoreVideo'
     [exec] '-Wl,-framework,Cocoa'
     [exec] '-Wl,-framework,Carbon'
     [exec] '-Wl,-framework,IOKit'
     [exec] '-Wl,-weak_framework,QuartzCore'
     [exec] '-Wl,-weak_framework,Metal'
     [exec] '/usr/local/lib/libGLEW.a'
     [exec]
     [exec] The ' characters around the executable and arguments are
     [exec] not part of the command.

strip:
Skipped because property 'should-strip' not set.

postcompile:

BUILD SUCCESSFUL
Total time: 43 seconds

BUILD SUCCESSFUL in 57s
7 actionable tasks: 7 executed
With export MACOSX_DEPLOYMENT_TARGET='10.9'

Removed -mmacosx-version-min=10.9, executed export MACOSX_DEPLOYMENT_TARGET='10.9' first. Note the version mismatch warnings.

> Configure project :backends:backend-sdl
Fetching GLEW source...
Fetching SDL-mingw builds...

> Task :arc-core:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :backends:backend-sdl:jnigen
Generating C/C++ for '/games/mindustry/Arc/backends/backend-sdl/src/arc/backend/sdl/jni/SDL.java'...done
Generating C/C++ for '/games/mindustry/Arc/backends/backend-sdl/src/arc/backend/sdl/jni/SDLGL.java'...done
Wrote target 'Linux64' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-linux64.xml'
Wrote target 'Windows64' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-windows64.xml'
Wrote target 'Windows' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-windows32.xml'
Wrote target 'MacOsX64' build script '/games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml'
Wrote master build script '/games/mindustry/Arc/backends/backend-sdl/jni/build.xml'
Apache Ant(TM) version 1.10.11 compiled on July 10 2021
Buildfile: /games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml
Detected Java version: 17 in: /usr/local/Cellar/openjdk/17/libexec/openjdk.jdk/Contents/Home
Detected OS: Mac OS X
parsing buildfile /games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml with URI = file:/games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml
Project base dir set to: /games/mindustry/Arc/backends/backend-sdl/jni
parsing buildfile jar:file:/usr/local/Cellar/ant/1.10.11/libexec/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = jar:file:/usr/local/Cellar/ant/1.10.11/libexec/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip file
 [property] Loading Environment env.
Build sequence for target(s) `clean' is [clean]
Complete build sequence is [clean, precompile, create-build-dir, compile, link, strip, postcompile, ]

clean:
   [delete] Directory does not exist: /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/libs/macosx64/libsdl-arc64.dylib
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/libs/macosx64/libsdl-arcarm64.dylib
Build sequence for target(s) `postcompile' is [precompile, create-build-dir, compile, link, strip, postcompile]
Complete build sequence is [precompile, create-build-dir, compile, link, strip, postcompile, clean, ]

precompile:
Property "env.Path" has not been set
Property "env.Path" has not been set
[available] Searching /usr/local/opt/openjdk/bin
[available] Searching /usr/local/bin
[available] Searching /Users/joelpurra/bin
[available] Searching /usr/bin
[available] Found: clang++ in /usr/bin
[available] Searching /usr/local/opt/openjdk/bin
[available] Searching /usr/local/bin
[available] Searching /Users/joelpurra/bin
[available] Searching /usr/bin
[available] Found: clang in /usr/bin
Property "env.Path" has not been set
[available] Searching /usr/local/opt/openjdk/bin
[available] Searching /usr/local/bin
[available] Searching /Users/joelpurra/bin
[available] Searching /usr/bin
[available] Found: strip in /usr/bin

create-build-dir:
     [copy] arc_backend_sdl_jni_SDL.cpp added as arc_backend_sdl_jni_SDL.cpp doesn't exist.
     [copy] arc_backend_sdl_jni_SDLGL.cpp added as arc_backend_sdl_jni_SDLGL.cpp doesn't exist.
     [copy] glew-2.2.0/src/glew.c added as glew-2.2.0/src/glew.c doesn't exist.
     [copy] memcpy_wrap.c added as memcpy_wrap.c doesn't exist.
     [copy] No sources found.
     [copy] Copying 4 files to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDL.cpp to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.cpp
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.cpp
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/glew-2.2.0/src/glew.c to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.c
     [copy] Copying /games/mindustry/Arc/backends/backend-sdl/jni/memcpy_wrap.c to /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.c
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.cpp
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.cpp
   [delete] Deleting /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.c

compile:
    [mkdir] Skipping /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64 because it already exists.
    [apply] Current OS is Mac OS X
    [apply] arc_backend_sdl_jni_SDL.cpp added as arc_backend_sdl_jni_SDL.o doesn't exist.
    [apply] arc_backend_sdl_jni_SDLGL.cpp added as arc_backend_sdl_jni_SDLGL.o doesn't exist.
    [apply] Executing 'clang++' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDL.cpp'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.
    [apply] Executing 'clang++' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.
(arc_backend_sdl_jni_SDLGL.java:413): warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:792:43: warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glDrawElements(mode, count, type, (const void*)indices);
    [apply]                                           ^
(arc_backend_sdl_jni_SDLGL.java:833): warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1822:69: warning: cast to 'const void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glVertexAttribPointer(indx, size, type, normalized, stride, (const void*)ptr);
    [apply]                                                                     ^
(arc_backend_sdl_jni_SDLGL.java:844): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1842:60: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glDrawRangeElements(mode, start, end, count, type, (void*)offset);
    [apply]                                                            ^
(arc_backend_sdl_jni_SDLGL.java:852): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1863:97: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (void*)offset);
    [apply]                                                                                                 ^
(arc_backend_sdl_jni_SDLGL.java:860): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:1884:103: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (void*)offset);
    [apply]                                                                                                       ^
(arc_backend_sdl_jni_SDLGL.java:907): warning: control reaches end of non-void function [-Wreturn-type], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2002:1: warning: control reaches end of non-void function [-Wreturn-type]
    [apply] }
    [apply] ^
(arc_backend_sdl_jni_SDLGL.java:988): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2218:59: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glVertexAttribIPointer(index, size, type, stride, (void*)offset);
    [apply]                                                           ^
(arc_backend_sdl_jni_SDLGL.java:1054): warning: unused variable 'uniformIndices' [-Wunused-variable], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2392:7: warning: unused variable 'uniformIndices' [-Wunused-variable]
    [apply]         int* uniformIndices = (int*)(obj_uniformIndices?env->GetDirectBufferAddress(obj_uniformIndices):0);
    [apply]              ^
(arc_backend_sdl_jni_SDLGL.java:1070): warning: unused variable 'length' [-Wunused-variable], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2445:17: warning: unused variable 'length' [-Wunused-variable]
    [apply]         unsigned char* length = (unsigned char*)(obj_length?env->GetDirectBufferAddress(obj_length):0);
    [apply]                        ^
(arc_backend_sdl_jni_SDLGL.java:1071): warning: unused variable 'uniformBlockName' [-Wunused-variable], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2446:17: warning: unused variable 'uniformBlockName' [-Wunused-variable]
    [apply]         unsigned char* uniformBlockName = (unsigned char*)(obj_uniformBlockName?env->GetDirectBufferAddress(obj_uniformBlockName):0);
    [apply]                        ^
(arc_backend_sdl_jni_SDLGL.java:1080): warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast], original:     [apply] /games/mindustry/Arc/backends/backend-sdl/jni/arc_backend_sdl_jni_SDLGL.cpp:2481:52: warning: cast to 'void *' from smaller integer type 'jint' (aka 'int') [-Wint-to-void-pointer-cast]
    [apply]         glDrawElementsInstanced(mode, count, type, (void*)indicesOffset, instanceCount);
    [apply]                                                    ^
    [apply] 11 warnings generated.
    [apply] Applied clang++ to 2 files and 0 directories.
    [apply] Current OS is Mac OS X
    [apply] glew-2.2.0/src/glew.c added as glew-2.2.0/src/glew.o doesn't exist.
    [apply] memcpy_wrap.c added as memcpy_wrap.o doesn't exist.
    [apply] Executing 'clang' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/glew-2.2.0/src/glew.c'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.

> Task :backends:backend-sdl:jnigenBuildMacOsX64
Executing '[ant, -f, /games/mindustry/Arc/backends/backend-sdl/jni/build-macosx64.xml, -Drelease=true, clean, postcompile, -v]'

    [apply] Executing 'clang' with arguments:
    [apply] '-I/usr/local/include/SDL2'
    [apply] '-D_THREAD_SAFE'
    [apply] '-c'
    [apply] '-Wall'
    [apply] '-O2'
    [apply] '-arch'
    [apply] 'x86_64'
    [apply] '-DFIXED_POINT'
    [apply] '-fmessage-length=0'
    [apply] '-fPIC'
    [apply] '-stdlib=libc++'
    [apply] '-Ijni-headers'
    [apply] '-Ijni-headers/mac'
    [apply] '-I.'
    [apply] '-Iglew-2.2.0/include'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/jni/memcpy_wrap.c'
    [apply] '-o'
    [apply] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.o'
    [apply]
    [apply] The ' characters around the executable and arguments are
    [apply] not part of the command.
    [apply] Applied clang to 2 files and 0 directories.

link:
[pathconvert] Set property objFiles = /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.o /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.o /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.o /games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.o
    [mkdir] Skipping /games/mindustry/Arc/backends/backend-sdl/libs/macosx64 because it already exists.
     [exec] Current OS is Mac OS X
     [exec] Executing 'clang++' with arguments:
     [exec] '-shared'
     [exec] '-arch'
     [exec] 'x86_64'
     [exec] '-stdlib=libc++'
     [exec] '-o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/libs/macosx64/libsdl-arc64.dylib'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDL.o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/arc_backend_sdl_jni_SDLGL.o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/glew-2.2.0/src/glew.o'
     [exec] '/games/mindustry/Arc/backends/backend-sdl/build/target/native/macosx64/memcpy_wrap.o'
     [exec] '/usr/local/lib/libSDL2.a'
     [exec] '-lm'
     [exec] '-liconv'
     [exec] '-Wl,-framework,CoreAudio'
     [exec] '-Wl,-weak_framework,GameController'
     [exec] '-Wl,-framework,OpenGL,-weak_framework,AudioToolbox'
     [exec] '-Wl,-framework,ForceFeedback'
     [exec] '-lobjc'
     [exec] '-Wl,-framework,CoreVideo'
     [exec] '-Wl,-framework,Cocoa'
     [exec] '-Wl,-framework,Carbon'
     [exec] '-Wl,-framework,IOKit'
     [exec] '-Wl,-weak_framework,QuartzCore'
     [exec] '-Wl,-weak_framework,Metal'
     [exec] '/usr/local/lib/libGLEW.a'
     [exec]
     [exec] The ' characters around the executable and arguments are
     [exec] not part of the command.
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dynapi.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_events.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hints.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_timer.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_pixels.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_rwops.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_atomic.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_spinlock.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_audio.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_audiocvt.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_mouse.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_error.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syscond.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_surface.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sysmutex.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syssem.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_shape.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_thread.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_video.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_systimer.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_rect.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_fillrect.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_wave.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_gamecontroller.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_assert.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sysfilesystem.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cpuinfo.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_clipboard.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_keyboard.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_malloc.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_touch.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_power.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_locale.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_yuv.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_haptic.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_joystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_bmp.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_gesture.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sysloadso.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sensor.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_log.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_mixer.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_url.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_stretch.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_systhread.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_stdlib.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_string.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_crc32.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_getenv.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_iconv.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_qsort.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_strtokr.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoavideo.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_coreaudio.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoawindow.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoamessagebox.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_diskaudio.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dummyaudio.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_nullvideo.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render_gles2.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render_gl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapijoystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render_metal.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_audiotypecvt.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dataqueue.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_iokitjoystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dummysensor.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syspower.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_mfijoystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_virtualjoystick.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_rwopsbundlesupport.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_quit.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_RLEaccel.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_yuv_sw.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syslocale.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_systls.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_syshaptic.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_sysurl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_displayevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_windowevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_render_sw.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(yuv_rgb.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoaclipboard.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoashape.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoaopengles.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoaopengl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoamodes.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoamouse.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoakeyboard.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoametalview.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoaevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_cocoavulkan.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_nullevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_shaders_gles2.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_shaders_gl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blendfillrect.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blendline.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blendpoint.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_copy.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_slow.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_0.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_1.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_A.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_N.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_nullframebuffer.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_drawline.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_drawpoint.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_blit_auto.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_gamecube.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_luna.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_ps4.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_ps5.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_stadia.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_switch.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_xbox360.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_xbox360w.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_xboxone.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi_rumble.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_dropevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_rotate.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_hidapi.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_egl.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_clipboardevents.o)) was built for newer OSX version (10.14) than being linked (10.9)
     [exec] ld: warning: object file (/usr/local/lib/libSDL2.a(SDL_vulkan_utils.o)) was built for newer OSX version (10.14) than being linked (10.9)

strip:
Skipped because property 'should-strip' not set.

postcompile:

BUILD SUCCESSFUL
Total time: 46 seconds

BUILD SUCCESSFUL in 1m 1s
7 actionable tasks: 7 executed

js function can't be used for Cons2

The code block.config(java.lang.String, (ent, h) => {}); throws:
InternalError: Cannot convert function to interface arc.func.Cons2 since it contains methods with different name
It refers to Cons2#with which is a default function, shouldn't it ignore that?

Events.on(Trigger.update, Runnable) can't be used

Code:

Events.on(Trigger.update, extend(java.lang.Runnable, {run() {
print("tick");
}}))

Error: EvaluatorException: Can't find method arc.Events.on(mindustry.game.EventType$Trigger,adapter12)

Tested on BE 8187

.

.

Incorrect project group.

The group specified here is com.github.anuken while the real group used by all of the arc modules is com.github.anuken.arc, i spent ages trying to figure out why thinks wouldn't work and it turns out it was this lmao

group = 'com.github.Anuken'

Broken Mat3D operations

Method arc.math.geom.Mat3D#mul(float[], float[]) works wrong when you pass arc.math.geom.Mat3D#tmp as matb
image
this happend for example in arc.math.geom.Mat3D#scale(float, float, float) method
image

No sound on Wayland + pulseaudio

Everything works fine except sound. Heres console output:

[I] [Core] Initialized SDL v2.24.0
[E] Failed to initialize audio, disabling sound: arc.util.ArcRuntimeException: Other error
	at arc.audio.Soloud.init(Native Method)
	at arc.audio.Audio.initialize(Audio.java:41)
	at arc.audio.Audio.<init>(Audio.java:30)
	at arc.backend.sdl.SdlApplication.<init>(SdlApplication.java:42)
	at mindustry.desktop.DesktopLauncher.main(DesktopLauncher.java:39)

[I] [GL] Version: OpenGL 4.6.0 / AMD / AMD Radeon RX 590 Series (polaris10, LLVM 13.0.1, DRM 3.42, 5.15.78)
[I] [GL] Max texture size: 16384
[I] [GL] Using OpenGL 2 context.
[I] [JAVA] Version: 17.0.4
[I] [RAM] Available: 7.8 GB
[I] [Mindustry] Version: 140.3
[I] Total time to load: 2014ms
[I] Fetching community servers at https://raw.githubusercontent.com/Anuken/Mindustry/master/servers_v7.json
[I] Fetched 26 community servers.
[I] Connecting to server: /165.232.137.170:6567
[I] Received world data: 146967 bytes.

I'm using the packaging here: NixOS/nixpkgs#200743

TextArea crashes with a non-default font

Creating a TextFieldStyle with a custom font and applying it to a TextArea causes very bizzare behaviour:

  • When the cursor is on the first line, everything is ok
  • When it is not, the following happens:
    • The cursor is always rendered in the very left
    • Any inputted text is added after the cursor and the left/right arrow keys are ignored
    • An attempt to move the cursor by touching the text area outside the first line or by pressing the up/down arrow buttons causes an AIOOBException in many different functions (i tried to create a subclass of TextArea and override them, but every time i did an exception popped in a different place).

The style is defined like this (mono is a custom font, but the same happens if you use Fonts.tech or anything else other than Fonts.def):

CStyles.monoArea = new TextFieldStyle(Styles.defaultField) {{
        font = mono;
        messageFont = mono;
}};

and the text area was added to a table like this:

input.area("", CStyles.monoArea, (text) -> { /* ... */ })

The first crash log: crash_1660389403160.txt (this is from v136.1, but these classes haven't been changed during the past 6 months)

Defining custom colors for Arc.graphics.Color

this may not be the right place to put this because it also relates to mindustry.
Color.java defines basic colors, how would i make a custom one for the rhino js api in mindustry? i end up with errors setting Draw.color(0x00ffffff,0xffffff00,e.fin()); where colors are not how they should be.

glewInit() called too early, fails with "Missing GL version" when used with EGL on Wayland

(Fwd: NixOS/nixpkgs#198903 . FYI @wanderer @fgaz)

When Mindustry is built with an EGL-enabled GLEW and run on Wayland, it fails to start and emits this error message:

[I] [Core] Initialized SDL v2.24.0
[E] java.lang.ExceptionInInitializerError
        at arc.backend.sdl.SdlGL20.glGetString(SdlGL20.java:36)
        at arc.backend.sdl.SdlGraphics.<init>(SdlGraphics.java:38)
        at arc.backend.sdl.SdlApplication.<init>(SdlApplication.java:39)
        at mindustry.desktop.DesktopLauncher.main(DesktopLauncher.java:39)
Caused by: arc.util.ArcRuntimeException: GLEW failed to initialize: Missing GL version
        at arc.backend.sdl.jni.SDLGL.<clinit>(SDLGL.java:103)
        ... 4 more

The problem appears to be that Arc calls glewInit() too early. GLEW documentation specifies that glewInit should be called after the GL rendering context is created. Arc calls glewInit in a static initializer block.

I also have no idea what I'm doing, but if I move the SDLGL.init call from a static initializer block to SdlGraphics' constructor, the problem goes away. I don't know if SdlGraphics' constructor runs too late for some other reason. Here's a PR for this if this seems like a good idea.

(History: Previous Mindustry-on-wayland work: Anuken/Mindustry#1393 )

Serialization error

Json#toJson throws StackOverflowException when serializing IntMap: after calling IntMap#entries, IntMap#keys or IntMap#values, a MapIterator is created and stored in IntMap, but the problem is that MapIterator has a reference to IntMap, and when serializing, it gets into an infinite loop.

I'll be glad if this gets fixed and thanks in advance.

fails on manjaro ARM64

on trying to run mindustry on hardware comparable to the pinebook pro i get this

[E] arc.util.ArcRuntimeException: Couldn't load shared library 'libarcarm64.so' for target: Linux, 64-bit at arc.util.SharedLibraryLoader.load(SharedLibraryLoader.java:84) at arc.util.ArcNativesLoader.load(ArcNativesLoader.java:14) at arc.backend.sdl.SdlApplication.init(SdlApplication.java:107) at arc.backend.sdl.SdlApplication.<init>(SdlApplication.java:35) at mindustry.desktop.DesktopLauncher.main(DesktopLauncher.java:39) Caused by: arc.util.ArcRuntimeException: Unable to read file for extraction: libarcarm64.so at arc.util.SharedLibraryLoader.readFile(SharedLibraryLoader.java:93) at arc.util.SharedLibraryLoader.loadFile(SharedLibraryLoader.java:253) at arc.util.SharedLibraryLoader.load(SharedLibraryLoader.java:81) ... 4 more

if this is a error with mindustry and not Arc (it says Arc.util.runtimeexception though ) pls tell me

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.