[Ohrrpgce] Android build

2022-08-19 Thread James Paige via Ohrrpgce
The android build VM was broken, but after I fixed it, looks like it is
still having trouble compiling recently nightlyies

ni/../jni/application/ohrrpgce/tmp//os_unix.c: In function 'dylib_noload':
jni/../jni/application/ohrrpgce/tmp//os_unix.c:237:42: error: 'RTLD_NOLOAD'
undeclared (first use in this function)
  void *ret = dlopen(libname, RTLD_LAZY | RTLD_NOLOAD);
  ^
jni/../jni/application/ohrrpgce/tmp//os_unix.c:237:42: note: each
undeclared identifier is reported only once for each function it appears in
/home/james/misc/android-ndk-r12b/build/core/build-binary.mk:472: recipe
for target
'obj/local/armeabi/objs-debug/application/ohrrpgce/tmp//os_unix.o' failed
make: ***
[obj/local/armeabi/objs-debug/application/ohrrpgce/tmp//os_unix.o] Error 1
Failed to build Android apk for arch 32
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


[Ohrrpgce] Android build breakage

2017-09-25 Thread James Paige
It looks like one of the Surface related changes yesterday broke the
Android build.

My attempts to copy-paste the relevant error on my phone were met with
frustration ;P

See the cron mail
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


[Ohrrpgce] Android build problem

2019-03-10 Thread James Paige
For the past week the Android build has been broken as a consequence of me
finally checking in the change to increase minSdkVersion without alos
installing the needed SDK package on the nightly build machine.

However, when I went to fix that today I realized there is a new build
failure on Android that happens first:

jni/../jni/application/ohrrpgce/tmp/surface.cpp: In function 'int
gfx_surfaceCreatePixelsView_SW(void*, int, int, int, SurfaceFormat,
Surface**)':
jni/../jni/application/ohrrpgce/tmp/surface.cpp:99:2: sorry, unimplemented:
non-trivial designated initializers not supported
make: *** [obj/local/armeabi/objs-debug/application/ohrrpgce/tmp/surface.o]
Error 1
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


[Ohrrpgce] Android build broken

2021-10-30 Thread James Paige
Oh! I just noticed that the android build is broken. it fails with:

jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:702: error: undefined
reference to 'embedded_files_table'
collect2: error: ld returned 1 exit status
/home/james/misc/android-ndk-r12b/build/core/build-binary.mk:677: recipe
for target 'obj/local/armeabi/libapplication.so' failed
make: *** [obj/local/armeabi/libapplication.so] Error 1
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] Android build

2022-08-19 Thread Ralph Versteegen via Ohrrpgce
I found RTLD_NOLOAD in the headers for android-21 (Android 5.0) but not
android-19, but I guess it's not available because of our low
minSdkVersion. Anyway, it's not needed at all on Android so I got rid of it
there.

While that fixed the Android libapplication.so compile, I'm not actually
able to produce an .apk for testing. I got an error that android-30 isn't
supported by my SDK. I tried going back to a previous commit where we used
android-29 and got a javac error that java 1.5 isn't supported anymore.
Guess I need to upgrade.

On Sat, 20 Aug 2022 at 01:15, James Paige via Ohrrpgce <
ohrrpgce@lists.motherhamster.org> wrote:

> The android build VM was broken, but after I fixed it, looks like it is
> still having trouble compiling recently nightlyies
>
> ni/../jni/application/ohrrpgce/tmp//os_unix.c: In function 'dylib_noload':
> jni/../jni/application/ohrrpgce/tmp//os_unix.c:237:42: error:
> 'RTLD_NOLOAD' undeclared (first use in this function)
>   void *ret = dlopen(libname, RTLD_LAZY | RTLD_NOLOAD);
>   ^
> jni/../jni/application/ohrrpgce/tmp//os_unix.c:237:42: note: each
> undeclared identifier is reported only once for each function it appears in
> /home/james/misc/android-ndk-r12b/build/core/build-binary.mk:472: recipe
> for target
> 'obj/local/armeabi/objs-debug/application/ohrrpgce/tmp//os_unix.o' failed
> make: ***
> [obj/local/armeabi/objs-debug/application/ohrrpgce/tmp//os_unix.o] Error 1
> Failed to build Android apk for arch 32
> ___
> Ohrrpgce mailing list
> ohrrpgce@lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


[Ohrrpgce] android build machine

2023-12-15 Thread James Paige via Ohrrpgce
I forgot to mention, the android builds have been broken for a while (Since
October 27)

I haven't had time to narrow it down to the exact revision yet, but I'll
work on it when I have time.
I also want to work on the Android 12 fix, (I know what to do) and the .aab
format (Don't know what to do yet, but I'll figure it out eventually)

---
James
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] Android build breakage

2017-09-25 Thread Ralph Versteegen
On 26 September 2017 at 01:31, James Paige  wrote:

> It looks like one of the Surface related changes yesterday broke the
> Android build.
>
> My attempts to copy-paste the relevant error on my phone were met with
> frustration ;P
>
> See the cron mail
>

Odd, seems to be different behaviour in gcc, due to a different compiler
version in the toolchain. I do see the same error.
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] Android build problem

2019-03-10 Thread Ralph Versteegen
Oh, that's not hard to fix.
But I notice that the versions of GCC used in the NDK versions you and
I are using don't support C++11 designated initializer syntax; we use
a GCC extension syntax instead. So it's not a C++11-compliant
compiler, a nuisance.

On Mon, 11 Mar 2019 at 07:15, James Paige  wrote:
>
> For the past week the Android build has been broken as a consequence of me 
> finally checking in the change to increase minSdkVersion without alos 
> installing the needed SDK package on the nightly build machine.
>
> However, when I went to fix that today I realized there is a new build 
> failure on Android that happens first:
>
> jni/../jni/application/ohrrpgce/tmp/surface.cpp: In function 'int 
> gfx_surfaceCreatePixelsView_SW(void*, int, int, int, SurfaceFormat, 
> Surface**)':
> jni/../jni/application/ohrrpgce/tmp/surface.cpp:99:2: sorry, unimplemented: 
> non-trivial designated initializers not supported
> make: *** [obj/local/armeabi/objs-debug/application/ohrrpgce/tmp/surface.o] 
> Error 1
> ___
> Ohrrpgce mailing list
> ohrrpgce@lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] Android build problem

2019-03-11 Thread James Paige
Ah, I see. Is it worth us try to switch to a newer NDK?

I also just noticed that the 64 but linux builds have been failing since
last Wednesday. They say:

slices.bas(1788) error 97: Ambiguous call to overloaded function, LARGE()
in 'out_surf = surface_scale(in_surf, large(1, spr->w * .zoom), large(1,
spr->h * .zoom))'
scons: *** [build/game-slices.o] Error 1

On Monday, March 11, 2019, Ralph Versteegen  wrote:

