Bug 9991 - Нерабочий --target athlonxp (rpm-4.0.4-alt66)
: Нерабочий --target athlonxp (rpm-4.0.4-alt66)
Status: ASSIGNED
: Sisyphus
(All bugs in Sisyphus/rpm-build)
: unstable
: all Linux
: P2 normal
Assigned To:
:
: http://lists.altlinux.org/pipermail/d...
:
:
: 5274
  Show dependency tree
 
Reported: 2006-09-12 21:41 by
Modified: 2012-12-22 19:28 (History)


Attachments
athlonxp.patch (445 bytes, patch)
2006-09-12 21:44, solo
no flags Details | Diff
athlon_xp.add.patch (6.42 KB, patch)
2006-09-18 14:21, solo
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-09-12 21:41:05
1. Архитектура athlonxp не определяется автоматом. И судя по
rpm-4_0/lib/rpmrc.c
определиться неможет -- подстрока athlonxp в данном файле отсутствует, хотя
конкретный тип процессоров class == '6' разгребается там (сдесь -- могу врать:
пока незнаю деталей).

2. В случаи явного указания --target athlonxp, если в собираемом приложении
используется autotools -- сборка валится на этапе configure: config.sub не
знает
 архитектуры athlonxp (он знает только athlon, athlon_*, и athlon-*).

  Например:

+ libtoolize --copy --force
You should add the contents of
`/usr/share/libtool-1.5/aclocal/libtool.m4' to `aclocal.m4'.
+ ./configure --build=athlonxp-alt-linux --host=athlonxp-alt-linux
--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin
--sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include
--libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var/lib
--sharedstatedir=/usr/com --mandir=/usr/share/man
--infodir=/usr/share/info --disable-dependency-tracking
--without-included-gettext --with-mcrypt=/usr
checking build system type... Invalid configuration
`athlonxp-alt-linux': machine `athlonxp-alt' not recognized
configure: error: /bin/sh ./config.sub athlonxp-alt-linux failed

  Но, "./configure --build=athlon_xp-alt-linux --host=athlon_xp-alt-linux ..."
-- будет выполнено верно.
------- Comment #1 From 2006-09-12 21:44:41 -------
Created an attachment (id=1625) [details]
athlonxp.patch

Patch для /usr/lib/rpm/athlonxp-alt-linux/macros. Знаю, что костыль и/или
грязный хак, но -- сборка с явным указанием --target athlonxp с ним работает...
------- Comment #2 From 2006-09-13 10:46:27 -------
(In reply to comment #1)

Это действительно "грязный хак":)
Просто создание линков athlon_xp-* -> athlonxp-alt-linux помогает.
Думаю, следует исправить название архитектуры в пакете с athlonxp на athlon_xp 
или упаковывать и приведённые выше линки.
------- Comment #3 From 2006-09-13 14:11:07 -------
(In reply to comment #2)
> 
> Это действительно "грязный хак":)
> Просто создание линков athlon_xp-* -> athlonxp-alt-linux помогает.
> Думаю, следует исправить название архитектуры в пакете с athlonxp на athlon_xp 
> или упаковывать и приведённые выше линки.
> 

  Это введёт архитектуру athlon_xp, и вылечит для неё сборку (--target athlon_xp).

  Основную же проблему, неопределение архетектуры -- данные меры незатронут, по
прежнему наблюдаю:

$ rpm --eval '%{_target_cpu}'
athlon

 И, после взгляда на код, есть нехарошее чувство, что решаемо это только правкой
rpm-4_0/lib/rpmrc.c (но я мог не всё увидеть).

PS: В #5556 патч есть, но он кажется устарел.
------- Comment #4 From 2006-09-17 02:11:38 -------
athlonxp в athlon_xp я переименую.
Как отличить обычный athlon от athlon-xp, я не в курсе.
------- Comment #5 From 2006-09-18 14:16:18 -------
(In reply to comment #4)
> athlonxp в athlon_xp я переименую.
> Как отличить обычный athlon от athlon-xp, я не в курсе.

Можно:

1. по комбинации cpu family и model (/proc/cpuinfo, так эти поля обзывает, у
меня 6 и 10, соответственно). Метод позволит рассматривать amd64 процессоры как
athlon-xp, при работе в 32 разрядных системах. (Для составления/верификации
потребуется пустить клич среди владельцев athlon{,-xp}, наверное.)

2. По подстроке "AMD Athlon(TM) XP" (и/или "Athlon(tm) XP", судя по
https://bugzilla.altlinux.org/attachment.cgi?id=658) в model name.

  Других способов -- сходу не видно.


------- Comment #6 From 2006-09-18 14:21:26 -------
Created an attachment (id=1634) [details]
athlon_xp.add.patch

То содержит то, что сделано в бранче solo, в
git.alt/people/solo/packages/rpm.git:

1. добавлена архетектура athlon_xp

2. как athlon_xp определяются только процессоры с cpu family = 6 и model = 10
------- Comment #7 From 2006-09-18 14:29:03 -------
(In reply to comment #6)
> Created an attachment (id=1634) [edit] [details]
> athlon_xp.add.patch

  Патчь в состоянии: "у меня работает".
------- Comment #8 From 2006-10-06 00:50:47 -------
Мне бы ссылку на спецификацию...
------- Comment #9 From 2012-01-03 03:27:39 -------
tracked at https://bugs.launchpad.net/rpm/+bug/911035