Pull Requests
Posted: Sat Jun 15, 2024 11:14 pm
In particular this is for submitting pull requests to the engine, but the process applies to any pull requests to github
Code: Select all
$ git clone --recurse-submodules https://github.com/<yourname>/OpenXTalkEngine.git
Code: Select all
$ git remote -v
Code: Select all
$ origin git@github.com:<yourname>/OpenXTalkEngine.git (fetch)
$ origin git@github.com:<yourname>/OpenXTalkEngine.git (push)
Code: Select all
$ git remote add origin git@github.com:<yourname>/OpenXTalkEngine.git
Code: Select all
$ git checkout develop
$ git checkout -b <nameofnewpatch>
Code: Select all
$ git checkout develop
$ git branch -d <nameofnewpatch>
Code: Select all
$ git add .
$ git commit -m "brief description"
$ git push
This is Xubuntu that was missing the libraries. (Nothing too exotic or niche).mwieder wrote: ↑Sun Jun 16, 2024 5:03 pm Tom - what linux distro are you developing on? I don't recall having to do anything special with the jpeg dev libraries, so maybe they were already in my linux Mint 20. I do see that I have the libjpeg-dev library installed (version 8c-2ubuntu8).
The cups libraries are to fix linux printing. I think adding the cups-common library will do the trick.
Hmmm... if cups isn't installed by default in some distros may have to think of a secondary approach.
Exactly. Many programs on Windows have their DLLs included in the same folder as the program for example. This is to avoid the situation where the user may have an older (or newer) version of the dll installed elsewhere in the system. They do this of course when they depend on a certain function in their DLL that might not exist in an old version - or have been cut from the newer dll. (Same thing with libs in Linux). Perhaps we could have the engine load all the libs it needs from a subdirectory, completely avoiding any 'dependency hell' on Linux - and probably solving the video / mplayer issues if we bundled a known-working good copy with it. Much like the appimage approach.
That would be excellent, and would no doubt go a long way to getting a working compile of the engine (on all platforms?) to be a reality. What I would love to see is gn or whatever is used, prompt the user for a build target platform when compiling. Perhaps with a list of choices: 1. x86-x64, 2. x86-x32, 3. AArch-x64 etc...mwieder wrote: ↑Fri Jun 21, 2024 3:34 pm As I've mentioned elsewhere I'd love to get rid of gyp in favor of gn or whatever to have a more modern build environment. I can see why google dumped gyp back in 2016. At least my build environment is on a ubuntu base, so we should be able to narrow this down a bit.
Just looking over my notes from a year ago. I findAlso some updated compilation instructions wouldn't go amiss on that github front page.
Code: Select all
+// NOTE: cups requires sudo apt install libcups2-dev on the build machine
It might well do. Some historical functions aren't included in python3, so some stuff relies on python 2 - but I also know some bits use python3 as well - so there's a bit of a mixture.mwieder wrote: ↑Sun Jun 23, 2024 2:33 am Just looking over my notes from a year ago. I findMy prebuilt submodule will download recent sources for libCurl, libOpenSSL, libICU, and libCEF rather than trying to download precompiled libraries from a mysterious unreachable runrev server.Code: Select all
+// NOTE: cups requires sudo apt install libcups2-dev on the build machine
Do note that I'm building locally with python 2.7, not python3. Don't know if that makes a difference.
Code: Select all
#include "jpeglib.h"
Code: Select all
git clone --recurse-submodules https://github.com/mwieder/OpenXTalkEngine.git
Code: Select all
Unable to locate package libesd0-dev
Turns out I have to build it from source, so...Package python2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Code: Select all
tar -xf '/home/user/Downloads/Python-2.7.18.tgz'
cd Python-2.7.18/
sudo apt install build-essential pkg-config \
libbz2-dev libffi-dev libgdbm-dev liblzma-dev \
libncurses5-dev libreadline6-dev libsqlite3-dev \
libssl-dev tk-dev uuid-dev zlib1g-dev
Code: Select all
./configure --enable-optimizations \
--enable-shared \
--enable-loadable-sqlite-extensions \
--prefix /usr/local \
LDFLAGS=-Wl,-rpath=/usr/local/lib
Code: Select all
make
Code: Select all
python
Code: Select all
LD_LIBRARY_PATH=. ./python
Code: Select all
make config-linux
travis_fold:start:config
CONFIGURE
./config.sh --platform linux-x86_64
/home/user/Desktop/OpenXTalkEngine/./config.py:278: SyntaxWarning: invalid escape sequence '\d'
sdk, ver = re.match('^([^\d]*)(\d*)', target_sdk).groups()
ERROR: Java SDK not found; set $JAVA_SDK
make: *** [Makefile:101: config-linux-x86_64] Error 1
Code: Select all
make config-linux
travis_fold:start:config
CONFIGURE
./config.sh --platform linux-x86_64
/home/user/Desktop/OpenXTalkEngine/./config.py:278: SyntaxWarning: invalid escape sequence '\d'
sdk, ver = re.match('^([^\d]*)(\d*)', target_sdk).groups()
Traceback (most recent call last):
File "/home/user/Desktop/OpenXTalkEngine/./config.py", line 855, in <module>
configure(sys.argv[1:])
File "/home/user/Desktop/OpenXTalkEngine/./config.py", line 834, in configure
configure_procs[opts['OS']](opts)
File "/home/user/Desktop/OpenXTalkEngine/./config.py", line 745, in configure_linux
validate_java_tools(opts)
File "/home/user/Desktop/OpenXTalkEngine/./config.py", line 373, in validate_java_tools
sdk = guess_java_home(opts['HOST_PLATFORM'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Desktop/OpenXTalkEngine/./config.py", line 353, in guess_java_home
javac_path.endswith(javac_str)):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: endswith first arg must be bytes or a tuple of bytes, not str
make: *** [Makefile:101: config-linux-x86_64] Error 1
Code: Select all
exec /usr/bin/python2.7 "${base}/config.py" "$@"
Code: Select all
sudo apt-get install libunistring-dev
Unfortunately, no joymwieder wrote: ↑Tue Jun 25, 2024 12:41 am From https://stackoverflow.com/questions/886 ... e-unistr-h this might workCode: Select all
sudo apt-get install libunistring-dev
Code: Select all
#include "unicode/unistr.h"
Code: Select all
#include "../../prebuilt/include/unicode/unistr.h"
Found #include "unicode/unistr.h" on line 22 of file "foundation-unicode.h"mwieder wrote: ↑Tue Jun 25, 2024 5:53 am OK - some path difference between our two machines.
Try changing the include line in libfoundation-unicode.h fromtoCode: Select all
#include "unicode/unistr.h"
Code: Select all
#include "../../prebuilt/include/unicode/unistr.h"
Code: Select all
origin git@github.com:mwieder/livecode-prebuilt.git (fetch)
origin git@github.com:mwieder/livecode-prebuilt.git (push)
Why stop at just submodules?
Sorry. (Whoosh)mwieder wrote: ↑Tue Jun 25, 2024 5:24 pm Check the "git remote -v" location
origin git@github.com:mwieder/livecode-prebuilt.git (fetch)
origin git@github.com:mwieder/livecode-prebuilt.git (push)
and try a git pull