> Oh, that's not hard to fix.
> But I notice that the versions of GCC used in the NDK versions you and
> I are using don't support C++11 designated initializer syntax; we use
> a GCC extension syntax instead. So it's not a C++11-compliant
> compiler, a nuisance.
>
> On Mon, 11 Mar 2019 at 07:15, James Paige  wrote:
> >
> > For the past week the Android build has been broken as a consequence of
> me finally checking in the change to increase minSdkVersion without alos
> installing the needed SDK package on the nightly build machine.
> >
> > However, when I went to fix that today I realized there is a new build
> failure on Android that happens first:
> >
> > jni/../jni/application/ohrrpgce/tmp/surface.cpp: In function 'int
> gfx_surfaceCreatePixelsView_SW(void*, int, int, int, SurfaceFormat,
> Surface**)':
> > jni/../jni/application/ohrrpgce/tmp/surface.cpp:99:2: sorry,
> unimplemented: non-trivial designated initializers not supported
> > make: *** [obj/local/armeabi/objs-debug/application/ohrrpgce/tmp/surface.o]
> Error 1
> > ___
> > Ohrrpgce mailing list
> > ohrrpgce@lists.motherhamster.org
> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
> ___
> Ohrrpgce mailing list
> ohrrpgce@lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] Android build problem

2019-03-11 Thread Ralph Versteegen
I know that there were other reasons to use a newer NDK, but I don't
remember what they are. I'm not bothered by it right now. A newer NDK
would also increase our min supported Android version, I think? But I
had to actually look up what it was (Android 2.3), because I'd
forgotten. It wouldn't be bad if we had to bump the requirement
slightly to Android 4.0.3 but I wouldn't want to go beyond that.

That ambiguous call error is an odd one, it took me a few minutes to
realise what it is. It's because integer constants are 64 bit in 64
bit builds, and converting an int64 to a double is a narrowing
conversion - converting a double to an in64 is also a narrowing
conversion (ie, potentially loses information). So the compiler isn't
sure which way to go.

On Mon, 11 Mar 2019 at 22:42, James Paige  wrote:
>
> Ah, I see. Is it worth us try to switch to a newer NDK?
>
> I also just noticed that the 64 but linux builds have been failing since last 
> Wednesday. They say:
>
> slices.bas(1788) error 97: Ambiguous call to overloaded function, LARGE() in 
> 'out_surf = surface_scale(in_surf, large(1, spr->w * .zoom), large(1, spr->h 
> * .zoom))'
> scons: *** [build/game-slices.o] Error 1
>
> On Monday, March 11, 2019, Ralph Versteegen  wrote:
>>
>> Oh, that's not hard to fix.
>> But I notice that the versions of GCC used in the NDK versions you and
>> I are using don't support C++11 designated initializer syntax; we use
>> a GCC extension syntax instead. So it's not a C++11-compliant
>> compiler, a nuisance.
>>
>> On Mon, 11 Mar 2019 at 07:15, James Paige  wrote:
>> >
>> > For the past week the Android build has been broken as a consequence of me 
>> > finally checking in the change to increase minSdkVersion without alos 
>> > installing the needed SDK package on the nightly build machine.
>> >
>> > However, when I went to fix that today I realized there is a new build 
>> > failure on Android that happens first:
>> >
>> > jni/../jni/application/ohrrpgce/tmp/surface.cpp: In function 'int 
>> > gfx_surfaceCreatePixelsView_SW(void*, int, int, int, SurfaceFormat, 
>> > Surface**)':
>> > jni/../jni/application/ohrrpgce/tmp/surface.cpp:99:2: sorry, 
>> > unimplemented: non-trivial designated initializers not supported
>> > make: *** 
>> > [obj/local/armeabi/objs-debug/application/ohrrpgce/tmp/surface.o] Error 1
>> > ___
>> > Ohrrpgce mailing list
>> > ohrrpgce@lists.motherhamster.org
>> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>> ___
>> Ohrrpgce mailing list
>> ohrrpgce@lists.motherhamster.org
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
> ___
> Ohrrpgce mailing list
> ohrrpgce@lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] Android build broken

2021-10-30 Thread Ralph Versteegen
Oops. Probably because datafiles.c is generate under build/ so doesn't
get symlinked into android/tmp.

On Sun, 31 Oct 2021 at 12:40, James Paige  wrote:
>
> Oh! I just noticed that the android build is broken. it fails with:
>
> jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:702: error: undefined 
> reference to 'embedded_files_table'
> collect2: error: ld returned 1 exit status
> /home/james/misc/android-ndk-r12b/build/core/build-binary.mk:677: recipe for 
> target 'obj/local/armeabi/libapplication.so' failed
> make: *** [obj/local/armeabi/libapplication.so] Error 1
> ___
> Ohrrpgce mailing list
> ohrrpgce@lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] android build machine

2023-12-16 Thread Ralph Versteegen via Ohrrpgce
That's strange... works on my machine. The error is:

jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:7:24: fatal error:
fb/fb_stub.h: No such file or directory
 #include "fb/fb_stub.h"
^

And the reason for the error is that copy_source_actions() in ohrbuild.py
isn't copying fb/fb_stub.h to android/tmp/ apparently because
node.get_implicit_deps(), which is meant to run a sconscript builtin source
scanner to return the list of headers isn't working. Try uncommenting the
two lines immediately below that:
def scstr(x): return ",".join(str(y) for y in x)
print("node", str(node), "sources", scstr(node.sources), "headers",
scstr(headers))
It should print:
node filelayer.cpp sources  headers
errorlog.h,fb/fb_stub.h,filelayer.hpp,lumpfile.h,mutex.hpp,config.h,miscc.h,fb/fb_array.h,fb/fb_config.h,fb/fb_device.h,fb/fb_error.h,fb/fb_file.h,fb/fb_string.h,fb/fb_thread.h,os.h,fb/fb_blackbox_config.h

As for .aab support... I had a look at upstream commandergenius. They seem
to use gradle to create the .aab file, plus have a script for signing it.
Gradle isn't used for just that. The addition of all the gradle stuff is
new since we forked. I don't know whether you want to copy or reuse the
upstream work, requiring gradle, or completely reimplement support some
other way.

Trying to merge our fork with upstream commandergenius with "git merge"
isn't going to work ("Your branch and 'origin/sdl_android' have diverged,
and have 79 and 1915 different commits each, respectively" which doesn't
begin to describe the enormous patches and conflicts... I tried git merge
after which on the first conflict "git status" outputs 17972 lines and "git
diff" 10588 lines of conflicts!). Manually merging it by cherry-picking or
applying (some of) our commits on top of upstream might be practical but is
still tons of work. Cherry-picking their commits which add .aab support is
clearly far less work but isn't easy either, because on top of the .aab
signing commits (I couldn't easily figure out which commits are needed but
"git log --grep bundle" is a good start) you'd also need all the ones for
gradle support.


On Sat, 16 Dec 2023 at 01:49, James Paige via Ohrrpgce <
ohrrpgce@lists.motherhamster.org> wrote:

> I forgot to mention, the android builds have been broken for a while
> (Since October 27)
>
> I haven't had time to narrow it down to the exact revision yet, but I'll
> work on it when I have time.
> I also want to work on the Android 12 fix, (I know what to do) and the
> .aab format (Don't know what to do yet, but I'll figure it out eventually)
>
> ---
> James
>
> ___
> Ohrrpgce mailing list
> ohrrpgce@lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] android build machine

2023-12-16 Thread Ralph Versteegen via Ohrrpgce
On Sun, 17 Dec 2023 at 13:39, Ralph Versteegen  wrote:

