Pull Requests

Forum rules
A place to discuss and plan OpenSource xTalk (not exclusively LCC based) and Community Builds of LCC
Ask NOT what xTalk can do for you... get involved you DO have something to contribute, no matter your skillset!

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Pull Requests

Re: Pull Requests

by tperry2x » Thu Jun 27, 2024 10:52 pm

Not sure at the moment, (whatever comes with xUbuntu 24 at the time of writing this). I'll try and check tomorrow evening. Many thanks

Re: Pull Requests

by mwieder » Thu Jun 27, 2024 6:53 pm

Interesting that you're seeing errors from cc1plus. That's the backend compiler to g++.
What version of g++ do you have installed? I'm using 10.5.0.

Re: Pull Requests

by tperry2x » Wed Jun 26, 2024 7:00 pm

Thank you for the file link you sent me. As promised, I downloaded it and tried it out this evening.
I'm running into the following errors. (hard to grab as they scroll past so fast, and there's only so much scrollback available).
c.png
c.png (30.69 KiB) Viewed 4556 times
b.png
b.png (13.09 KiB) Viewed 4556 times
a.png
a.png (12.58 KiB) Viewed 4556 times
d.png
d.png (51.77 KiB) Viewed 4556 times

Re: Pull Requests

by mwieder » Wed Jun 26, 2024 1:14 am

Meanwhile, to make life with git easier, do these two things. I can no longer imagine git work without them:

1. install git-aware-terminal through npm. This will give you a nice color display of the current branch and status. (I had to upgrade my older node and npm first).
https://www.npmjs.com/package/git-aware-terminal

2. install git-completion-bash from https://github.com/git/git/blob/master/ ... etion.bash
just that one file. Mine is saved in my home directory as .git-completion-bash.
Then add the following to your .bashrc file

Code: Select all

if [ -f ~/.git-completion.bash ]; then
    . ~/.git-completion.bash
fi
This will give you shortcut aliases for git commands and type-ahead for completion.

Execute this command in a terminal window:

Code: Select all

source ~/.bash_profile
Then open a new terminal prompt and navigate to the livecode directory.

Re: Pull Requests

by mwieder » Wed Jun 26, 2024 12:59 am

Yeah. I haven't been able to upgrade the CEF library past version 74. Since it doesn't work on linux anyway I'm not too concerned. :roll: Someday we'll figure out a good replacement library. I see LC is moving away from it on OSX and Windows anyway.

Re: Pull Requests

by tperry2x » Tue Jun 25, 2024 8:44 pm

One last go, and compiling is still very broken:
next-error.png
next-error.png (39.13 KiB) Viewed 4595 times
Now seems I'm missing "grammar_full.c" which then spawns other errors. :|

Also worth mentioning probably. While it was trying (and failing) to compile - I grabbed this screenshot.
Chromium is used for the CEF browser engine, but Chromium 74 was released early 2019.
how-old.png
how-old.png (36.1 KiB) Viewed 4576 times

Re: Pull Requests

by tperry2x » Tue Jun 25, 2024 6:35 pm

Don't worry about it, just look at dskmac.cpp in that archive, and all my changes have the word tperry next to them.

Re: Pull Requests

by tperry2x » Tue Jun 25, 2024 6:26 pm

Anyway, the point of me wanting to edit bits is to try out a compile, to see if I can fix the MacOS systemversion function, and also any other annoying bugs that are embedded in-engine.
I think this would fix it (untested of course), but needless to say - the mac recompile would also be a separate issue altogether.
I'll pin this here for a possible MacOS systemversion fix. Can you add it to your git code as a possible fix?
mwieder wrote: Tue Jun 25, 2024 5:42 pm git/github etc is the way to submit changes, especially if there's more than one person working on a system of files.
If you love git or understand it, that is.
mwieder wrote: Tue Jun 25, 2024 5:42 pm We can be making changes simultaneously and then merging the changes is mostly a matter of accepting pull requests
I don't understand 'pull requests'. WTAF, but it's like someone has placed a brick wall in front of me. I've tried and tried to get my head around it, but I'm sorry - I just don't get it.

