Кто работает на архитектуре 64 , подскажите существует ли папка /usr/lib64 ? Я только знаю что есть /lib64 и просто /lib, а вот в /usr ?
В Птн, 25/01/2013 в 10:54 +0300, Vladimir Didenko пишет:
> Конечно есть. Если вы применительно к сборке пакета, то есть
> специальный макрос для этого -%_libdir/ , который в зависимости от
> архитектуры раскроется либо в /usr/lib, либо в /usr/lib64.
Спасибо!
У меня была проблема с макросом %cmake, раскрывается оный как
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_DESTINATION=lib \
%if "lib" == "lib64"
-DLIB_SUFFIX="64" \
%else
-DLIB_SUFFIX="" \
%endif
При этом 586-архитектура собиралась, а на 64 не отрабатывала проверка %
if "lib" == "lib64". Пришлось заменить на %ifarch x86_64.
Да и пакет немного странный, в новой версии вроде всё собирается и
обычным %cmake .
Это я просто для опыта =)))
> -DCMAKE_INSTALL_PREFIX=/usr \
> -DLIB_DESTINATION=lib \
> %if "lib" == "lib64"
Так неправильно, правильно так:
%if "%_lib" == "lib64"
--
REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ
ALT Linux team
25.01.2013 10:32, Евгений Ростовцев пишет:
>> -DCMAKE_INSTALL_PREFIX=/usr \
>> -DLIB_DESTINATION=lib \
>> %if "lib" == "lib64"
>
> Так неправильно, правильно так:
>
> %if "%_lib" == "lib64"
А может без всякой проверки?
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_DESTINATION=%_lib
В Птн, 25/01/2013 в 13:57 +0200, Motsyo Gennadi aka Drool пишет:
> А может без всякой проверки?
>
> -DCMAKE_INSTALL_PREFIX=/usr \
> -DLIB_DESTINATION=%_lib
Тогда надо вешать багу на rpm-macros-cmake
25.01.2013 20:08, gBopHuk_alt написав(ла):
> В Птн, 25/01/2013 в 13:57 +0200, Motsyo Gennadi aka Drool пишет:
>> А может без всякой проверки?
>>
>> -DCMAKE_INSTALL_PREFIX=/usr \
>> -DLIB_DESTINATION=%_lib
>
>
> Тогда надо вешать багу на rpm-macros-cmake
Зачем? Макрос %_lib раскрывается в lib на 32 битах и в lib64 на 64
битах. Он у меня используется при сборке Qmmp, конструкция выглядит так:
cmake \
-DCMAKE_INSTALL_PREFIX=%prefix \
-DCMAKE_CXX_FLAGS:STRING="%optflags" \
-DCMAKE_C_FLAGS:STRING="%optflags" \
-DLIB_DIR:STRING=%_lib
В Вск, 27/01/2013 в 14:42 +0200, Motsyo Gennadi aka Drool пишет:
> Зачем?
Затем =))
$rpm --eval %cmake
mkdir build; cd build;
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_DESTINATION=lib \
%if "lib" == "lib64"
-DLIB_SUFFIX="64" \
%else
-DLIB_SUFFIX="" \
%endif
-DCMAKE_SKIP_RPATH:BOOL=yes \
-DCMAKE_C_FLAGS:STRING='-pipe -Wall -g -O2 -march=pentium4' \
-DCMAKE_CXX_FLAGS:STRING='-pipe -Wall -g -O2 -march=pentium4'
cd -
28.01.2013 18:33, gBopHuk_alt написав(ла):
> Затем =))
> cmake .. \
> -DCMAKE_INSTALL_PREFIX=/usr \
> -DLIB_DESTINATION=lib \
> %if "lib" == "lib64"
> -DLIB_SUFFIX="64" \
> %else
> -DLIB_SUFFIX="" \
> %endif
Тю. А если
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_DESTINATION=%_lib
?
29.01.2013 00:40, Motsyo Gennadi aka Drool пишет:
> 28.01.2013 18:33, gBopHuk_alt написав(ла):
>> Затем =))
>> cmake .. \
>> -DCMAKE_INSTALL_PREFIX=/usr \
>> -DLIB_DESTINATION=lib \
>> %if "lib" == "lib64"
>> -DLIB_SUFFIX="64" \
>> %else
>> -DLIB_SUFFIX="" \
>> %endif
>
> Тю. А если
>
> cmake .. \
> -DCMAKE_INSTALL_PREFIX=/usr \
> -DLIB_DESTINATION=%_lib
>
> ?
Хотя, если не выковырять -DLIB_SUFFIX, то он может потом где-то
нагадить, поэтому я бы попробовал так:
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_DESTINATION=%_lib \
-DLIB_SUFFIX=""
>>> cmake .. \
>>> -DCMAKE_INSTALL_PREFIX=/usr \
>>> -DLIB_DESTINATION=lib \
>>> %if "lib" == "lib64"
>>> -DLIB_SUFFIX="64" \
>>> %else
>>> -DLIB_SUFFIX="" \
>>> %endif
>>
>> Тю. А если
>>
>> cmake .. \
>> -DCMAKE_INSTALL_PREFIX=/usr \
>> -DLIB_DESTINATION=%_lib
>>
>> ?
>
> Хотя, если не выковырять -DLIB_SUFFIX, то он может потом где-то
> нагадить, поэтому я бы попробовал так:
>
> cmake .. \
> -DCMAKE_INSTALL_PREFIX=/usr \
> -DLIB_DESTINATION=%_lib \
> -DLIB_SUFFIX=""
Развлекаетесь? Это руками можно, а вот макрос трогать не надо.
--
REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ
ALT Linux team
В Втр, 29/01/2013 в 12:49 +0600, Евгений Ростовцев пишет:
> а вот макрос трогать не надо.
Так ежели он не работает ?
>> а вот макрос трогать не надо.
>
> Так ежели он не работает ?
Он работает, и с ним собирается целая туча пакетов в сизифе. Хотите
поломать их сборку ради криво написанного единичного пакета?
--
REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ
ALT Linux team
29.01.2013 08:49, Евгений Ростовцев пишет:
>> cmake .. \
>> -DCMAKE_INSTALL_PREFIX=/usr \
>> -DLIB_DESTINATION=%_lib \
>> -DLIB_SUFFIX=""
>
> Развлекаетесь? Это руками можно, а вот макрос трогать не надо.
А что криминального передать при сборке нужный путь?
>>> cmake .. \
>>> -DCMAKE_INSTALL_PREFIX=/usr \
>>> -DLIB_DESTINATION=%_lib \
>>> -DLIB_SUFFIX=""
>>
>> Развлекаетесь? Это руками можно, а вот макрос трогать не надо.
>
> А что криминального передать при сборке нужный путь?
При сборке ничего, но тут высказывалось пожелание внести изменения в
макрос, а это не комильфо.
--
REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ
ALT Linux team
30.01.2013 04:21, Евгений Ростовцев пишет:
>>>> -DLIB_SUFFIX=""
>>>
>>> Развлекаетесь? Это руками можно, а вот макрос трогать не надо.
>>
>> А что криминального передать при сборке нужный путь?
>
> При сборке ничего, но тут высказывалось пожелание внести изменения в
> макрос, а это не комильфо.
Нет. Я имел ввиду, что если не передать DLIB_SUFFIX - он потом может
при сборке где-то нагадить :) Макросы, конечно же, трогать не нужно :) У
нас с ними и так вполне даже все хорошо и удобно.