> That's strange... works on my machine. The error is:
>
> jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:7:24: fatal error:
> fb/fb_stub.h: No such file or directory
>  #include "fb/fb_stub.h"
> ^
>
> And the reason for the error is that copy_source_actions() in ohrbuild.py
> isn't copying fb/fb_stub.h to android/tmp/ apparently because
> node.get_implicit_deps(), which is meant to run a sconscript builtin source
> scanner to return the list of headers isn't working. Try uncommenting the
> two lines immediately below that:
> def scstr(x): return ",".join(str(y) for y in x)
> print("node", str(node), "sources", scstr(node.sources),
> "headers", scstr(headers))
> It should print:
> node filelayer.cpp sources  headers
> errorlog.h,fb/fb_stub.h,filelayer.hpp,lumpfile.h,mutex.hpp,config.h,miscc.h,fb/fb_array.h,fb/fb_config.h,fb/fb_device.h,fb/fb_error.h,fb/fb_file.h,fb/fb_string.h,fb/fb_thread.h,os.h,fb/fb_blackbox_config.h
>
> As for .aab support... I had a look at upstream commandergenius. They seem
> to use gradle to create the .aab file, plus have a script for signing it.
> Gradle isn't used for just that. The addition of all the gradle stuff is
> new since we forked. I don't know whether you want to copy or reuse the
> upstream work, requiring gradle, or completely reimplement support some
> other way.
>
> Trying to merge our fork with upstream commandergenius with "git merge"
> isn't going to work ("Your branch and 'origin/sdl_android' have diverged,
> and have 79 and 1915 different commits each, respectively" which doesn't
> begin to describe the enormous patches and conflicts... I tried git merge
> after which on the first conflict "git status" outputs 17972 lines and "git
> diff" 10588 lines of conflicts!). Manually merging it by cherry-picking or
> applying (some of) our commits on top of upstream might be practical but is
> still tons of work. Cherry-picking their commits which add .aab support is
> clearly far less work but isn't easy either,
>

Actually I didn't mean to claim that, it could easily be more work to
cherry-picking all their gradle+signing commits than to port our changes
upstream. Because at least we understand our own additions and have a hope
of reimplementing them in a hairy conflict.


> because on top of the .aab signing commits (I couldn't easily figure out
> which commits are needed but "git log --grep bundle" is a good start) you'd
> also need all the ones for gradle support.
>
>
> On Sat, 16 Dec 2023 at 01:49, James Paige via Ohrrpgce <
> ohrrpgce@lists.motherhamster.org> wrote:
>
>> I forgot to mention, the android builds have been broken for a while
>> (Since October 27)
>>
>> I haven't had time to narrow it down to the exact revision yet, but I'll
>> work on it when I have time.
>> I also want to work on the Android 12 fix, (I know what to do) and the
>> .aab format (Don't know what to do yet, but I'll figure it out eventually)
>>
>> ---
>> James
>>
>> ___
>> Ohrrpgce mailing list
>> ohrrpgce@lists.motherhamster.org
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>
>
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] android build machine

2023-12-19 Thread James Paige via Ohrrpgce
On Sat, Dec 16, 2023 at 7:40 PM Ralph Versteegen via Ohrrpgce <
ohrrpgce@lists.motherhamster.org> wrote:

> That's strange... works on my machine. The error is:
>
> jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:7:24: fatal error:
> fb/fb_stub.h: No such file or directory
>  #include "fb/fb_stub.h"
> ^
>
> And the reason for the error is that copy_source_actions() in ohrbuild.py
> isn't copying fb/fb_stub.h to android/tmp/ apparently because
> node.get_implicit_deps(), which is meant to run a sconscript builtin source
> scanner to return the list of headers isn't working. Try uncommenting the
> two lines immediately below that:
> def scstr(x): return ",".join(str(y) for y in x)
> print("node", str(node), "sources", scstr(node.sources),
> "headers", scstr(headers))
> It should print:
> node filelayer.cpp sources  headers
> errorlog.h,fb/fb_stub.h,filelayer.hpp,lumpfile.h,mutex.hpp,config.h,miscc.h,fb/fb_array.h,fb/fb_config.h,fb/fb_device.h,fb/fb_error.h,fb/fb_file.h,fb/fb_string.h,fb/fb_thread.h,os.h,fb/fb_blackbox_config.h
>

What it actually prints on the nightly build machine is:

node filelayer.cpp sources  headers

I haven't spotted why yet.


> As for .aab support... I had a look at upstream commandergenius. They seem
> to use gradle to create the .aab file, plus have a script for signing it.
> Gradle isn't used for just that. The addition of all the gradle stuff is
> new since we forked. I don't know whether you want to copy or reuse the
> upstream work, requiring gradle, or completely reimplement support some
> other way.
>
> Trying to merge our fork with upstream commandergenius with "git merge"
> isn't going to work ("Your branch and 'origin/sdl_android' have diverged,
> and have 79 and 1915 different commits each, respectively" which doesn't
> begin to describe the enormous patches and conflicts... I tried git merge
> after which on the first conflict "git status" outputs 17972 lines and "git
> diff" 10588 lines of conflicts!). Manually merging it by cherry-picking or
> applying (some of) our commits on top of upstream might be practical but is
> still tons of work. Cherry-picking their commits which add .aab support is
> clearly far less work but isn't easy either, because on top of the .aab
> signing commits (I couldn't easily figure out which commits are needed but
> "git log --grep bundle" is a good start) you'd also need all the ones for
> gradle support.
>

First I'll dig around and see if there is a way to just change the existing
scripts to support aab format, which might be possible, I don't know yet.
If not, I think trying to cherry-pick our commits on top of upstream sounds
like the least work, but I'll cross that bridge only if I don't find any
easier shortcuts.

I'll keep you posted if I find anything.


>
> On Sat, 16 Dec 2023 at 01:49, James Paige via Ohrrpgce <
> ohrrpgce@lists.motherhamster.org> wrote:
>
>> I forgot to mention, the android builds have been broken for a while
>> (Since October 27)
>>
>> I haven't had time to narrow it down to the exact revision yet, but I'll
>> work on it when I have time.
>> I also want to work on the Android 12 fix, (I know what to do) and the
>> .aab format (Don't know what to do yet, but I'll figure it out eventually)
>>
>> ---
>> James
>>
>> ___
>> Ohrrpgce mailing list
>> ohrrpgce@lists.motherhamster.org
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>
> ___
> Ohrrpgce mailing list
> ohrrpgce@lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] android build machine

2023-12-21 Thread James Paige via Ohrrpgce
Oh, I am pretty sure I know what is wrong. The nightly build vm for android
is still Debian 9. It has scons version 2.3, which is still python 2.7
based. The latest scons on my Debian 11 box is 4.0



On Tue, Dec 19, 2023 at 9:13 PM James Paige  wrote:

