доступная :команда запуска, если файл не существует или если исходный код новее

ПРИМЕЧАНИЕ -хотя заголовок вашего вопроса касается «установки старого 32 -битного программного обеспечения», похоже, нет особой причины не создавать программу как собственное 64 -битное программное обеспечение. Однако, если вам действительно нужно собрать 32-битную -версию (для тестирования производительности или для точного воспроизведения ранее опубликованных результатов ), то вот как это сделать.


Не то чтобы моя система была 64-битной -Ubuntu 18.04 с gcc/g++ 7

$ uname -a
Linux t400s 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

$ g++ --version
g++ (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

В данном конкретном случае программное обеспечение, которое вы пытаетесь собрать, не использует какие-либо библиотеки, кроме libm.a,и кажется достаточным установить пакет g++-multilib(, который установит gcc-multilibи libc6-dev-x32как зависимости ), а затем изменить Makefile CFLAGS, чтобы включить-m32

Так

sudo apt install g++-multilib

Потом

$ head -3 Makefile 
CFLAGS = -m32 -O3 -march=pentiumpro -mcpu=pentiumpro -funroll-loops -Winline -DNDEBUG=1
LDLIBS = -lm -static
# LDLIBS = -lm

$ make

Вы получите несколько предупреждений о том, что

g++: warning: ‘-mcpu=’ is deprecated; use ‘-mtune=’ or ‘-march=’ instead

однако программа palsдолжна собрать:

$ file pals
pals: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=1b9e369acf2aa7c6448b4132a203b8dccde16a7d, not stripped

и запустите

$./pals

PALS v1.0
http://www.drive5.com/pals
Written by Bob Edgar and Gene Myers.
This software is donated to the public domain.
Please visit web site for requested citation.


Usage:
    pals -target <fastafile> -query <fastafile>
    pals -self <fastafile>

Options:
    -out <outfile>       (default standard output)
    -fwdonly             don't align reverse strand
    -filterout <file>    save filter hits to file

Alignment parameters can be specified in three ways:
    (1) Defaults         -length 400 -pctid 94
    (2) Specify -length <minhitlength> -pctid <minhitid>
    (3) Specify all filter and d.p. parameters:
           -wordsize     Filter word size
           -seedlength   Seed hit length
           -seeddiffs    Max #diffs in seed hit
           -length       Min length of final hit
           -pctid        Min %id of final hit
           -tubeoffset   (Optional)

For further information, please see the User Guide.

Must specify either -self or both -target and -query
1
24.06.2020, 11:08
0 ответов

Теги

Похожие вопросы