Arch files in nonarch directory when using alien

I want to install craftstudio.deb, and so got alien, sign in as root, and type cd Desktop, then ~find
CraftStudio.deb, and then alien -r CraftStudio.deb, but then it displays an error: arch files in a nonarch binary or something. please help, I am new to installing via terminal in linux, and any help would be appreciated.

Hello @epeon: welcome to Fedora! Please take a look at the introductory posts in the #start-here category if you’ve not had a chance yet.

Well, alien does a pretty good job of converting debs to rpms, but it may not always work. Could we have some information on what we’re trying to do here?

  • what version of Fedora are you on?
  • what software/tool are you trying to install?
  • can you please summarise the steps you used and copy-paste the commands + errors for us?

Hi @epeon,

Are you trying to install this CraftStudio? It doesn’t look like an open-source project. Otherwise, it is more reliable to repackage from source, then install the package. Perhaps you can convince the vendors to consider rpm-based distros :stuck_out_tongue_winking_eye:

Have you seen Superpowers?

2 Likes

I’m new, so what do you mean repackage from source?

[root@localhost vanNiekerk]# cd Desktop
[root@localhost Desktop]# find CraftStudio.deb
CraftStudio.deb
[root@localhost Desktop]# alien -r CraftStudio.deb
Package build failed. Here's the log of the command (cd craftstudio-1.3.0; rpmbuild --buildroot='/home/vanNiekerk/Desktop/craftstudio-1.3.0' -bb --target noarch 'craftstudio-1.3.0-2.spec'):
Building target platforms: noarch
Building for target noarch
Processing files: craftstudio-1.3.0-2.noarch
warning: absolute symlink: /usr/games/CraftStudio -> /opt/CraftStudio/CraftStudioLauncher
Provides: application() application(CraftStudio.desktop) craftstudio = 1.3.0-2 mimehandler(x-scheme-handler/craftstudio)
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/bash libc.so.6 libc.so.6()(64bit) libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.7) libc.so.6(GLIBC_2.7)(64bit) libdl.so.2 libdl.so.2()(64bit) libm.so.6 libm.so.6()(64bit) libmono-2.0.so.1 libmono-2.0.so.1()(64bit) libmono-2.0.so.1(VER_1) libmono-2.0.so.1(VER_1)(64bit) libpthread.so.0 libpthread.so.0()(64bit) librt.so.1 librt.so.1()(64bit) rtld(GNU_HASH)
error: Arch dependent binaries in noarch package


RPM build errors:
    absolute symlink: /usr/games/CraftStudio -> /opt/CraftStudio/CraftStudioLauncher
    Arch dependent binaries in noarch package
[root@localhost Desktop]# 

I am in Fedora 31, trying to install Craft Studio. I have signed in as su. Thanks for the fast reply.:slightly_smiling_face:

1 Like

No, but it looks great. However, I want to contribute some ideas for Hytale, or get ready to make my own models in it, as I am very excited, and unfortunately this does seem to require Craft Studio.

Hi Epeon,

I’ve managed to convert the rpm, but it won’t install as it has a dependency libmono-2.0.so.1, which would probably be work around-able with a symlink to a library from the latest mono-core. But if I if try install without this dependency the install conflicts with:

filesystem-3.12-2.fc31.x86_64

I’m not going to dig any further (or recommend doing so), as this is now system breaking territory.

Also it doesn’t look like CraftStudio has been updated in nearly 3 years. I would do as twohot suggests and contact the vender about rpm-based distros or Ask the Superpowers developers if there is any compatibility.

Thanks Tom.

2 Likes

Thanks, I appreciate it a lot. For future reference, how did you do it? It was very confusing to google.

Hi,

I found this thread, which isn’t directly related:

But by creating:

/etc/rpm/macros

containing:

% _binaries_in_noarch_packages_terminate_build 0

Then sudo alien -r CraftStudio.deb worked as expected.

Thanks Tom.

1 Like

Im sorry, i dont quite understand, im new to the terminal, could you walk me through it?

1 Like

Hi,

You add:

% _binaries_in_noarch_packages_terminate_build 0

to the following file:

/etc/rpm/macros

with an editor, I would suggest vi or nano so:

$ sudo vi /etc/rpm/macros or $ sudo nano /etc/rpm/macros

Thanks Tom.

1 Like

And backup any files before editing them… :wink:

Hi,

The file is being created, so what exactly is there to backup?

where would i find this file?

below: folder == dir

Full name of the file:
/etc/rpm/macros

This is a file named macros. It’s inside of the dir named rpm.
rpm is inside of the dir named etc.
etc is inside of the root dir /.

In the Gnome Files app (Nautilus) your’re need to press a “other places” button, or something like this. It’s on the left side of the window.
In console your’re need to cd / to go from your ~/ (home dir) to the root of the file system (/).


That’s a lot of extra work, pass --target to alien instead:

[root@a4131f1327f3 /]# alien --target=x86_64 -r CraftStudio.deb 
craftstudio-1.3.0-2.x86_64.rpm generated

Of course, as stated earlier, you can’t install it because it uses different Mono libraries:

[root@a4131f1327f3 /]# dnf install ./craftstudio-1.3.0-2.x86_64.rpm 
Last metadata expiration check: 0:08:16 ago on Sun Feb  9 07:34:43 2020.
Error: 
 Problem: conflicting requests
  - nothing provides libmono-2.0.so.1 needed by craftstudio-1.3.0-2.x86_64
  - nothing provides libmono-2.0.so.1()(64bit) needed by craftstudio-1.3.0-2.x86_64
  - nothing provides libmono-2.0.so.1(VER_1) needed by craftstudio-1.3.0-2.x86_64
  - nothing provides libmono-2.0.so.1(VER_1)(64bit) needed by craftstudio-1.3.0-2.x86_64
(try to add '--skip-broken' to skip uninstallable packages)
1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.