Pages: [1]
  Print  
Author Topic: Can't get ENIGMA to run on 64-bit Arch Linux  (Read 478 times)
Offline (Unknown gender) jerbear64
Posted on: July 07, 2016, 08:27:27 PM
Member
Joined: Apr 2015
Posts: 12

View Profile Email
I'm having trouble getting ENIGMA running on my 64 bit Arch setup. I have tried both the AUR package, as well as compiling manually.

The issue that crops up is
Code: [Select]
Operating System: Linux
Version: 4.6.3-1-ARCH
Architecture: amd64

Java Name: OpenJDK 64-Bit Server VM
Java Vendor: Oracle Corporation
Version: 1.8.0_92

Available processors (cores): 8
Free memory (bytes): 93383392
Maximum memory (bytes): 3267887104
Total memory available to JVM (bytes): 148373504

File system root: /
Total space (bytes): 984373075968
Free space (bytes): 730944118784
Usable space (bytes): 680917188608

Stack trace:

java.lang.UnsatisfiedLinkError: Unable to load library 'compileEGMf': Native library (linux-x86-64/libcompileEGMf.so) not found in resource path ([file:/opt/enigma-dev-git/plugins/enigma.jar])
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:271)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)
at com.sun.jna.Library$Handler.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:412)
at com.sun.jna.Native.loadLibrary(Native.java:391)
at org.enigma.EnigmaRunner.attemptLib(EnigmaRunner.java:247)
at org.enigma.EnigmaRunner.access$1(EnigmaRunner.java:240)
at org.enigma.EnigmaRunner$3.run(EnigmaRunner.java:178)
When this error happens, I am still able to navigate LateralGM, however all ENIGMA related functions are greyed out. I can't export anything, nor can I run or debug the project.

I read the issue may be because I am on a 64-bit system, so I tried again- recompiling libcompileEGMf for 32 bit using -m32 flags in the makefile, and using a 32 bit version of Java. However, this setup just outright crashes.
Here's the relevant part of the message:
Code: [Select]
Creating swap.
Dumping whiteSpace definitions...
Opening ENIGMA for parse...
Unimplemented: '::'terminate called after throwing an instance of 'std::length_error'
  what():  basic_string::_M_create
Aborted (core dumped)

I have read the troubleshooting page on the wiki about this issue, but it didn't seem to help.
What should I do in this case?
Logged
Offline (Unknown gender) faissaloo
Reply #1 Posted on: July 08, 2016, 05:28:14 AM

Member
Joined: Jan 2013
Posts: 72

View Profile Email
Recompile libcompileEGMf but do:
Code: [Select]
make cleanfirst
« Last Edit: July 08, 2016, 05:30:17 AM by faissaloo » Logged
Offline (Unknown gender) jerbear64
Reply #2 Posted on: July 08, 2016, 08:26:00 PM
Member
Joined: Apr 2015
Posts: 12

View Profile Email
Actually, that's what I've been doing.

Code: [Select]
make clean was run before recompiling in all of my attempts.
Logged
Offline (Male) Josh @ Dreamland
Reply #3 Posted on: July 10, 2016, 12:38:00 AM

Prince of all Goldfish
Developer
Location: Ohio, United States
Joined: Feb 2008
Posts: 2953

View Profile Email
That 32-bit error sounds problematic... Arch has a set of C++ headers that don't agree with ENIGMA's parser. Try the fix posted here for a similar parse crash. It's been working for people with updated headers. It's a dirty hack, but it seems necessary for the time being.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Unknown gender) jerbear64
Reply #4 Posted on: July 10, 2016, 07:05:59 AM
Member
Joined: Apr 2015
Posts: 12

View Profile Email
Added that to SHELLmain.cpp. I may just be stupid, but after trying to use the makefile that's in the same directory as SHELLmain, I'm greeted with this error:

Code: [Select]
cc1: error: to generate dependencies you must specify either -M or -MM
SHELLmain.cpp:59:58: fatal error: Preprocessor_Environment_Editable/LIBINCLUDE.h: No such file or directory
 #include "Preprocessor_Environment_Editable/LIBINCLUDE.h"

Additionally, LateralGM now sigsegv's with:

Code: [Select]
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x9cf09006, pid=23726, tid=2672147264
#
# JRE version: Java(TM) SE Runtime Environment (8.0_91-b14) (build 1.8.0_91-b14)
# Java VM: Java HotSpot(TM) Server VM (25.91-b14 mixed mode linux-x86 )
# Problematic frame:
# C  [libcompileEGMf.so+0x149006]  jdip::read_qualified_definition(jdi::lexer*, jdi::definition_scope*, jdip::token_t&, jdip::context_parser*, jdi::error_handler*)+0xb5

At least it seems to have gotten farther.

I also tried compiling with the makefile in the root ENIGMA directory, as well as recompiling libcompileEGF.so. Both of those succeed, but do nothing to alleviate the crash.
« Last Edit: July 10, 2016, 07:14:28 AM by jerbear64 » Logged
Offline (Male) time-killer-games
Reply #5 Posted on: July 11, 2016, 05:55:29 PM

Member
Location: Virginia Beach
Joined: Jan 2013
Posts: 1064

View Profile WWW Email
I find if LGM wasn't written in java we wouldn't be where we are today. ENIGMA would be much better as well, as most users rely on LGM and not the CLI. Seeing all these topics with error reports reminds of this every time I visit here. I won't say much else since I'm being off topic.
« Last Edit: July 11, 2016, 05:57:49 PM by time-killer-games » Logged
Pages: [1]
  Print