From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.2.5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=kaFrwF59g56LQBZf8yFZ0sryZnhdQXUzT9tOkvYvSzU=; b=qyRoMpmsTDqsIkqcxpy7jEy9zOg+d79VjS4RAidIuzuNRzFTnCNPTlXy8wltzuK0Co 7giEIdWWmSPuVHAH/G8q6KLz+/tXxP2x4SI7bEy/2V1GVEcJvZB5TF27hWs3WWQO1DmO V4J5X8xVfq7smCuFd49iIDyyTjA+e/wTI/ZNvVi4rtM9KPl5sjbMCLZa5msdKDa49VWl hE60gstYbNWiMkN12jXu+yfBAfKC/pIFcFUvD8hbrtXgysKEG0PurXq5qpC+zpSXU4jy NCw1aWg786uYc3hcCESz4QpCdKcEuB+fgLFrCmVVfhQxd5Gt8Q2AoF8jvk6qSiW7GIcu 4DeQ== X-Received: by 10.14.47.75 with SMTP id s51mr2819eeb.97.1384251906762; Tue, 12 Nov 2013 02:25:06 -0800 (PST) Message-ID: <52820200.3040303@gmail.com> Date: Tue, 12 Nov 2013 12:25:04 +0200 From: Viacheslav Dubrovskyi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: devel@lists.altlinux.org References: <20131111125618.CDAD5EFE5A6@gitery.altlinux.org> <20131112015432.GA24823@mw.mithraen.ru> <5281EDCE.8010301@gmail.com> In-Reply-To: <5281EDCE.8010301@gmail.com> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [devel] ctpp-2.7.1-alt2: Sisyphus/x86_64 test rebuild failed X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Nov 2013 10:25:14 -0000 Archived-At: List-Archive: List-Post: 12.11.2013 10:58, Viacheslav Dubrovskyi wrote: > 12.11.2013 03:54, Денис Смирнов wrote: >> On Mon, Nov 11, 2013 at 12:56:18PM +0000, ALT beekeeper wrote: >> >>> Verifying ELF objects in /usr/src/tmp/ctpp-buildroot >>> (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) >>> verify-elf: ERROR: ./usr/bin/ctpp2json: RPATH contains illegal >>> absolute entry "/usr/src/RPM/BUILD/ctpp-2.7.1": >>> /usr/src/RPM/BUILD/ctpp-2.7.1 >>> verify-elf: ERROR: ./usr/bin/ctpp2json: RPATH contains illegal entry >>> "/usr/src/RPM/BUILD": /usr/src/RPM/BUILD/ctpp-2.7.1 >>> verify-elf: ERROR: ./usr/bin/ctpp2i: RPATH contains illegal absolute >>> entry "/usr/src/RPM/BUILD/ctpp-2.7.1": /usr/src/RPM/BUILD/ctpp-2.7.1 >>> verify-elf: ERROR: ./usr/bin/ctpp2i: RPATH contains illegal entry >>> "/usr/src/RPM/BUILD": /usr/src/RPM/BUILD/ctpp-2.7.1 >>> verify-elf: ERROR: ./usr/bin/ctpp2c: RPATH contains illegal absolute >>> entry "/usr/src/RPM/BUILD/ctpp-2.7.1": /usr/src/RPM/BUILD/ctpp-2.7.1 >>> verify-elf: ERROR: ./usr/bin/ctpp2c: RPATH contains illegal entry >>> "/usr/src/RPM/BUILD": /usr/src/RPM/BUILD/ctpp-2.7.1 >>> verify-elf: ERROR: ./usr/bin/ctpp2vm: RPATH contains illegal >>> absolute entry "/usr/src/RPM/BUILD/ctpp-2.7.1": >>> /usr/src/RPM/BUILD/ctpp-2.7.1 >>> verify-elf: ERROR: ./usr/bin/ctpp2vm: RPATH contains illegal entry >>> "/usr/src/RPM/BUILD": /usr/src/RPM/BUILD/ctpp-2.7.1 >>> error: Bad exit status from /usr/src/tmp/rpm-tmp.50101 (%install) >> Как чинить? > Это в результате изменения макроса %cmake: CMAKE_SKIP_RPATH заменен на > CMAKE_SKIP_INSTALL_RPATH. > И теоретически предполагалось, что RPATH будет удален на этапе > %install Но это не происходит в некоторых случаях. :-( > Разбираюсь почему. Если не разберусь, откачу изменения. Ну в общем причина почему не отрабатывает CMAKE_SKIP_INSTALL_RPATH потому, что, как написано в http://www.cmake.org/Wiki/CMake_RPATH_handling#Caveats если используется старая схема установки бинарников не через "INSTALL(TARGETS" (про старые и новые варианты можно почитать тут http://www.cmake.org/Wiki/CMake:Install_Commands ) то скрипты которые удаляют RPATH не отрабатывают. Причем конкретно для этого пакета апстрим для установки в Windows использует правильную схему, а для линукс нет. :( И мне кажется что таких пакетов достаточно много. Подскажите как узнать? Поэтому есть варианты: 1. Откатить изменения и не париться. 2. Workaround для каждого проблемного пакета: - добавить -DCMAKE_SKIP_RPATH:BOOL=ON 3. Зафиксить и патч отправить в апстрим. Для ctpp патч такой: diff --git a/CMakeLists.txt b/CMakeLists.txt index 9cf180f..c56383b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -812,11 +812,16 @@ fi FILE(WRITE ctpp2-config ${CTPP_COMPILER_HELPER}) # Install binaries - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ctpp2vm - ${CMAKE_CURRENT_BINARY_DIR}/ctpp2c - ${CMAKE_CURRENT_BINARY_DIR}/ctpp2i - ${CMAKE_CURRENT_BINARY_DIR}/ctpp2json - ctpp2-config + INSTALL(TARGETS ctpp2vm + ctpp2c + ctpp2i + ctpp2json + DESTINATION bin + PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE + GROUP_EXECUTE GROUP_READ + WORLD_EXECUTE WORLD_READ) + + INSTALL(FILES ctpp2-config DESTINATION bin PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_EXECUTE GROUP_READ Какие есть предложения? -- WBR, Viacheslav Dubrovskyi