Issues Porting JuliaBinaryWrappers

I’ll take that as an honest question and give an honest answer: yes.

Here is the full Readme from :frowning:

# `MbedTLS_jll.jl` (v2.16.8+1)

This is an autogenerated package constructed using [`BinaryBuilder.jl`](https://github.com/JuliaPackaging/BinaryBuilder.jl). The originating [`build_tarballs.jl`](https://github.com/JuliaPackaging/Yggdrasil/blob/430673670e24cfce324a0c01f9972ce91f87a028/M/MbedTLS/build_tarballs.jl) script can be found on [`Yggdrasil`](https://github.com/JuliaPackaging/Yggdrasil/), the community build tree.  If you have any issue, please report it to the Yggdrasil [bug tracker](https://github.com/JuliaPackaging/Yggdrasil/issues).

For more details about JLL packages and how to use them, see `BinaryBuilder.jl` [documentation](https://juliapackaging.github.io/BinaryBuilder.jl/dev/jll/).

## Sources

The tarballs for `MbedTLS_jll.jl` have been built from these sources:

* git repository: https://github.com/ARMmbed/mbedtls.git (revision: `848a4e06b375e067552f1a21d4bc69322c673217`)

## Platforms

`MbedTLS_jll.jl` is available for the following platforms:

* `Linux aarch64 {libc=glibc}` (`aarch64-linux-gnu`)
* `Linux aarch64 {libc=musl}` (`aarch64-linux-musl`)
* `Linux armv7l {call_abi=eabihf, libc=glibc}` (`armv7l-linux-gnueabihf`)
* `Linux armv7l {call_abi=eabihf, libc=musl}` (`armv7l-linux-musleabihf`)
* `Linux i686 {libc=glibc}` (`i686-linux-gnu`)
* `Linux i686 {libc=musl}` (`i686-linux-musl`)
* `Windows i686` (`i686-w64-mingw32`)
* `Linux powerpc64le {libc=glibc}` (`powerpc64le-linux-gnu`)
* `macOS x86_64` (`x86_64-apple-darwin`)
* `Linux x86_64 {libc=glibc}` (`x86_64-linux-gnu`)
* `Linux x86_64 {libc=musl}` (`x86_64-linux-musl`)
* `FreeBSD x86_64` (`x86_64-unknown-freebsd`)
* `Windows x86_64` (`x86_64-w64-mingw32`)

## Products

The code bindings within this package are autogenerated from the following `Products`:

* `LibraryProduct`: `libmbedcrypto`
* `LibraryProduct`: `libmbedtls`
* `LibraryProduct`: `libmbedx509`

It’s informative but for someone who doesn’t know julia it lacks the “start here” compile instructions that I’m used to for Makefile.PL or setup.py.

What porters need is the bit that correctly links what they do know to the package specific bit that they dont know_ (yet). Clearly lacking here. Everywhere in Julia binary extensions.

Great, so I take you found the line

If you have any issue, please report it to the Yggdrasil bug tracker.

So, what’s the point of the read-only community comment?

Well, that’s intentional: those are prebuilt binaries to let users not build anything themselves.

2 Likes

To close the loop, the build script itself for the supported platforms is stored here:

https://github.com/JuliaPackaging/Yggdrasil/blob/cbead1c7f570f4f0a8a503d418081340a08b1fa8/M/MbedTLS/common.jl#L27-L67

1 Like

That’s a bad intention.

The linked Yggdrasil (where the README directs you to) repo has issues.

@giordano is the main binary builder maintainer.


Sorry for being blunt, but you’re making it very hard to help you.

10 Likes

The linked Yggdrasil (where the README directs you to) repo has issues.

It does… wtf I couldn’t google this for my life…

Sorry for any offense or inconvenience…

1 Like

There are no issue pages in the repositories of that organisation because

  1. I’d be the single person on this planet actually reading them, that’s not very scalable
  2. those repositories are automatically generated and very uninteresting
  3. any actionable change should happen anyway in Yggdrasil, where there are also more eyes watching issues

I’m one of the developers responsible for this issue and I have appeared (despite my hard attempts not to, during my break), just saying

10 Likes

[Moderator Edit by @StefanKarpinski: this post has been restored to the original version for context with the later edit included below.]


Wow the real F you went from being a nuisance to my savior lol … dude I am just trying to port binary extensions to MINGW64 nothing too complicated.

The REAL complication is when everyone asks for up-to-date pull requests etc I just want it to work for me. That might sound selfish and it probably is, but years ago there was a clear path between extension source and extension binary.

julia doesn’t appear to be the first language to try to “upsell” porters to their small list of paying platforms. At least that it looked until my offbeat post got attention.

I AM VERY SORRY TO INTERRUPT YOUR BREAK

can I trust you to get back to me when you can?


[Later edit]


I can’t post further so I will just edit this one.

I have decided not to pursue this any further and, as already requested, would prefer to have this thread deleted altogether and have my account completely removed.

Thank you.

2 Likes

Hey @scanf, your attitude throughout this thread isn’t how we do things here. I understand you were frustrated and I know you’re new, but that’s no reason to malign the intentions of posters here or expect immediate attention.

Mosè has indeed announced taking a much-needed (and well-deserved) vacation for the next few weeks, but there is an active and friendly community of binary builders; even without the break you shouldn’t need nor expect personal service and attention from Mosè. Introducing a new platform is a hugely significant undertaking that requires community support, and while there may be other ways of manually building some of these binaries it is important to note that you’re off the well-trod path and there will be some challenges along the way.

14 Likes

Hi there, @scanf. I think it’s fairly clear at this point that your behavior and attitude here aren’t appropriate. I too am on vacation, so you’ve now managed to create enough of a ruckus to disrupt the vacations of at least two “senior Julia devs”. We would love to support mingw64, but I think it will have to wait until someone with a more constructive approach encounters this issue. We won’t delete this thread but if you want to anonymize and close your account, we can do that for you.

7 Likes

Added comments by @scanf removed from the above comment and posted here instead. [Discourse’s moderation behavior is unhelpful: it prevents TL0 users from posting more than 5 times a day, but allows them to edit old comments indefinitely.]

Hi Stefan,

And the reverse is pretty obvious to me. I asked a simple question that really should have had a simple answer. Instead I was questioned for what I was doing and why, got told I was rude - and still never actually got an answer. You have your perspective I have mine, but if you don’t want future posters to get on their hind legs please don’t start with “you shouldn’t be doing that anyway” we get really sick of hearing it.

Anyhow moving forward and for future MINGW64 users, these are the required steps as I see them after a day on my own. Hopefully this will also help you see what I needed:

  1. have a windows version of 7z.exe in your path. THE MSYS2 version reads the filesystem as a pseudo-cygwin gibberish mount and it won’t understand the DOS paths which JLLWrappers currently throws at it.
  2. INSTALL DebugArtifacts. This package is an absolute must for any cross-system users who just need a foothold into what is actually going on:
pkg> add https://github.com/giordano/DebugArtifacts.jl.git

and then

julia> using DebugArtifacts
julia> debug_artifact("MbedTLS")

… and WOW some really easy to follow detailed feedback (kodos to fredrikekre for that one)

It also helps to try changing up pkg servers. Apperantly this has been a real issue with julia so people do stuff like:
set JULIA_PKG_SERVER=https://us-west.pkg.julialang.org

Really those are the highlights. After that it purrs like a kitten. I apologize that I felt it necessary to stand up to you guys but I hope that this feedback helps show that I was sincere… BTW JULIA is a REALLY nice language and I am absolutely loving it so far so there is that…

Glad you found a solution.

11 Likes