You are not logged in.

#1 2013-02-04 14:47:12

dlin
Member
From: Taipei,Taiwan
Registered: 2005-09-21
Posts: 265

How to install arch-any packages for another arch?

I'm porting Arch Linux on sh4 CPU.

I setup pacman.conf as following to try install 'any' arch packages easily.

[myrepo]
my local server , my gcc still keep on old version
[core]
arch's mirror  with newer version gcc but in i686
[extra]
arch's mirror

But, if I run "pacman -S gcc" it will force me to install i686 files.

Is there any tip which I could setup for this situation?


Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages

Offline

#2 2013-02-04 17:11:25

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,362

Re: How to install arch-any packages for another arch?

Any packages are only when architecture for the package doesn't matter.  These are only for special situations where the same package works for any architecture, they are not executable binaries usually, and more data to a program that requires a binary package that works on your architecture.

If your OS architecture is i686, and you are trying to install packages for x86_64, they won't install.  You will have to have a x86_64 architecture to install x86_64 successfully.  Pacman has a --arch argument.

Last edited by nomorewindows (2013-02-04 17:14:46)


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#3 2013-02-04 23:51:18

dlin
Member
From: Taipei,Taiwan
Registered: 2005-09-21
Posts: 265

Re: How to install arch-any packages for another arch?

My OS arch=sh4.

I always use makepkg -A to build packages.


Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages

Offline

#4 2013-02-05 00:35:15

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,362

Re: How to install arch-any packages for another arch?

dlin wrote:

My OS arch=sh4.

I always use makepkg -A to build packages.

SH4 architecture and you're building the toolchain yourself...I think you are going to have to build your own repository.  Unless you have packages with sh4 architecture, pacman is going to try to use what it was designed for (unless modified), i686 and x86_64.  I have set the architecture to i586 using connochaetos repositories but that it scaleable architecture.  You probably have to modify the pacman to accept sh4 packages.  The package files will have sh4.pkg.tar.* extentions I would imagine.  Because as long as you actually have a physical sh4 processor, all pacman does is dump the package archives and do any install time scripts appropriate for the architecture.  There is a tool that allows you to build your own repositories.  You could practically start your own ArchLinuxSH4 distribution just like ArchLinuxPPC and ArchLinuxARM.


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#5 2013-02-05 01:24:47

dlin
Member
From: Taipei,Taiwan
Registered: 2005-09-21
Posts: 265

Re: How to install arch-any packages for another arch?

Thank you for your reply.
I've been building archlinux toolchain in sh4.
But, I decide some base tool chain keep the STLinux(which come from original OS).

Now, pacman and yaourt can work.

But, I which I can keep 'any' packages just use the arch's mirror.  Because that will let me keep update-to-date 'any' arch packages.


Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages

Offline

#6 2013-02-05 15:31:08

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,362

Re: How to install arch-any packages for another arch?

dlin wrote:

Thank you for your reply.
I've been building archlinux toolchain in sh4.
But, I decide some base tool chain keep the STLinux(which come from original OS).

Now, pacman and yaourt can work.

But, I which I can keep 'any' packages just use the arch's mirror.  Because that will let me keep update-to-date 'any' arch packages.

You'll just have to find the 'any' packages and add them to your repository.


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#7 2013-02-05 15:57:27

dlin
Member
From: Taipei,Taiwan
Registered: 2005-09-21
Posts: 265

Re: How to install arch-any packages for another arch?

nomorewindows wrote:

You'll just have to find the 'any' packages and add them to your repository.

That's my temp solution.  But that means I must keep updating with 'any' architecture.


Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages

Offline

#8 2013-02-06 10:19:23

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: How to install arch-any packages for another arch?

Dlin, chances are pacman/linux kernel  THINK you're running on a i686 processor.

check man pacman.conf for details about the architecture setting of pacman.conf .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#9 2013-02-06 11:17:51