It feels like a solution for a non-existent problem.
I like the old-fashioned, old-skool way:
"Here's the source. Download it. Make a note of what you changed as you change it. Tell me the line numbers and the file path.... test, verify... done. Here's my changed file..."
mwieder wrote: Tue Jun 25, 2024 5:42 pm no more having to go line-by-line through the code figuring out what's changed.
That's what I prefer, to edit the code directly on the computer - as I know what lines i changed.
mwieder wrote: Tue Jun 25, 2024 5:42 pm Stick with it. You'll thank me later.
Hahahaha, I really won't :lol:
systemversion mac edit.7z
(38.59 KiB) Downloaded 106 times

Re: Pull Requests

by mwieder » Tue Jun 25, 2024 5:42 pm

The thing about "not having to deal with git" is that git/github etc is the way to submit changes, especially if there's more than one person working on a system of files.

We can be making changes simultaneously and then merging the changes is mostly a matter of accepting pull requests, no more having to go line-by-line through the code figuring out what's changed.

Stick with it. You'll thank me later.

Re: Pull Requests

by mwieder » Tue Jun 25, 2024 5:39 pm

I just mangled some things and pushed the repo again.
If you pull the main repo from github you should be good to go.

Re: Pull Requests

by tperry2x » Tue Jun 25, 2024 5:35 pm

mwieder wrote: Tue Jun 25, 2024 5:24 pm I HATE GIT SUBMODULES!
Why stop at just submodules?
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
Sorry. (Whoosh)
That's the sound of that disappearing right over my head! :lol:
Was just about to comment and confirm I don't have those directories.
Can you not send me a dropbox / mega link with everything in - possibly z7'd straight from your computer instead?
I'll provide you a location you can upload it to if you'd like - anything to not have to deal with git.
no unistr.h.png
no unistr.h.png (33.14 KiB) Viewed 3285 times
just-these.png
just-these.png (41.51 KiB) Viewed 3285 times

Re: Pull Requests

by mwieder » Tue Jun 25, 2024 5:24 pm

I HATE GIT SUBMODULES!

So... somehow the prebuilt directory got unhooked from the prebuilt submodule. The reason you're getting 'no such file' is because some subdirectories (esp. "includes") are missing from the main directory. The actual prebuilt directory is on github at
https://github.com/mwieder/livecode-prebuilt . My attempts at gluing the submodule back in place of the 'fake' on in the main structure haven't been successful in the past.

In which case

try navigating to the livecode/prebuilt subdirectory. Check the "git remote -v" location and make sure it's

Code: Select all

origin	git@github.com:mwieder/livecode-prebuilt.git (fetch)
origin	git@github.com:mwieder/livecode-prebuilt.git (push)
and try a git pull. If you're lucky that will solve the immediate problem.
If not you'll have to try forcing the pull.

and I'll have to see about gluing the submodule pointer in place.

Re: Pull Requests

by tperry2x » Tue Jun 25, 2024 4:19 pm

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 from

Code: Select all

#include "unicode/unistr.h"
to

Code: Select all

#include "../../prebuilt/include/unicode/unistr.h"
Found #include "unicode/unistr.h" on line 22 of file "foundation-unicode.h"
Changed as below:
edit.png
edit.png (176.28 KiB) Viewed 3295 times
Same error, different path:
error-persists.png
error-persists.png (68.71 KiB) Viewed 3295 times
I will try and chase down a solution on this later, so it can locate "unistr.h"
Real life is unfortunately calling again.

Re: Pull Requests

by mwieder » Tue Jun 25, 2024 5:53 am

OK - some path difference between our two machines.
Try changing the include line in libfoundation-unicode.h from

Code: Select all

#include "unicode/unistr.h"
to

Code: Select all

#include "../../prebuilt/include/unicode/unistr.h"

Re: Pull Requests

by tperry2x » Tue Jun 25, 2024 5:20 am

mwieder wrote: Tue Jun 25, 2024 12:41 am From https://stackoverflow.com/questions/886 ... e-unistr-h this might work

Code: Select all

sudo apt-get install libunistring-dev
Unfortunately, no joy :?
libunistring.png
libunistring.png (113.56 KiB) Viewed 3313 times

Re: Pull Requests

by mwieder » Tue Jun 25, 2024 12:41 am

Hopefully java won't get you into trouble. I use OpenJDK instead and installing it sets the CLASSPATH and the LD_LIBRARY_PATH.

