Changes between Initial Version and Version 3 of Ticket #2086


Ignore:
Timestamp:
Sep 2, 2013, 9:27:09 PM (11 years ago)
Author:
leper
Comment:

There are actually two issues here:

  • You should use the 0ad.sh shell script in build/resources/ instead of calling the engine directly.
  • The other issue is the code failing to get the path of the executable (sys_ExecutablePathname() in at least source/lib/sysdep/os/{linux/linux.cpp,bsd/bsd.cpp} (see the comment near the end)) which is already bogus in packages which should just use INSTALLED_BINDIR to get the proper path.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2086

    • Property Keywords simple added
    • Property Priority Should HaveNice to Have
    • Property Summary Path detection on OpenBSDPath detection failing
  • Ticket #2086 – Description

    initial v3  
     1Calling pyrogenesis (instead of some path (be it relative or absolute) without being in the right dir) fails with the following error on Linux and BSD.
    12{{{
    23$ pyrogenesis
     
    2829
    2930However, if I'm in the same directory as the executable (e.g., with "cd /usr/local/bin && pyrogenesis"), it works perfectly.
     31
     32This issue is twofold:
     33 1. We don't use `INSTALLED_BINDIR` in [source:ps/trunk/source/ps/GameSetup/Paths.cpp#L156 Paths.cpp] `Paths::Root()`
     34 2. We should get the proper path of the executable if we are started like above (some ways on how to do that for Linux and some BSD variants [http://stackoverflow.com/questions/1023306/finding-current-executables-path-without-proc-self-exe/1024937#1024937 at stackoverflow])
     35    sys_ExecutablePathname() in [source:ps/trunk/source/lib/sysdep/os/ source/lib/sysdep/os/]{linux/linux.cpp,bsd/bsd.cpp}