>
>
> On Sat, Dec 16, 2023 at 7:40 PM Ralph Versteegen via Ohrrpgce <
> ohrrpgce@lists.motherhamster.org> wrote:
>
>> That's strange... works on my machine. The error is:
>>
>> jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:7:24: fatal error:
>> fb/fb_stub.h: No such file or directory
>>  #include "fb/fb_stub.h"
>> ^
>>
>> And the reason for the error is that copy_source_actions() in ohrbuild.py
>> isn't copying fb/fb_stub.h to android/tmp/ apparently because
>> node.get_implicit_deps(), which is meant to run a sconscript builtin source
>> scanner to return the list of headers isn't working. Try uncommenting the
>> two lines immediately below that:
>> def scstr(x): return ",".join(str(y) for y in x)
>> print("node", str(node), "sources", scstr(node.sources),
>> "headers", scstr(headers))
>> It should print:
>> node filelayer.cpp sources  headers
>> errorlog.h,fb/fb_stub.h,filelayer.hpp,lumpfile.h,mutex.hpp,config.h,miscc.h,fb/fb_array.h,fb/fb_config.h,fb/fb_device.h,fb/fb_error.h,fb/fb_file.h,fb/fb_string.h,fb/fb_thread.h,os.h,fb/fb_blackbox_config.h
>>
>
> What it actually prints on the nightly build machine is:
>
> node filelayer.cpp sources  headers
>
> I haven't spotted why yet.
>
>
>> As for .aab support... I had a look at upstream commandergenius. They
>> seem to use gradle to create the .aab file, plus have a script for signing
>> it. Gradle isn't used for just that. The addition of all the gradle stuff
>> is new since we forked. I don't know whether you want to copy or reuse the
>> upstream work, requiring gradle, or completely reimplement support some
>> other way.
>>
>> Trying to merge our fork with upstream commandergenius with "git merge"
>> isn't going to work ("Your branch and 'origin/sdl_android' have diverged,
>> and have 79 and 1915 different commits each, respectively" which doesn't
>> begin to describe the enormous patches and conflicts... I tried git merge
>> after which on the first conflict "git status" outputs 17972 lines and "git
>> diff" 10588 lines of conflicts!). Manually merging it by cherry-picking or
>> applying (some of) our commits on top of upstream might be practical but is
>> still tons of work. Cherry-picking their commits which add .aab support is
>> clearly far less work but isn't easy either, because on top of the .aab
>> signing commits (I couldn't easily figure out which commits are needed but
>> "git log --grep bundle" is a good start) you'd also need all the ones for
>> gradle support.
>>
>
> First I'll dig around and see if there is a way to just change the
> existing scripts to support aab format, which might be possible, I don't
> know yet.
> If not, I think trying to cherry-pick our commits on top of upstream
> sounds like the least work, but I'll cross that bridge only if I don't find
> any easier shortcuts.
>
> I'll keep you posted if I find anything.
>
>
>>
>> On Sat, 16 Dec 2023 at 01:49, James Paige via Ohrrpgce <
>> ohrrpgce@lists.motherhamster.org> wrote:
>>
>>> I forgot to mention, the android builds have been broken for a while
>>> (Since October 27)
>>>
>>> I haven't had time to narrow it down to the exact revision yet, but I'll
>>> work on it when I have time.
>>> I also want to work on the Android 12 fix, (I know what to do) and the
>>> .aab format (Don't know what to do yet, but I'll figure it out eventually)
>>>
>>> ---
>>> James
>>>
>>> ___
>>> Ohrrpgce mailing list
>>> ohrrpgce@lists.motherhamster.org
>>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>>
>> ___
>> Ohrrpgce mailing list
>> ohrrpgce@lists.motherhamster.org
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>
>
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] android build machine

2023-12-25 Thread James Paige via Ohrrpgce
TMC, Question! What version of the Android SDK do you have installed?

I think my version is probably from around 2012, and it is so old I don't
even know how to install it again (which makes it rough to create a Docker
image for it)

I tried with the latest SDK, but it doesn't even have the "android" binary
anymore, it has "sdkmanager" instead with different command line arguments,
but our dusty old fork of sdl-android relies on "android"

I'm hoping to find the oldest sdk that still works as a quick-fix, but
googling for "when did android SDK stop having android" doesn't work very
well :D



On Thu, Dec 21, 2023 at 9:10 PM James Paige  wrote:

> Oh, I am pretty sure I know what is wrong. The nightly build vm for
> android is still Debian 9. It has scons version 2.3, which is still python
> 2.7 based. The latest scons on my Debian 11 box is 4.0
>
>
>
> On Tue, Dec 19, 2023 at 9:13 PM James Paige 
> wrote:
>
>>
>>
>> On Sat, Dec 16, 2023 at 7:40 PM Ralph Versteegen via Ohrrpgce <
>> ohrrpgce@lists.motherhamster.org> wrote:
>>
>>> That's strange... works on my machine. The error is:
>>>
>>> jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:7:24: fatal error:
>>> fb/fb_stub.h: No such file or directory
>>>  #include "fb/fb_stub.h"
>>> ^
>>>
>>> And the reason for the error is that copy_source_actions() in
>>> ohrbuild.py isn't copying fb/fb_stub.h to android/tmp/ apparently because
>>> node.get_implicit_deps(), which is meant to run a sconscript builtin source
>>> scanner to return the list of headers isn't working. Try uncommenting the
>>> two lines immediately below that:
>>> def scstr(x): return ",".join(str(y) for y in x)
>>> print("node", str(node), "sources", scstr(node.sources),
>>> "headers", scstr(headers))
>>> It should print:
>>> node filelayer.cpp sources  headers
>>> errorlog.h,fb/fb_stub.h,filelayer.hpp,lumpfile.h,mutex.hpp,config.h,miscc.h,fb/fb_array.h,fb/fb_config.h,fb/fb_device.h,fb/fb_error.h,fb/fb_file.h,fb/fb_string.h,fb/fb_thread.h,os.h,fb/fb_blackbox_config.h
>>>
>>
>> What it actually prints on the nightly build machine is:
>>
>> node filelayer.cpp sources  headers
>>
>> I haven't spotted why yet.
>>
>>
>>> As for .aab support... I had a look at upstream commandergenius. They
>>> seem to use gradle to create the .aab file, plus have a script for signing
>>> it. Gradle isn't used for just that. The addition of all the gradle stuff
>>> is new since we forked. I don't know whether you want to copy or reuse the
>>> upstream work, requiring gradle, or completely reimplement support some
>>> other way.
>>>
>>> Trying to merge our fork with upstream commandergenius with "git merge"
>>> isn't going to work ("Your branch and 'origin/sdl_android' have diverged,
>>> and have 79 and 1915 different commits each, respectively" which doesn't
>>> begin to describe the enormous patches and conflicts... I tried git merge
>>> after which on the first conflict "git status" outputs 17972 lines and "git
>>> diff" 10588 lines of conflicts!). Manually merging it by cherry-picking or
>>> applying (some of) our commits on top of upstream might be practical but is
>>> still tons of work. Cherry-picking their commits which add .aab support is
>>> clearly far less work but isn't easy either, because on top of the .aab
>>> signing commits (I couldn't easily figure out which commits are needed but
>>> "git log --grep bundle" is a good start) you'd also need all the ones for
>>> gradle support.
>>>
>>
>> First I'll dig around and see if there is a way to just change the
>> existing scripts to support aab format, which might be possible, I don't
>> know yet.
>> If not, I think trying to cherry-pick our commits on top of upstream
>> sounds like the least work, but I'll cross that bridge only if I don't find
>> any easier shortcuts.
>>
>> I'll keep you posted if I find anything.
>>
>>
>>>
>>> On Sat, 16 Dec 2023 at 01:49, James Paige via Ohrrpgce <
>>> ohrrpgce@lists.motherhamster.org> wrote:
>>>
 I forgot to mention, the android builds have been broken for a while
 (Since October 27)

 I haven't had time to narrow it down to the exact revision yet, but
 I'll work on it when I have time.
 I also want to work on the Android 12 fix, (I know what to do) and the
 .aab format (Don't know what to do yet, but I'll figure it out eventually)

 ---
 James

 ___
 Ohrrpgce mailing list
 ohrrpgce@lists.motherhamster.org
 http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org

>>> ___
>>> Ohrrpgce mailing list
>>> ohrrpgce@lists.motherhamster.org
>>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>>
>>
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] android build machine

