orxcrypt on linux working?

edited January 2015 in General discussions
Is anyone able to execute orxcrypt on a linux system? I'm running 32 bit Fedora.

The error is:
./orxcrypt: error while loading shared libraries: liborxd.so: cannot open shared object file: No such file or directory

It's been this way for a while. I notice the liborxd.so is sitting in the same folder but orxcrypt still can't locate it.

If I compile orx, the liborxd.so is a slightly different size, so I tried copying that in, but get the same error. So seems like orxcrypt doesn't try checking the current folder for the lib?

I can also build orxcrypt from source with gmake, but still won't execute. Same error.

I can work around this by doing my orxcrypt stuff on windows or macosx (works ok on those) and then copying over my encrypted config.

But I'd like it to be working.

Comments

  • edited January 2015
    Mmh, weird, the precompiled one that comes with the release packages should be linked with a static version of orx, not a dynamic one.
    I'll test it right away.

    As for the dynamic library not found, it's because you either need to make sure liborx*.so is in your LD_LIBRARY_PATH (or whatever the real name is) or specifically specify that you want to search in the same folder at link time. The flag for this is:
    -Wl,-rpath .
    
  • edited January 2015
    Ah my mistake, I had tested by copying in a dynamic version. But still no go but I'll try to compiler flag to fix.
  • edited January 2015
    iarwain wrote:
    -Wl,-rpath .
    

    That works!!

    Thanks, Iarwain.
  • edited January 2015
    Another option is to launch it like this (can be added to a script):
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. exec ./orxcrypt
    

    I just tested the static version using the latest/default on linux32 and it worked fine for me. The steps:
    - going to code/build
    - calling premake4 gmake
    - going to ./linux/gmake
    - calling make config=static_release32
    - going to tools/orxCrypt/build
    - calling premake4 gmake
    - going to ./linux/gmake
    - calling make config=release
    - going to tools/orxCrypt/bin
    - calling ./orxcrypt
    ->
    [20:39:54] [LOG] [PROCESS] No files loaded, can't process
    
  • edited January 2015
    Cool no worries.

    I wouldn't have thought to have done this line:


    make config=static_release32

    I would have just done something that was listed in the Makefile like:

    make config=release32

    I checked the Makefile for clues on what config to use but no mention in there of the static_release32 being an option.

    Just wondering if it's obvious enough for young punters like myself to know to specify static_release32 or if it should be added into the list inside the Makefile?
  • edited January 2015
    Mmh, weird, what I get inside the makefile is mostly about the available targets. that gets printed out when called: make help

    Here's the relevant content:
    help:
    	@echo "Usage: make [config=name] [target]"
    	@echo "none"
    	@echo "CONFIGURATIONS:"
    	@echo "   embedded_dynamic_debug32"
    	@echo "   embedded_dynamic_profile32"
    	@echo "   embedded_dynamic_release32"
    	@echo "   embedded_static_debug32"
    	@echo "   embedded_static_profile32"
    	@echo "   embedded_static_release32"
    	@echo "   dynamic_debug32"
    	@echo "   dynamic_profile32"
    	@echo "   dynamic_release32"
    	@echo "   static_debug32"
    	@echo "   static_profile32"
    	@echo "   static_release32"
    	@echo "   embedded_dynamic_debug64"
    	@echo "   embedded_dynamic_profile64"
    	@echo "   embedded_dynamic_release64"
    	@echo "   embedded_static_debug64"
    	@echo "   embedded_static_profile64"
    	@echo "   embedded_static_release64"
    	@echo "   dynamic_debug64"
    	@echo "   dynamic_profile64"
    	@echo "   dynamic_release64"
    	@echo "   static_debug64"
    	@echo "   static_profile64"
    	@echo "   static_release64"
    	@echo "none"
    	@echo "TARGETS:"
    	@echo "   all (default)"
    	@echo "   clean"
    	@echo "   orx"
    	@echo "   orxLIB"
    	@echo "   Bounce"
    	@echo "none"
    	@echo "For more information, see http://industriousone.com/premake/quick-start"
    
  • edited January 2015
    Oh.


    I did a hg pull and hg update beforehand.

    I've done something wrong then, I must be behind.
  • edited January 2015
    Hmmm so I checked the bitbucket version of linux/gmake orxcrypt:

    https://bitbucket.org/orx/orx/src/f6b46c2dab21a6ad207994ef7c918c7996ac7fff/tools/orxCrypt/build/linux/gmake/Makefile?at=default

    And it's short like mine. So I tried deleting and pre-making the gmake version from scratch. Still a short version of the Makefile.

    Finally as you suggested, if I do "make help" in the /orx/tools/orxCrypt/build/linux/gmake folder I get the following output:
    Usage: make [config=name] [target]
    
    CONFIGURATIONS:
       debug32
       profile32
       release32
       debug64
       profile64
       release64
    
    TARGETS:
       all (default)
       clean
       orxCrypt
    


    Not sure why mine's different. My problem is solved now, but I'd like to sort out if some people like me might have something different in their setup that they might need to check.
  • edited January 2015
    Oh wait... You and I are targeting different projects.

    That output you have is on a gmake of orx at:

    /orx/orx/code/build/linux/gmake

    Because I was targeting:

    /orx/tools/orxCrypt/build/linux/gmake

    When I wanted to build just the orxCrypt, and there is a supplied premake script for it, and there is an existing liborxd.so library in the bin folder, I just assumed I could make the binary with one of the config options mentioned in that "menu help" and it would run ok.
  • edited January 2015
    Yep we were talking about two different things. :)

    The tools have been setup to be built with the static version of orx, without any plugin (ie. no potential LGPL issue). And it's always easier to only have one single file to copy instead of two. ;)
Sign In or Register to comment.