I have the unicode headers in /usr/include/unicode. I don't remember doing anything special to install it.
It's not in my PATH statement, but I see that config.py references /usr/include.

Update edit:

From https://stackoverflow.com/questions/886 ... e-unistr-h this might work

Code: Select all

sudo apt-get install libunistring-dev

Re: Pull Requests

by tperry2x » Mon Jun 24, 2024 8:59 pm

...currently compiling...
So far, my changes are:
config.h
line 4:

Code: Select all

exec /usr/bin/python2.7 "${base}/config.py" "$@"
We now get a bit further along, but compilation is terminated due to multiple fatal errors.
Too many to post here, so I've attached a text file of the output.
errors.7z
(921 Bytes) Downloaded 88 times
Screenshot_2024-06-24_22-21-17.png
Screenshot_2024-06-24_22-21-17.png (161.65 KiB) Viewed 3340 times

Re: Pull Requests

by tperry2x » Mon Jun 24, 2024 6:38 pm

Just trying again on a fresh Install of XUbuntu 24
Using your github Repo this time to compile, Mark:

Code: Select all

git clone --recurse-submodules https://github.com/mwieder/OpenXTalkEngine.git
All going well so far, but then I ran into a problem.
libesd0-dev

Code: Select all

Unable to locate package libesd0-dev
https://askubuntu.com/questions/1082722 ... untu-18-04
So, I'm currently seeing if I can add Repos from Xenial, then will retry...

Edit: after switching my sources list over to xenial, I could download libesd0-dev, then revert the sources.list back to 'Noble Numbat'

I also had to turn on "noble noble-updates noble-backports" to get Python2 as it's now depreciated too.
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
Turns out I have to build it from source, so...

Download:
https://www.python.org/ftp/python/2.7.1 ... 2.7.18.tgz

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
then...

Code: Select all

./configure --enable-optimizations \
              --enable-shared \
              --enable-loadable-sqlite-extensions \
              --prefix /usr/local \
              LDFLAGS=-Wl,-rpath=/usr/local/lib
then...

Code: Select all

make
then (run Python)...

Code: Select all

python
Now set the environment variable from within Python:

Code: Select all

LD_LIBRARY_PATH=. ./python
So, now I have Python2.7 installed, I run into my next issue:

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
...so, now off to install and setup a Java SDK (another 312MB download)...

After that, we hit another hurdle (and come to a stop)

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

Re: Pull Requests

by mwieder » Sun Jun 23, 2024 3:38 pm

hmmm...

jpeglib.h is in thirdparty/libjpeg/src. Do you know where your error is being generated? Sounds like possibly a path problem?
The only place I see jpeglib.h referenced outside of the jpeg thirdparty library is in generating libskia, where it's just

Code: Select all

#include "jpeglib.h"
So the libskia files are expecting that to be somewhere in your path. I find I have it in /usr/include/jpeglib.h and I see I have the libjpeg-dev package installed. So an apt install of that might solve the problem.


And yes, the build process has lots of warnings... I've been dealing with them piecemeal... mostly harmless, just annoying.

Re: Pull Requests

by tperry2x » Sun Jun 23, 2024 7:48 am

mwieder wrote: Sun Jun 23, 2024 2:33 am Just looking over my notes from a year ago. I find

Code: Select all

+// NOTE: cups requires sudo apt install libcups2-dev on the build machine
My 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.
Do note that I'm building locally with python 2.7, not python3. Don't know if that makes a difference.
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.
Thanks for the pointers on cups. I also have jpeglib.h errors, - seems like both aren't included in the engine's repo.

On MacOS - are we still of the opinion that a MacOS 11 machine should be used? What is the best version of xCode to try it with?
In Windows, I can get it to compile, yet it runs incredibly slowly. There are lots of null pointer errors (same as what has been indicated as being an issue on MacOS with menus, and lots of advisory notes that certain functions are depreciated and have been replaced) -- seemingly the code in the engine is lagging behind the way of doing things in Visual Studio 2017 (???)

I'm sure which versions of both xCode and Visual Studio are used to compile the engine matter.
The fact that Linux uses a standard makefile is probably the only reason I've had success with it - because there's not another layer of interference by an IDE thrown into the mix. (But that's just speculation).

Top