2023-12-25 Thread Ralph Versteegen via Ohrrpgce
Well, you don't want the SDK that I have, because it no longer works!
Running "android" (a binary from 2018) I get Android SDK Manager revision
25.2.5 which shows the most recent "SDK Platform" available for install
being one for Android API 29 (Android 10). Which is the one I have
installed. I had been meaning to install a newer SDK but had no idea that
the SDK manager itself was no longer functional.

Since you have targetSdkVersion set to 30, my SDK no longer works (it gets
all the way through compiling and linking but fails in the final steps of
packaging the .apk). I managed to create an .apk only by decreasing the
target to 29 and changing my PATH to point to an older javac (javac from
jdk-17.0.1 threw an error "Source option 5 is no longer supported. Use 7 or
later." (about its "-source 1.5" argument), while javac 1.8.0 from
openjdk-8u392 only printed a deprecation warning. Seems like Java has
suffered a Perl 5/6-style fork)

BTW when I try to edit  android:targetSdkVersion="30" in
project/AndroidManifest[Template].xml it seems to have no effect. I finally
figured out I have to edit project/project.properties too. That file claims
to be autogenerated but is it? I couldn't figure out how to do so.



On Tue, 26 Dec 2023 at 06:11, James Paige via Ohrrpgce <
ohrrpgce@lists.motherhamster.org> wrote:

> TMC, Question! What version of the Android SDK do you have installed?
>
> I think my version is probably from around 2012, and it is so old I don't
> even know how to install it again (which makes it rough to create a Docker
> image for it)
>
> I tried with the latest SDK, but it doesn't even have the "android" binary
> anymore, it has "sdkmanager" instead with different command line arguments,
> but our dusty old fork of sdl-android relies on "android"
>
> I'm hoping to find the oldest sdk that still works as a quick-fix, but
> googling for "when did android SDK stop having android" doesn't work very
> well :D
>
>
>
> On Thu, Dec 21, 2023 at 9:10 PM James Paige 
> wrote:
>
>> Oh, I am pretty sure I know what is wrong. The nightly build vm for
>> android is still Debian 9. It has scons version 2.3, which is still python
>> 2.7 based. The latest scons on my Debian 11 box is 4.0
>>
>>
>>
>> On Tue, Dec 19, 2023 at 9:13 PM James Paige 
>> wrote:
>>
>>>
>>>
>>> On Sat, Dec 16, 2023 at 7:40 PM Ralph Versteegen via Ohrrpgce <
>>> ohrrpgce@lists.motherhamster.org> wrote:
>>>
 That's strange... works on my machine. The error is:

 jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:7:24: fatal error:
 fb/fb_stub.h: No such file or directory
  #include "fb/fb_stub.h"
 ^

 And the reason for the error is that copy_source_actions() in
 ohrbuild.py isn't copying fb/fb_stub.h to android/tmp/ apparently because
 node.get_implicit_deps(), which is meant to run a sconscript builtin source
 scanner to return the list of headers isn't working. Try uncommenting the
 two lines immediately below that:
 def scstr(x): return ",".join(str(y) for y in x)
 print("node", str(node), "sources", scstr(node.sources),
 "headers", scstr(headers))
 It should print:
 node filelayer.cpp sources  headers
 errorlog.h,fb/fb_stub.h,filelayer.hpp,lumpfile.h,mutex.hpp,config.h,miscc.h,fb/fb_array.h,fb/fb_config.h,fb/fb_device.h,fb/fb_error.h,fb/fb_file.h,fb/fb_string.h,fb/fb_thread.h,os.h,fb/fb_blackbox_config.h

>>>
>>> What it actually prints on the nightly build machine is:
>>>
>>> node filelayer.cpp sources  headers
>>>
>>> I haven't spotted why yet.
>>>
>>>
 As for .aab support... I had a look at upstream commandergenius. They
 seem to use gradle to create the .aab file, plus have a script for signing
 it. Gradle isn't used for just that. The addition of all the gradle stuff
 is new since we forked. I don't know whether you want to copy or reuse the
 upstream work, requiring gradle, or completely reimplement support some
 other way.

 Trying to merge our fork with upstream commandergenius with "git merge"
 isn't going to work ("Your branch and 'origin/sdl_android' have diverged,
 and have 79 and 1915 different commits each, respectively" which doesn't
 begin to describe the enormous patches and conflicts... I tried git merge
 after which on the first conflict "git status" outputs 17972 lines and "git
 diff" 10588 lines of conflicts!). Manually merging it by cherry-picking or
 applying (some of) our commits on top of upstream might be practical but is
 still tons of work. Cherry-picking their commits which add .aab support is
 clearly far less work but isn't easy either, because on top of the .aab
 signing commits (I couldn't easily figure out which commits are needed but
 "git log --grep bundle" is a good start) you'd also need all the ones for
 gradle support.

>>>
>>> First I'll dig around and see if there is a way to just change the
>>> existing s

Re: [Ohrrpgce] android build machine

