-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
addpkg(main/hledger-cli): 1.43.2 #25265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
62e4add
to
235c3a6
Compare
It says that the first error that will need to be solved is this can happen because of using chmod -x packages/hledger/build.sh
git add packages/hledger/build.sh
git commit --amend
# try "downstream" first, later "origin" or whatever shows to the left of your fork repository
# URL in the output from the command "git remote -v"
git push -f downstream master
|
Thank you, I'll try that. But while the build fails in CI, could you take a look at the local build result or you trust CI only? |
I could soon sure, but also, I have requested for MrAdityaAlok to check if they know any way to build this software for Android and resolve the error, because they are very great with Haskell for Android and also they will know the best changes to make to |
I see other linting failures meanwhile, will get on to fixing them. |
got up to |
I've tried also to build the package for |
- Executable stripping does not work while cross-compiling Signed-off-by: Aditya Alok <[email protected]>
I get much further when reverting a config change to Cabal - so I think indeed, something got fixed for |
thanks, let me try rebasing onto it!
…On Sun, Jul 6, 2025 at 12:36 PM Aditya Alok ***@***.***> wrote:
*MrAdityaAlok* left a comment (termux/termux-packages#25265)
<#25265 (comment)>
@erplsf <https://github.com/erplsf> #25273
<#25273> should fix your
issue.
—
Reply to this email directly, view it on GitHub
<#25265 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA7CHLBGF775QYPD7442AZ33HD323AVCNFSM6AAAAACA2235T2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTANBRGMYDCMJQGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
now that it build in ci, I'll go ahead and try to build it on my device to see if it runs/is usable (in case I forgot any dependencies) |
I know of several global errors that happened the last time I tried to build any haskell packages on-device, I assumed it was just not ready yet. but maybe now, we can find a way to fix those errors if they still happen. |
Yes, that's ok if it's too tedious to do that. Just now, I did try to build using the patch for basement that MrAdityaAlok sent, and it succeeded for aarch64, but for 32-bit arm it failed with this error: error for 32-bit ARM of building PR #25265 including the patch for basement
|
so it seems that more packages need patching the same way to change their
type signatures to support 32 bit. oh well.
…On Mon, Jul 7, 2025 at 11:51 AM Robert Kirkman ***@***.***> wrote:
*robertkirkman* left a comment (termux/termux-packages#25265)
<#25265 (comment)>
thanks for the idea, but as upstream (hledger) itself only provides 64bit
downloads, I'm hesitant in trying to even try to build it for 32bit.
Yes, that's ok if it's too tedious to do that.
Just now, I did try to build using the patch for basement that
MrAdityaAlok sent, and it succeeded for aarch64, but for 32-bit arm it
failed with this error:
error for 32-bit ARM of building PR #25265
<#25265> including the
patch for basement
Failed to build cborg-0.2.10.0.
Build log (
/home/builder/.cache/cabal/logs/ghc-9.12.2/cborg-0.2.10.0-bb163ac9a8bf4883e5d6262773b4128df5bea9a994b916970449b526d6ac046d.log
):
Configuring library for cborg-0.2.10.0...
Preprocessing library for cborg-0.2.10.0...
Building library for cborg-0.2.10.0...
[ 1 of 14] Compiling Codec.CBOR.ByteArray.Internal ( src/Codec/CBOR/ByteArray/Internal.hs, dist/build/Codec/CBOR/ByteArray/Internal.o )
[ 2 of 14] Compiling Codec.CBOR.ByteArray.Sliced ( src/Codec/CBOR/ByteArray/Sliced.hs, dist/build/Codec/CBOR/ByteArray/Sliced.o )
src/Codec/CBOR/ByteArray/Sliced.hs:44:1: warning: [GHC-66111] [-Wunused-imports]
The qualified import of ‘Data.ByteString.Short.Internal’ is redundant
except perhaps to import instances from ‘Data.ByteString.Short.Internal’
To import instances alone, use: import Data.ByteString.Short.Internal()
|
44 | import qualified Data.ByteString.Short.Internal as BSS
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 3 of 14] Compiling Codec.CBOR.ByteArray ( src/Codec/CBOR/ByteArray.hs, dist/build/Codec/CBOR/ByteArray.o )
src/Codec/CBOR/ByteArray.hs:39:1: warning: [GHC-66111] [-Wunused-imports]
The qualified import of ‘Data.ByteString.Short.Internal’ is redundant
except perhaps to import instances from ‘Data.ByteString.Short.Internal’
To import instances alone, use: import Data.ByteString.Short.Internal()
|
39 | import qualified Data.ByteString.Short.Internal as BSS
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 4 of 14] Compiling Codec.CBOR.Decoding ( src/Codec/CBOR/Decoding.hs, dist/build/Codec/CBOR/Decoding.o )
src/Codec/CBOR/Decoding.hs:426:62: error: [GHC-83865]
• Couldn't match expected type ‘Word#’ with actual type ‘Word64#’
• In the first argument of ‘toWord64’, namely ‘w64#’
In the first argument of ‘k’, namely ‘(toWord64 w64#)’
In the expression: k (toWord64 w64#)
|
426 | Decoder (\k -> return (ConsumeWord64 (\w64# -> k (toWord64 w64#))))
| ^^^^
src/Codec/CBOR/Decoding.hs:445:65: error: [GHC-83865]
• Couldn't match expected type ‘Word#’ with actual type ‘Word64#’
• In the first argument of ‘toWord64’, namely ‘w64#’
In the first argument of ‘k’, namely ‘(toWord64 w64#)’
In the expression: k (toWord64 w64#)
|
445 | Decoder (\k -> return (ConsumeNegWord64 (\w64# -> k (toWord64 w64#))))
| ^^^^
src/Codec/CBOR/Decoding.hs:485:60: error: [GHC-83865]
• Couldn't match expected type ‘Int#’ with actual type ‘Int64#’
• In the first argument of ‘toInt64’, namely ‘n64#’
In the first argument of ‘k’, namely ‘(toInt64 n64#)’
In the expression: k (toInt64 n64#)
|
485 | Decoder (\k -> return (ConsumeInt64 (\n64# -> k (toInt64 n64#))))
| ^^^^
src/Codec/CBOR/Decoding.hs:525:71: error: [GHC-83865]
• Couldn't match expected type ‘Word#’ with actual type ‘Word64#’
• In the first argument of ‘toWord64’, namely ‘w64#’
In the first argument of ‘k’, namely ‘(toWord64 w64#)’
In the expression: k (toWord64 w64#)
|
525 | Decoder (\k -> return (ConsumeWord64Canonical (\w64# -> k (toWord64 w64#))))
| ^^^^
src/Codec/CBOR/Decoding.hs:544:74: error: [GHC-83865]
• Couldn't match expected type ‘Word#’ with actual type ‘Word64#’
• In the first argument of ‘toWord64’, namely ‘w64#’
In the first argument of ‘k’, namely ‘(toWord64 w64#)’
In the expression: k (toWord64 w64#)
|
544 | Decoder (\k -> return (ConsumeNegWord64Canonical (\w64# -> k (toWord64 w64#))))
| ^^^^
src/Codec/CBOR/Decoding.hs:584:69: error: [GHC-83865]
• Couldn't match expected type ‘Int#’ with actual type ‘Int64#’
• In the first argument of ‘toInt64’, namely ‘n64#’
In the first argument of ‘k’, namely ‘(toInt64 n64#)’
In the expression: k (toInt64 n64#)
|
584 | Decoder (\k -> return (ConsumeInt64Canonical (\n64# -> k (toInt64 n64#))))
| ^^^^
src/Codec/CBOR/Decoding.hs:990:22: error: [GHC-83865]
• Couldn't match expected type ‘Int#’ with actual type ‘Int64#’
• In the first argument of ‘intToInt64#’, namely ‘off#’
In the first argument of ‘I64#’, namely ‘(intToInt64# off#)’
In the first argument of ‘k’, namely ‘(I64# (intToInt64# off#))’
|
990 | (intToInt64# off#)
| ^^^^
[ 5 of 14] Compiling Codec.CBOR.Magic ( src/Codec/CBOR/Magic.hs, dist/build/Codec/CBOR/Magic.o )
src/Codec/CBOR/Magic.hs:124:1: error: [GHC-87110]
Could not find module ‘GHC.IntWord64’.
Use -v to see a list of the files searched for.
|
124 | import GHC.IntWord64 (wordToWord64#, word64ToWord#,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
[ 7 of 14] Compiling Codec.CBOR.Encoding[boot] ( src/Codec/CBOR/Encoding.hs-boot, dist/build/Codec/CBOR/Encoding.o-boot )
[ 8 of 14] Compiling Codec.CBOR.FlatTerm[boot] ( src/Codec/CBOR/FlatTerm.hs-boot, dist/build/Codec/CBOR/FlatTerm.o-boot )
[ 9 of 14] Compiling Codec.CBOR.Encoding ( src/Codec/CBOR/Encoding.hs, dist/build/Codec/CBOR/Encoding.o )
Error: [Cabal-7125]
Failed to build cborg-0.2.10.0 (which is required by exe:hledger from hledger-1.43.2). See the build log above for details.
—
Reply to this email directly, view it on GitHub
<#25265 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA7CHLCWAL3EKGRO56VS7VT3HI7LLAVCNFSM6AAAAACA2235T2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTANBUGIZTSMBTGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Got this at the moment:
|
if get the build to work on device first we can later work on refactoring the scripts. |
|
|
This is acceptable, since there is already a very large amount of preexisting packages that cannot be built on-device. However, if you find any easy way to fix the problem for on-device building, it is still good to apply it. Ideally, all packages would be great if buildable fully on-device, and I would like to get close to that goal some day, but this challenge is very difficult and can take many years, so some new packages being added that cannot be built on-device doesn't really slow it down that much, relatively. |
I'll try, but I'm already very happy with the results as they are.
…On Mon, Jul 7, 2025 at 1:25 PM Robert Kirkman ***@***.***> wrote:
robertkirkman left a comment (termux/termux-packages#25265)
if we want we can drop work on the on-device build for now and accept the win that we already have - we can try to package and distribute it as a binary for now.
This is acceptable, since there are already very large number of preexisting packages that cannot be built on-device. However, if you find any easy way to fix the problem for on-device building, it is still good to apply it.
Ideally, all packages would be great if buildable fully on-device, and I would like to get close to that goal some day, but this challenge is very difficult and can take many years, so some new packages being added that cannot be built on-device doesn't really slow it down that much, relatively.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
I started testing the aarch64 binary artifact a little bit, I have noticed some things that might be possible to tweak to polish the experience,
|
thanks! i assume you got the binary from the ci results? |
Correct |
|
I'll try to ask around the GHC Matrix channel.
…On Mon, Jul 7, 2025, 14:53 Aditya Alok ***@***.***> wrote:
*MrAdityaAlok* left a comment (termux/termux-packages#25265)
<#25265 (comment)>
Got this at the moment:
dlopen failed: cannot locate symbol "stg_upd_frame_info" referenced by
"/data/data/com.termux/files/home/.cabal/store/ghc-9.12.2-inplace/quote-quot-0.2.1.0-f00e68c33f055879f54c456f833b4501b64ee4bacfccebfd737ffe8b47b82052/lib/libHSquote-quot-0.2.1.0-f00e68c33f055879f54c456f833b4501b64ee4bacfccebfd737ffe8b47b82052-ghc9.12.2.so
"...
[ 8 of 10] Compiling Data.Text.Builder.Linear.Char (
src/Data/Text/Builder/Linear/Char.hs,
dist/build/Data/Text/Builder/Linear/Char.o,
dist/build/Data/Text/Builder/Linear/Char.dyn_o )
Error: [Cabal-7125]
Failed to build text-builder-linear-0.1.3 (which is required by exe:hledger
from hledger-1.43.2). See the build log above for details.
"stg_upd_frame_info"
I have many times tried to solve this or even find what causes it, but
never succeeded. It has occurred many a times during on device build.
—
Reply to this email directly, view it on GitHub
<#25265 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA7CHLC3U5AJDBOJLWVGAUD3HJUVFAVCNFSM6AAAAACA2235T2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTANBUHE2TAOBVGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
copying over a response from there:
|
Maybe it has something do with this: android/ndk#201 |
@MrAdityaAlok let's get this reviewed as change without on-device build - I'm making a pause on it now, as I won't have time to debug on-device builds anymore soon, so I want users to at least get the prebuilt version ready to use. |
Greetings,
This is a PR in an attempt to package
hledger
for Termux. I'm not very accustomed with the way that Haskell programs are built, and even less so with Termux-specific process. I've tried to follow the general steps where I could - added dependencies and other small tweaks.I've decided to adjust common build steps
make
andmake_install
to also detect other naming convention for Cabal projects.But the build fails now on compiling
exe:alex
and I'm out of luck. Any help or pointers are very welcome.Here I also attach the full build log when running
./scripts/run-docker.sh ./build-package.sh -f -I hledger
.Ideally this closes #3803 and simonmichael/hledger#398.
build.log