Comments (14)
Using ls -l
returns:
-rwxr-xr-x 1 marin marin 22788256 9 20:39 mkxp.x86_64
The prebuilt mkxp.amd64 and mkxp.x86 both have -rwxrwx---
.
Notable is also that the file type is "Unknown" as opposed to "Program", and that it doesn't have a thumbnail in the file explorer.
from mkxp.
I realize it's been forever, but thanks to @Marin-MK for tracking this down and debugging it. I've updated the guide with your notes.
from mkxp.
General question is why do you link ruby statically and not dynamically like the rest?
This way you either need to build ruby without dlopen
capability, or add -ldl
to the linker.
from mkxp.
I'm completely in the dark without a guide, and the guide author says he had trouble with doing it dynamically. Since I don't even know how that works, I'm just following the guide I linked.
Could you either tell me where I should add -ldl
to the linker, or how to build Ruby dynamically (and how to then include it mkxp or whatever)? Thanks for you help.
from mkxp.
For a quick fix, you can add it like you added the static ruby library (just add another line with -ldl
in CMakeLists.txt
after it).
Also, can you upload your CMakeCache.txt
? Just drag/drop it into the editor field here, it will be uploaded.
from mkxp.
from mkxp.
I'm now getting a different error:
/usr/bin/ld: /usr/local/lib/libruby-static.a(thread.o): undefined reference to symbol 'pthread_setname_np@@GLIBC_2.12'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/mkxp.dir/build.make:1766: recipe for target 'mkxp.bin.x86_64' failed
make[2]: *** [mkxp.bin.x86_64] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/mkxp.dir/all' failed
make[1]: *** [CMakeFiles/mkxp.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
New CMakeCache: CMakeCache.txt
Bottom of my CMakeLists.txt:
target_link_libraries(${PROJECT_NAME}
${SIGCXX_LIBRARIES}
${SDL2_LIBRARIES}
${SDL2_IMAGE_LIBRARIES}
${SDL2_TTF_LIBRARIES}
${SDL_SOUND_LIBRARIES}
${PHYSFS_LIBRARIES}
${PIXMAN_LIBRARIES}
${Boost_LIBRARIES}
${MRI_LIBRARIES}
${VORBISFILE_LIBRARIES}
${FLUID_LIBRARIES}
${OPENAL_LIBRARY}
${ZLIB_LIBRARY}
${PLATFORM_LIBRARIES}
/usr/local/lib/libruby-static.a
-ldl
)
PostBuildMacBundle(${PROJECT_NAME} "" "${PLATFORM_COPY_LIBS}")
from mkxp.
from mkxp.
Well this does only matter, because of manually adding the static library.
The pkg-config file has them included.
from mkxp.
Added -lpthread
underneath -ldl
and it raises yet another error.
/usr/bin/ld: /usr/local/lib/libruby-static.a(thread.o): undefined reference to symbol 'timer_settime@@GLIBC_2.3.3'
//lib/x86_64-linux-gnu/librt.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/mkxp.dir/build.make:1766: recipe for target 'mkxp.bin.x86_64' failed
make[2]: *** [mkxp.bin.x86_64] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/mkxp.dir/all' failed
make[1]: *** [CMakeFiles/mkxp.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
I clearly don't know what I'm doing anymore, so could someone explain how to dynamically link Ruby instead of statically? And then any differences with compiling mkxp with ruby statically and dynamically. That'd be very much appreciated.
from mkxp.
@Marin-MK The manpages tell me timer_settime
requires -lrt
. You could alternatively try using the dependency kit as described in the Readme, if you're just trying to hack on mkxp.
from mkxp.
I basicly tried the same thing as @Marin-MK but i only could get it to work with Ruby v2.2.x - v2.5.x (i tried v2.1.x, v2.2.x, v2.3.x, v2.4.x, v2.5.x and v2.6.x)
But even then, i still encountered a strange problem, as you can see here --> #217
If i finally get it to work, i plan on making something like a docker container, which should make compiling much easier.
from mkxp.
@Marin-MK The manpages tell me
timer_settime
requires-lrt
. You could alternatively try using the dependency kit as described in the Readme, if you're just trying to hack on mkxp.
My main goal is to slightly alter mkxp's source code. For that I wanted to use the hack at first, but I couldn't get it to work either. That's why I tried compiling it from source.
Having added -lrt
, -lgmp
, and -lcrypt
, it's now fully compiled and it looks like it works perfectly!
Only thing is that it keeps asking me how to run the file as you can see.
I did check the "Allow to execute this file" checkbox in Permissions, and I also tried via the command line with sudo chmod +x ./mkxpa.x86_64
. Any idea how I can get rid of that?
from mkxp.
Any idea how I can get rid of that?
No clue; seems like it's related to the executable bit. You can check with ls -l
if it's properly set.
My main goal is to slightly alter mkxp's source code.
That's precisely why I made the depkit for..
from mkxp.
Related Issues (20)
- Fluidsynth-related compilation error on Arch Linux HOT 2
- Search for mkxp.conf in more paths HOT 3
- Some (maybe) helpful font size stuff!
- High-level RPG Maker MV emulation support aka "mkmv" HOT 5
- Error "The RGSS script seems to be stuck and mkxp will now quit." HOT 6
- Fonts are completely broken HOT 1
- How compile? and another dunno HOT 2
- incorrect serialization of multi-dimensional tables if {y,z}size <= 1
- BGM should not be played before ME when calling me_play and bgm_play together
- Expect retrieved value to be the same as assigned value HOT 3
- Error 'Script 'fuyllscreen' line 14: NameError occureduninitialized constant Module::Win32API' HOT 2
- Video reproduction implementation missing. HOT 5
- Best Way to Detect if Running mkxp? HOT 1
- Does mkxp recognize multiple RTPs? HOT 2
- openReadEnumCB just gives up if a closely matching filename is found
- pathCache search keeps searching even after file is found
- Window content won't draw outside of a 640x480 region HOT 2
- Sound system initialization should not be compulsory
- Error With PKGConfig and CMake HOT 1
- Sudden crash : Script 'Zeus Map Effects' - line 85: No MethodError occured. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mkxp.