2023-12-25 Thread Ralph Versteegen via Ohrrpgce
What do you actually need the "android" binary for, aside from installing
the SDK? In build.sh I only see one use:
[ -e project/local.properties ] || {
android update project -p project || exit 1
rm -f project/src/Globals.java
}
And I notice that block was modified in 4701548e0 ("SDL: switched build
system from Ant to Gradle") to make "android" optional.
It's also used in build/envsetup.sh but I don't remember ever running that.

On Tue, 26 Dec 2023 at 10:55, Ralph Versteegen  wrote:

> Well, you don't want the SDK that I have, because it no longer works!
> Running "android" (a binary from 2018) I get Android SDK Manager revision
> 25.2.5 which shows the most recent "SDK Platform" available for install
> being one for Android API 29 (Android 10). Which is the one I have
> installed. I had been meaning to install a newer SDK but had no idea that
> the SDK manager itself was no longer functional.
>
> Since you have targetSdkVersion set to 30, my SDK no longer works (it gets
> all the way through compiling and linking but fails in the final steps of
> packaging the .apk). I managed to create an .apk only by decreasing the
> target to 29 and changing my PATH to point to an older javac (javac from
> jdk-17.0.1 threw an error "Source option 5 is no longer supported. Use 7 or
> later." (about its "-source 1.5" argument), while javac 1.8.0 from
> openjdk-8u392 only printed a deprecation warning. Seems like Java has
> suffered a Perl 5/6-style fork)
>
> BTW when I try to edit  android:targetSdkVersion="30" in
> project/AndroidManifest[Template].xml it seems to have no effect. I finally
> figured out I have to edit project/project.properties too. That file claims
> to be autogenerated but is it? I couldn't figure out how to do so.
>
>
>
> On Tue, 26 Dec 2023 at 06:11, James Paige via Ohrrpgce <
> ohrrpgce@lists.motherhamster.org> wrote:
>
>> TMC, Question! What version of the Android SDK do you have installed?
>>
>> I think my version is probably from around 2012, and it is so old I don't
>> even know how to install it again (which makes it rough to create a Docker
>> image for it)
>>
>> I tried with the latest SDK, but it doesn't even have the "android"
>> binary anymore, it has "sdkmanager" instead with different command line
>> arguments, but our dusty old fork of sdl-android relies on "android"
>>
>> I'm hoping to find the oldest sdk that still works as a quick-fix, but
>> googling for "when did android SDK stop having android" doesn't work very
>> well :D
>>
>>
>>
>> On Thu, Dec 21, 2023 at 9:10 PM James Paige 
>> wrote:
>>
>>> Oh, I am pretty sure I know what is wrong. The nightly build vm for
>>> android is still Debian 9. It has scons version 2.3, which is still python
>>> 2.7 based. The latest scons on my Debian 11 box is 4.0
>>>
>>>
>>>
>>> On Tue, Dec 19, 2023 at 9:13 PM James Paige 
>>> wrote:
>>>


 On Sat, Dec 16, 2023 at 7:40 PM Ralph Versteegen via Ohrrpgce <
 ohrrpgce@lists.motherhamster.org> wrote:

> That's strange... works on my machine. The error is:
>
> jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:7:24: fatal error:
> fb/fb_stub.h: No such file or directory
>  #include "fb/fb_stub.h"
> ^
>
> And the reason for the error is that copy_source_actions() in
> ohrbuild.py isn't copying fb/fb_stub.h to android/tmp/ apparently because
> node.get_implicit_deps(), which is meant to run a sconscript builtin 
> source
> scanner to return the list of headers isn't working. Try uncommenting the
> two lines immediately below that:
> def scstr(x): return ",".join(str(y) for y in x)
> print("node", str(node), "sources", scstr(node.sources),
> "headers", scstr(headers))
> It should print:
> node filelayer.cpp sources  headers
> errorlog.h,fb/fb_stub.h,filelayer.hpp,lumpfile.h,mutex.hpp,config.h,miscc.h,fb/fb_array.h,fb/fb_config.h,fb/fb_device.h,fb/fb_error.h,fb/fb_file.h,fb/fb_string.h,fb/fb_thread.h,os.h,fb/fb_blackbox_config.h
>

 What it actually prints on the nightly build machine is:

 node filelayer.cpp sources  headers

 I haven't spotted why yet.


> As for .aab support... I had a look at upstream commandergenius. They
> seem to use gradle to create the .aab file, plus have a script for signing
> it. Gradle isn't used for just that. The addition of all the gradle stuff
> is new since we forked. I don't know whether you want to copy or reuse the
> upstream work, requiring gradle, or completely reimplement support some
> other way.
>
> Trying to merge our fork with upstream commandergenius with "git
> merge" isn't going to work ("Your branch and 'origin/sdl_android' have
> diverged, and have 79 and 1915 different commits each, respectively" which
> doesn't begin to describe the enormous patches and conflicts... I tried 
> git
> merge after which on the first conflict "git

Re: [Ohrrpgce] android build machine

2023-12-25 Thread James Paige via Ohrrpgce
I have no idea how I managed to get platform version 31 installed in my
2012 Android SDK *shrug*
I also ran into a "Source option 5 is no longer supported." openjdk8 was
the last java to support whatever "option 5" means. And Debian 9 was the
last debian to support openjdk8

After a lot of messing around, I think I finally got the android nightly
building in a docker image (still using my cargo-cult artifact copy of the
android SDK)

I'll push the Dockerfile for it. I ended up using Debian 11, but installing
an Amazon "corretto" backport of OpenJDK-8 and I /think/ it all works. I
managed to produce a debug apk a few minutes ago. If I can confirm it
actually installs and runs on my phone I'm going to update the nightly
build system to do it this way.

> And I notice that block was modified in 4701548e0 ("SDL: switched build
system from Ant to Gradle") to make "android" optional. It's also used in
build/envsetup.sh but I don't remember ever running that.

Aha, thanks! I'll check that out too.



On Mon, Dec 25, 2023 at 4:56 PM Ralph Versteegen  wrote:

> Well, you don't want the SDK that I have, because it no longer works!
> Running "android" (a binary from 2018) I get Android SDK Manager revision
> 25.2.5 which shows the most recent "SDK Platform" available for install
> being one for Android API 29 (Android 10). Which is the one I have
> installed. I had been meaning to install a newer SDK but had no idea that
> the SDK manager itself was no longer functional.
>
> Since you have targetSdkVersion set to 30, my SDK no longer works (it gets
> all the way through compiling and linking but fails in the final steps of
> packaging the .apk). I managed to create an .apk only by decreasing the
> target to 29 and changing my PATH to point to an older javac (javac from
> jdk-17.0.1 threw an error "Source option 5 is no longer supported. Use 7 or
> later." (about its "-source 1.5" argument), while javac 1.8.0 from
> openjdk-8u392 only printed a deprecation warning. Seems like Java has
> suffered a Perl 5/6-style fork)
>
> BTW when I try to edit  android:targetSdkVersion="30" in
> project/AndroidManifest[Template].xml it seems to have no effect. I finally
> figured out I have to edit project/project.properties too. That file claims
> to be autogenerated but is it? I couldn't figure out how to do so.
>
>
>
> On Tue, 26 Dec 2023 at 06:11, James Paige via Ohrrpgce <
> ohrrpgce@lists.motherhamster.org> wrote:
>
>> TMC, Question! What version of the Android SDK do you have installed?
>>
>> I think my version is probably from around 2012, and it is so old I don't
>> even know how to install it again (which makes it rough to create a Docker
>> image for it)
>>
>> I tried with the latest SDK, but it doesn't even have the "android"
>> binary anymore, it has "sdkmanager" instead with different command line
>> arguments, but our dusty old fork of sdl-android relies on "android"
>>
>> I'm hoping to find the oldest sdk that still works as a quick-fix, but
>> googling for "when did android SDK stop having android" doesn't work very
>> well :D
>>
>>
>>
>> On Thu, Dec 21, 2023 at 9:10 PM James Paige 
>> wrote:
>>
>>> Oh, I am pretty sure I know what is wrong. The nightly build vm for
>>> android is still Debian 9. It has scons version 2.3, which is still python
>>> 2.7 based. The latest scons on my Debian 11 box is 4.0
>>>
>>>
>>>
>>> On Tue, Dec 19, 2023 at 9:13 PM James Paige 
>>> wrote:
>>>


 On Sat, Dec 16, 2023 at 7:40 PM Ralph Versteegen via Ohrrpgce <
 ohrrpgce@lists.motherhamster.org> wrote:

> That's strange... works on my machine. The error is:
>
> jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:7:24: fatal error:
> fb/fb_stub.h: No such file or directory
>  #include "fb/fb_stub.h"
> ^
>
> And the reason for the error is that copy_source_actions() in
> ohrbuild.py isn't copying fb/fb_stub.h to android/tmp/ apparently because
> node.get_implicit_deps(), which is meant to run a sconscript builtin 
> source
> scanner to return the list of headers isn't working. Try uncommenting the
> two lines immediately below that:
> def scstr(x): return ",".join(str(y) for y in x)
> print("node", str(node), "sources", scstr(node.sources),
> "headers", scstr(headers))
> It should print:
> node filelayer.cpp sources  headers
> errorlog.h,fb/fb_stub.h,filelayer.hpp,lumpfile.h,mutex.hpp,config.h,miscc.h,fb/fb_array.h,fb/fb_config.h,fb/fb_device.h,fb/fb_error.h,fb/fb_file.h,fb/fb_string.h,fb/fb_thread.h,os.h,fb/fb_blackbox_config.h
>

 What it actually prints on the nightly build machine is:

 node filelayer.cpp sources  headers

 I haven't spotted why yet.


> As for .aab support... I had a look at upstream commandergenius. They
> seem to use gradle to create the .aab file, plus have a script for signing
> it. Gradle isn't used for just that. The addition of al

Re: [Ohrrpgce] android build machine

2023-12-25 Thread Ralph Versteegen via Ohrrpgce
Great... maybe. Is this a good time to bring up emscripten nightly builds?
:)

"Source option 5" means -source 1.5 meaning JDK 1.5 which is Java 5. My
distro, Slackware, doesn't have an official JDK package (rather telling,
since it includes toolchains for every other popular language) but there's
a high profile 3rd-party one, openjdk-8u392.

