narrowtux / SmartModInserter

Manages mods for factorio
GNU Lesser General Public License v3.0
38 stars 12 forks source link

Linux - Won't start due to missing required directories #9

Open jpts opened 8 years ago

jpts commented 8 years ago

The application wont initially run due to missing directories...

Exception in main thread: ~/.factorio/fmm is not a directory.
java.nio.file.NoSuchFileException: ~/.factorio/fmm
    at sun.nio.fs.UnixException.translateToIOException(Unknown Source)
    at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.UnixFileSystemProvider.createDirectory(Unknown Source)
    at java.nio.file.Files.createDirectory(Unknown Source)
    at com.narrowtux.fmm.FactorioModManagerApplication.continueStartup(FactorioModManagerApplication.java:141)
    at com.narrowtux.fmm.FactorioModManagerApplication.start(FactorioModManagerApplication.java:121)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Exception in Application start method

Also

java.nio.file.NoSuchFileException: ~/.factorio/saves
    at sun.nio.fs.UnixException.translateToIOException(Unknown Source)
    at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(Unknown Source)
    at sun.nio.fs.UnixFileSystemProvider.readAttributes(Unknown Source)
    at sun.nio.fs.LinuxFileSystemProvider.readAttributes(Unknown Source)
    at java.nio.file.Files.readAttributes(Unknown Source)
    at java.nio.file.FileTreeWalker.getAttributes(Unknown Source)
    at java.nio.file.FileTreeWalker.visit(Unknown Source)
    at java.nio.file.FileTreeWalker.walk(Unknown Source)
    at java.nio.file.FileTreeIterator.<init>(Unknown Source)
    at java.nio.file.Files.walk(Unknown Source)
    at java.nio.file.Files.walk(Unknown Source)
    at com.narrowtux.fmm.model.Datastore$2.call(Datastore.java:104)
    at com.narrowtux.fmm.model.Datastore$2.call(Datastore.java:79)
    at javafx.concurrent.Task$TaskCallable.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at com.narrowtux.fmm.io.tasks.TaskService.lambda$null$78(TaskService.java:38)
    at java.lang.Thread.run(Unknown Source)
java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

This is using the version compiled from f3c63893ad41eadc0e12179c43a23012a36003e0

I worked around this by temporarily creating the directories and then changing the settings once the program had loaded.

PS: Many thanks for your work on making this work on linux. Much appreciated :)