Mojo build and pixi deps

I specify the following deps in my pixi.toml

[dependencies]
max = "=25.3.0"
zlib = ">=1.3.1,<2"
extramojo = "=0.14.0"

But looking at what the binary is linking to, it’s not using the versions supplied by pixi.

❯ otool -L ./ish
./ish:
        @rpath/libKGENCompilerRTShared.dylib (compatibility version 0.0.0, current version 0.0.0)
        @rpath/libAsyncRTMojoBindings.dylib (compatibility version 0.0.0, current version 0.0.0)
        @rpath/libAsyncRTRuntimeGlobals.dylib (compatibility version 0.0.0, current version 0.0.0)
        @rpath/libMSupportGlobals.dylib (compatibility version 0.0.0, current version 0.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.120.2)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.12)
        /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1700.255.5)

Why is that?

I noticed this when creating a rattler-build recipe and getting warnings about overlinking. Is there any way to tell mojo were to look for libraries to link to?

I do not have the foggiest about why it’s happening nor where to start looking…

I may have a troubleshooting tool - a flashlight for the rabbit hole - that may help.

find-links: which can either be a path {path = './links'} or a url {url = 'https://example.com/links'}. This is similar to the --find-links option in pip. These are merged across features into an environment.

Additionally, the prefix.dev discord is full of wonderful people as well.

1 Like

Thanks! This is the project in question: GitHub - BioRadOpenSource/ish: Alignment-based filtering CLI tool

According to Alex in Discord Mojo used to link against zlib, ncurses, and tinfo, but those have recently been removed. I’m using DLHandle here, and to be honest I’m not familiar enough with how linking or DLHandle works to understand exactly what that is linking against and when.

So, the problem with rattler-build warnings might be resolved on nightly! If that doesn’t fix it I’ll try the prefix.dev discord.