At https://developer.android.com/tools/releases/sdk-tools I found the
notice:
"...we are discontinuing an old way of updating artifacts for the SDK
manager. ...we will no longer publish updates with this older XML format.
Users of older versions of Android Studio, the old command-line SDK
Manager, or the old SDK Manager UI will not receive updates to the SDK
components via the SDK Manager"
Also, in the notes for "SDK Tools, Revision 25.3.0 *(March 2017)", *it says
that the "android" commandline tool and ant scripts have been removed. In
"SDK Tools, Revision 26.0.0 *(March 2017)" *it says* "*tools/android now
attempts to reproduce the functionality of android in tools prior to
version 25.3.0 by invoking the new tools"



On Tue, 26 Dec 2023 at 11:31, James Paige  wrote:

> I have no idea how I managed to get platform version 31 installed in my
> 2012 Android SDK *shrug*
> I also ran into a "Source option 5 is no longer supported." openjdk8 was
> the last java to support whatever "option 5" means. And Debian 9 was the
> last debian to support openjdk8
>
> After a lot of messing around, I think I finally got the android nightly
> building in a docker image (still using my cargo-cult artifact copy of the
> android SDK)
>
> I'll push the Dockerfile for it. I ended up using Debian 11, but
> installing an Amazon "corretto" backport of OpenJDK-8 and I /think/ it all
> works. I managed to produce a debug apk a few minutes ago. If I can confirm
> it actually installs and runs on my phone I'm going to update the nightly
> build system to do it this way.
>
> > And I notice that block was modified in 4701548e0 ("SDL: switched build
> system from Ant to Gradle") to make "android" optional. It's also used in
> build/envsetup.sh but I don't remember ever running that.
>
> Aha, thanks! I'll check that out too.
>
>
>
> On Mon, Dec 25, 2023 at 4:56 PM Ralph Versteegen 
> wrote:
>
>> Well, you don't want the SDK that I have, because it no longer works!
>> Running "android" (a binary from 2018) I get Android SDK Manager revision
>> 25.2.5 which shows the most recent "SDK Platform" available for install
>> being one for Android API 29 (Android 10). Which is the one I have
>> installed. I had been meaning to install a newer SDK but had no idea that
>> the SDK manager itself was no longer functional.
>>
>> Since you have targetSdkVersion set to 30, my SDK no longer works (it
>> gets all the way through compiling and linking but fails in the final steps
>> of packaging the .apk). I managed to create an .apk only by decreasing the
>> target to 29 and changing my PATH to point to an older javac (javac from
>> jdk-17.0.1 threw an error "Source option 5 is no longer supported. Use 7 or
>> later." (about its "-source 1.5" argument), while javac 1.8.0 from
>> openjdk-8u392 only printed a deprecation warning. Seems like Java has
>> suffered a Perl 5/6-style fork)
>>
>> BTW when I try to edit  android:targetSdkVersion="30" in
>> project/AndroidManifest[Template].xml it seems to have no effect. I finally
>> figured out I have to edit project/project.properties too. That file claims
>> to be autogenerated but is it? I couldn't figure out how to do so.
>>
>>
>>
>> On Tue, 26 Dec 2023 at 06:11, James Paige via Ohrrpgce <
>> ohrrpgce@lists.motherhamster.org> wrote:
>>
>>> TMC, Question! What version of the Android SDK do you have installed?
>>>
>>> I think my version is probably from around 2012, and it is so old I
>>> don't even know how to install it again (which makes it rough to create a
>>> Docker image for it)
>>>
>>> I tried with the latest SDK, but it doesn't even have the "android"
>>> binary anymore, it has "sdkmanager" instead with different command line
>>> arguments, but our dusty old fork of sdl-android relies on "android"
>>>
>>> I'm hoping to find the oldest sdk that still works as a quick-fix, but
>>> googling for "when did android SDK stop having android" doesn't work very
>>> well :D
>>>
>>>
>>>
>>> On Thu, Dec 21, 2023 at 9:10 PM James Paige 
>>> wrote:
>>>
 Oh, I am pretty sure I know what is wrong. The nightly build vm for
 android is still Debian 9. It has scons version 2.3, which is still python
 2.7 based. The latest scons on my Debian 11 box is 4.0



 On Tue, Dec 19, 2023 at 9:13 PM James Paige 
 wrote:

>
>
> On Sat, Dec 16, 2023 at 7:40 PM Ralph Versteegen via Ohrrpgce <
> ohrrpgce@lists.motherhamster.org> wrote:
>
>> That's strange... works on my machine. The error is:
>>
>> jni/../jni/application/ohrrpgce/tmp//filelayer.cpp:7:24: fatal error:
>> fb/fb_stub.h: No such file or directory
>>  #include "f

Re: [Ohrrpgce] android build machine

2023-12-25 Thread James Paige via Ohrrpgce
Arg, I am so close. I can build the debug apk now with no errors, and it
seems okay, but when I try to install it on my phone it won't run (and
gives me no hint as to why)

Maybe something is failing, but the build keeps going instead of stopping.
I'll figure it out eventually.

> Great... maybe. Is this a good time to bring up emscripten nightly
builds? :)

I do think I would enjoy that. it would be nice to write a dockerfile that
doesn't rely on anything dreadfully out-of-date :D

Enough for today though, I need a break

On Mon, Dec 25, 2023 at 7:02 PM Ralph Versteegen  wrote:

> Great... maybe. Is this a good time to bring up emscripten nightly builds?
> :)
>
> "Source option 5" means -source 1.5 meaning JDK 1.5 which is Java 5. My
> distro, Slackware, doesn't have an official JDK package (rather telling,
> since it includes toolchains for every other popular language) but there's
> a high profile 3rd-party one, openjdk-8u392.
>
> At https://developer.android.com/tools/releases/sdk-tools I found the
> notice:
> "...we are discontinuing an old way of updating artifacts for the SDK
> manager. ...we will no longer publish updates with this older XML format.
> Users of older versions of Android Studio, the old command-line SDK
> Manager, or the old SDK Manager UI will not receive updates to the SDK
> components via the SDK Manager"
> Also, in the notes for "SDK Tools, Revision 25.3.0 *(March 2017)", *it
> says that the "android" commandline tool and ant scripts have been removed.
> In "SDK Tools, Revision 26.0.0 *(March 2017)" *it says* "*tools/android
> now attempts to reproduce the functionality of android in tools prior to
> version 25.3.0 by invoking the new tools"
>
>
>
> On Tue, 26 Dec 2023 at 11:31, James Paige  wrote:
>
>> I have no idea how I managed to get platform version 31 installed in my
>> 2012 Android SDK *shrug*
>> I also ran into a "Source option 5 is no longer supported." openjdk8 was
>> the last java to support whatever "option 5" means. And Debian 9 was the
>> last debian to support openjdk8
>>
>> After a lot of messing around, I think I finally got the android nightly
>> building in a docker image (still using my cargo-cult artifact copy of the
>> android SDK)
>>
>> I'll push the Dockerfile for it. I ended up using Debian 11, but
>> installing an Amazon "corretto" backport of OpenJDK-8 and I /think/ it all
>> works. I managed to produce a debug apk a few minutes ago. If I can confirm
>> it actually installs and runs on my phone I'm going to update the nightly
>> build system to do it this way.
>>
>> > And I notice that block was modified in 4701548e0 ("SDL: switched build
>> system from Ant to Gradle") to make "android" optional. It's also used in
>> build/envsetup.sh but I don't remember ever running that.
>>
>> Aha, thanks! I'll check that out too.
>>
>>
>>
>> On Mon, Dec 25, 2023 at 4:56 PM Ralph Versteegen 
>> wrote:
>>
>>> Well, you don't want the SDK that I have, because it no longer works!
>>> Running "android" (a binary from 2018) I get Android SDK Manager revision
>>> 25.2.5 which shows the most recent "SDK Platform" available for install
>>> being one for Android API 29 (Android 10). Which is the one I have
>>> installed. I had been meaning to install a newer SDK but had no idea that
>>> the SDK manager itself was no longer functional.
>>>
>>> Since you have targetSdkVersion set to 30, my SDK no longer works (it
>>> gets all the way through compiling and linking but fails in the final steps
>>> of packaging the .apk). I managed to create an .apk only by decreasing the
>>> target to 29 and changing my PATH to point to an older javac (javac from
>>> jdk-17.0.1 threw an error "Source option 5 is no longer supported. Use 7 or
>>> later." (about its "-source 1.5" argument), while javac 1.8.0 from
>>> openjdk-8u392 only printed a deprecation warning. Seems like Java has
>>> suffered a Perl 5/6-style fork)
>>>
>>> BTW when I try to edit  android:targetSdkVersion="30" in
>>> project/AndroidManifest[Template].xml it seems to have no effect. I finally
>>> figured out I have to edit project/project.properties too. That file claims
>>> to be autogenerated but is it? I couldn't figure out how to do so.
>>>
>>>
>>>
>>> On Tue, 26 Dec 2023 at 06:11, James Paige via Ohrrpgce <
>>> ohrrpgce@lists.motherhamster.org> wrote:
>>>
 TMC, Question! What version of the Android SDK do you have installed?

 I think my version is probably from around 2012, and it is so old I
 don't even know how to install it again (which makes it rough to create a
 Docker image for it)

 I tried with the latest SDK, but it doesn't even have the "android"
 binary anymore, it has "sdkmanager" instead with different command line
 arguments, but our dusty old fork of sdl-android relies on "android"

 I'm hoping to find the oldest sdk that still works as a quick-fix, but
 googling for "when did android SDK stop having android" doesn't work very
 well :D




Re: [Ohrrpgce] android build machine

2023-12-26 Thread Ralph Versteegen via Ohrrpgce
Which Android does your phone have? 12+? Not running with no reason sounds
a lot like the problem that was reported in discord caused by the missing
 section.

On Tue, 26 Dec 2023 at 13:42, James Paige  wrote:

> Arg, I am so close. I can build the debug apk now with no errors, and it
> seems okay, but when I try to install it on my phone it won't run (and
> gives me no hint as to why)
>
> Maybe something is failing, but the build keeps going instead of stopping.
> I'll figure it out eventually.
>
> > Great... maybe. Is this a good time to bring up emscripten nightly
> builds? :)
>
> I do think I would enjoy that. it would be nice to write a dockerfile that
> doesn't rely on anything dreadfully out-of-date :D
>
> Enough for today though, I need a break
>
> On Mon, Dec 25, 2023 at 7:02 PM Ralph Versteegen 
> wrote:
>
>> Great... maybe. Is this a good time to bring up emscripten nightly
>> builds? :)
>>
>> "Source option 5" means -source 1.5 meaning JDK 1.5 which is Java 5. My
>> distro, Slackware, doesn't have an official JDK package (rather telling,
>> since it includes toolchains for every other popular language) but there's
>> a high profile 3rd-party one, openjdk-8u392.
>>
>> At https://developer.android.com/tools/releases/sdk-tools I found the
>> notice:
>> "...we are discontinuing an old way of updating artifacts for the SDK
>> manager. ...we will no longer publish updates with this older XML format.
>> Users of older versions of Android Studio, the old command-line SDK
>> Manager, or the old SDK Manager UI will not receive updates to the SDK
>> components via the SDK Manager"
>> Also, in the notes for "SDK Tools, Revision 25.3.0 *(March 2017)", *it
>> says that the "android" commandline tool and ant scripts have been removed.
>> In "SDK Tools, Revision 26.0.0 *(March 2017)" *it says* "*tools/android
>> now attempts to reproduce the functionality of android in tools prior to
>> version 25.3.0 by invoking the new tools"
>>
>>
>>
>> On Tue, 26 Dec 2023 at 11:31, James Paige 
>> wrote:
>>
>>> I have no idea how I managed to get platform version 31 installed in my
>>> 2012 Android SDK *shrug*
>>> I also ran into a "Source option 5 is no longer supported." openjdk8 was
>>> the last java to support whatever "option 5" means. And Debian 9 was the
>>> last debian to support openjdk8
>>>
>>> After a lot of messing around, I think I finally got the android nightly
>>> building in a docker image (still using my cargo-cult artifact copy of the
>>> android SDK)
>>>
>>> I'll push the Dockerfile for it. I ended up using Debian 11, but
>>> installing an Amazon "corretto" backport of OpenJDK-8 and I /think/ it all
>>> works. I managed to produce a debug apk a few minutes ago. If I can confirm
>>> it actually installs and runs on my phone I'm going to update the nightly
>>> build system to do it this way.
>>>
>>> > And I notice that block was modified in 4701548e0 ("SDL: switched
>>> build system from Ant to Gradle") to make "android" optional. It's also
>>> used in build/envsetup.sh but I don't remember ever running that.
>>>
>>> Aha, thanks! I'll check that out too.
>>>
>>>
>>>
>>> On Mon, Dec 25, 2023 at 4:56 PM Ralph Versteegen 
>>> wrote:
>>>
 Well, you don't want the SDK that I have, because it no longer works!
 Running "android" (a binary from 2018) I get Android SDK Manager revision
 25.2.5 which shows the most recent "SDK Platform" available for install
 being one for Android API 29 (Android 10). Which is the one I have
 installed. I had been meaning to install a newer SDK but had no idea that
 the SDK manager itself was no longer functional.

 Since you have targetSdkVersion set to 30, my SDK no longer works (it
 gets all the way through compiling and linking but fails in the final steps
 of packaging the .apk). I managed to create an .apk only by decreasing the
 target to 29 and changing my PATH to point to an older javac (javac from
 jdk-17.0.1 threw an error "Source option 5 is no longer supported. Use 7 or
 later." (about its "-source 1.5" argument), while javac 1.8.0 from
 openjdk-8u392 only printed a deprecation warning. Seems like Java has
 suffered a Perl 5/6-style fork)

 BTW when I try to edit  android:targetSdkVersion="30" in
 project/AndroidManifest[Template].xml it seems to have no effect. I finally
 figured out I have to edit project/project.properties too. That file claims
 to be autogenerated but is it? I couldn't figure out how to do so.



 On Tue, 26 Dec 2023 at 06:11, James Paige via Ohrrpgce <
 ohrrpgce@lists.motherhamster.org> wrote:

> TMC, Question! What version of the Android SDK do you have installed?
>
> I think my version is probably from around 2012, and it is so old I
> don't even know how to install it again (which makes it rough to create a
> Docker image for it)
>
> I tried with the latest SDK, but it doesn't even have the "android"
> binary a