dlin
Member
From: Taipei,Taiwan
Registered: 2005-09-21
Posts: 265

Re: How to install arch-any packages for another arch?

Sorry, I don't understand English very well.
I'm porting on 'sh4' CPU which is not x86 series.

Lone_Wolf wrote:

Dlin, chances are pacman/linux kernel  THINK you're running on a i686 processor.

check man pacman.conf for details about the architecture setting of pacman.conf .


Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages

Offline

#10 2013-02-06 12:46:57

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: How to install arch-any packages for another arch?

man pacman.conf wrote:

Architecture = auto | i686 | x86_64 | ...
           If set, pacman will only allow installation of packages of the given architecture (e.g.  i686, x86_64, etc). The special value auto will use the system architecture, provided by “uname -m”.
If unset, no architecture checks are made.  NOTE: packages with the special architecture any can always be installed, as they are meant to be architecture
           independent.

Check /etc/pacman.conf , if it has

Architecture=auto

try replacing it with

Architecture=sh4

.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#11 2013-02-07 02:31:09

dlin
Member
From: Taipei,Taiwan
Registered: 2005-09-21
Posts: 265

Re: How to install arch-any packages for another arch?

I do more test

# /etc/pacman.conf
Architecture = sh4
[core]
 http://mirror/i686
[extra]
http://mirror/i686
[sh4]
http://local/

1. If I use '-f' on pacman, it will force me to install i686 packages if missing in my own repo.(I use -f to overwrite exiss files on wrong install)
2. It will force me install i686 packages if same name-version package exist.
3. If there are newer i686 packages, it will try to install  i686 instead of mine

So, I changed to

# /etc/pacman.conf
Architecture = sh4
[sh4]
http://local/
[core]
 http://mirror/i686
[extra]
http://mirror/i686

But, it still happend about Q1,Q3.

My temp solution is just mirror all any packages on my local repo.

# /etc/pacman.conf
Architecture = sh4
[sh4]
http://local/

Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages

Offline

#12 2013-02-07 14:25:14

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: How to install arch-any packages for another arch?

ok, your situation is getting clearer.

A1 : using -f is almost always a bad idea and can screw up your system

A3: this sounds like a bug in pacman.

please post your complete pacman.conf .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#13 2013-02-07 16:30:13

dlin
Member
From: Taipei,Taiwan
Registered: 2005-09-21
Posts: 265

Re: How to install arch-any packages for another arch?

# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
HoldPkg     = pacman glibc
# If upgrades are available for these packages they will be asked for first
SyncFirst   = pacman
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = sh4

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   = glibc
#IgnoreGroup =

#NoUpgrade   =
NoExtract   = /bin/sh /bin/login

# Misc options
#UseSyslog
#UseDelta
#TotalDownload
#CheckSpace
#VerbosePkgLists

# PGP signature checking
#SigLevel = Optional
SigLevel = Never

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.

# An example of a disabled remote package repository with multiple servers
# available. To enable, uncomment the following lines. You can add preferred
# servers immediately after the header and they will be used before the
# default mirrors.

[sh4twbox]
Server = http://t:8000/sh4twbox

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

[archlinuxfr]
Server = http://repo.archlinux.fr/i686

in /etc/pacman.d/mirrorlist

Server = http://archlinux.cs.nctu.edu.tw/$repo/os/i686
Server = http://shadow.ind.ntou.edu.tw/archlinux/$repo/os/i686
Server = http://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/i686

Running 4 ArchLinux including sh4twbox,server,notebook,desktop. my AUR packages

Offline

#14 2013-02-07 23:41:49

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,362

Re: How to install arch-any packages for another arch?

Your mirrorlist is going to default to i686.  You need to change that to $arch.
That archlinuxfr is also set to i686, hack that part off of there.

Last edited by nomorewindows (2013-02-07 23:43:02)


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

Board footer

Powered by FluxBB