C-toxcore: Android compile failed on Jenkins

Created on 12 Aug 2018  路  16Comments  路  Source: TokTok/c-toxcore

I want to use the latest file(.so) for android ,but In Jenkins was failed: https://build.tox.chat/job/libtoxcore-toktok_build_android_arm64_static_release/ How can I upgrade the latest file(.so)

P3

All 16 comments

I looked into what was causing the undeclared symbols but didn't figure it out. @iphydf want to take a look? That's how it's being built (look for "android").

<nurupo> huh
<nurupo> android toxcore stopped building about 1 and 1/2 months ago
<nurupo> something is up with toxencryptsave or libsodium
<nurupo> >../toxencryptsave/toxencryptsave.c:45:2: error: TOX_PASS_SALT_LENGTH is assumed to be equal to crypto_pwhash_scryptsalsa208sha256_SALTBYTES
<nurupo> >#error TOX_PASS_SALT_LENGTH is assumed to be equal to crypto_pwhash_scryptsalsa208sha256_SALTBYTES
<nurupo> the compile-time assert has failed
<nurupo> >../toxencryptsave/toxencryptsave.c:110:24: error: use of undeclared identifier 'crypto_pwhash_scryptsalsa208sha256_SALTBYTES'
<nurupo> if it's undefined, it can't be equal to it
<nurupo> makes sense
<nurupo> will have to look into why it's undefined now

Jenkins should start using the scripts/* makefiles.

Jenkins should shutdown to be honest, no one uses it anymore and I don't want to maintain it. The only builds on there that are somewhat being used are nightly qTox builds, which could be replaced with the GitHub Releases script I'm writing, and maybe also musl toxic builds, which can be done on toxic's Travis-CI too.

@iphydf where can I find scripts/* to build c-toxcore, perhaps it's something obvious and I could eyeball what it does differently. I somewhat doubt that your suggestion of using the script on Jenkins would work though, at least without modifying the script, as for it to work the script would need to be customizable, e.g. I should be able to tell it where the Android toolchain is installed, where the already pre-build sodium, vpx, etc. are located and so on.

@wangxuefang have you tried building toxcore for Android yourself? Might be a faster route and you wouldn't be affected if Jenkins does indeed shut down.

@nurupo is the "--enable-minimal" libsodium configure settings active? that should be removed

@zoff99 yes, it is

./configure --prefix="$PREFIX_DIR" --disable-shared --enable-static --host="$TOOLCHAIN" --disable-soname-versions --disable-pie --enable-minimal --with-sysroot=$TOOLCHAIN_DIR/sysroot

I will try removing that and see if it works. It worked before with --enable-minimal though.

@zoff99 that fixed the build!

@wangxuefang should be fixed now.

@nurupo I'm trying to build toxcore by myself, but i'm a novice in this, I'm trying to build in Android Stuido and NDK, but failed, can you give me a document about how to build toxcore? Thank you.

@nurupo Did the jenkins has shutdown? I can't access the jenkins now.

You first need to build all of toxcore's dependencies: sodium, vpx and opus and then build toxcore linking it to those. You cross-compile those as usually, using the NDK toolchain, but vpx requires some non-standard arguments so check its README. It's a bit too much to explain it all in here...

@iphydf is saying he got some makefiles somewhere, I think he talks about the Java toxcore bindings, it supposedly automates everything for you or close to it, so it should be easier to use, you could give that a try. (There is also an example echo bot written in Java that uses the bindings).

Jenkins is up for me.

@nurupo @iphydf It seems complicated, can you compile a new file of .so for my android app?Jenkins:https://build.tox.chat/job/tox4j_build_android_arm64_release/ this is for arm64,but it seems failed. as arm64,I also need the files of .so on armeabi-v7a,x86. thank you.

@wangxuefang you originally linked to https://build.tox.chat/job/libtoxcore-toktok_build_android_arm64_static_release/ which did get fixed, it should contain the .so files and whatnot. iphy's jars should also contain those. As far as that tox4j jenkins job you are linking to now, I'd need @iphydf's assistance on that one, but he probably thinks it's a pointless waste of time since the makefiles in the repo work and there are bintray artifacts which can be used directly in maven/whatnot, what more would one need? I can't really blame him for thinking that way, it is a bit pointless waste of time indeed, well, aside from the fact that Antox uses it and thus it has been stuck on toxcore v0.1.x for a year now with the tox4j builds failing all this time, but then Antox could be modified to pull the jars off maven repo on bintray instead of fixing the tox4j jenkins build so it's not really an argument.

@nurupo @iphydf I see, Thanks for your help.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Geremia picture Geremia  路  4Comments

MrSorcus picture MrSorcus  路  10Comments

hkarel picture hkarel  路  8Comments

grinapo picture grinapo  路  4Comments

zoff99 picture zoff99  路  4Comments