[archlinux] libaio issues

See original GitHub issue

@sgugger is trying to get offload/nvme to work on archlinux and has issues building the async_io extension.

First, I discovered Archlinux (I don’t know this system) doesn’t do dev packages, but packs everything into one package.

So there it is pacman libaio which he installed. I did check that that package https://archlinux.org/packages/core/x86_64/libaio/ contains libaio.h and libaio.so.1

What else is missing? he is still getting:

 [WARNING]  async_io requires the libraries: ['libaio-dev'] but are missing. Can be fixed by: `apt install libaio-dev`.

On ubuntu:

$ dpkg-query -L libaio-dev
/usr/include/libaio.h
/usr/lib/x86_64-linux-gnu/libaio.a
/usr/lib/x86_64-linux-gnu/libaio.so

(I trimmed the output)

On archlinux: (package I manually downloaded from https://archlinux.org/packages/core/x86_64/libaio/)

$ tar xvf libaio-0.3.112-2-x86_64.pkg.tar
usr/include/libaio.h
usr/lib/libaio.so.1.0.1

(again trimmed to the essentials)

So the latter is missing libaio.a - does async_io want the static object and won’t use the shared object? Is that the problem?

You can see how archlinux package was built here: https://github.com/archlinux/svntogit-packages/blob/packages/libaio/trunk/PKGBUILD

In any case I think it’d be useful to expose the build command and the error and not just have:

self = <deepspeed.ops.op_builder.async_io.AsyncIOBuilder object at 0x7fc52033a790>, verbose = True
    def jit_load(self, verbose=True):
        if not self.is_compatible():
            raise RuntimeError(
>               f"Unable to JIT load the {self.name} op due to it not being compatible due to hardware/software issue."
            )
E           RuntimeError: Unable to JIT load the async_io op due to it not being compatible due to hardware/software issue.

Since as you can see on non-Ubuntu system, this would be much more difficult to debug and need the actual compiler error.

@tjruwase

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:35 (34 by maintainers)

github_iconTop GitHub Comments

1reaction
stas00commented, Jun 2, 2021

ok, success with my hack.

stochastic_transformer_op won’t link, so we had to remove DS_BUILD_STOCHASTIC_TRANSFORMER=1

1reaction
tjruwasecommented, Jun 2, 2021

I’m not following your suggestion, isn’t this ticket not it already?

Yes, you are correct. This is good enough.

@sgugger, can you please confirm that you are unblocked.

Read more comments on GitHub >

github_iconTop Results From Across the Web

[Solved] installing libaio (0.3.111-1) breaks dependency
The issue is that lib32-libaio package is not yet updated to version 0.3.111 (right now it's version 0.3.110-1 and has dependency to ...
Read more >
libaio package missing, dbca can not execute sqlplus, but ...
Dear there, I just installed sql 11g on my T60 running Ubuntu 8.04. I can run sqlplus /nolog on a terminal with no...
Read more >
[Bug 1884719] Re: Function not implemented when using libaio ...
... trying to use Linux libaio library in foreign architecture, e.g. aarch64. ... Here are the steps to reproduce the issue: 1) On...
Read more >
Alpine Linux packages
File, Package, Branch, Repository, Architecture. /usr/lib/libaio.so.1, libaio, edge, main · x86. /usr/lib/libaio.so.1.0.2, libaio, edge, main · x86 ...
Read more >
My Oracle Support | Knowledge Browser | 386391.1
The equivalent NOTE for the Oracle Enterprise Linux (OEL) is NOTE ... The ADDITION of such RPM groupings is NOT an issue. ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found