<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Guardant &mdash; libgrdapi и clang14 (position independent) - замечание линкера]]></title>
	<link rel="self" href="https://forum.guardant.ru/feed/atom/topic/987" />
	<updated>2022-11-25T16:16:21Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.guardant.ru/topic/987/</id>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4872/#p4872" />
			<content type="html"><![CDATA[<p>Та же ситуация на 9.4.0 при статической линковке.<br />Поддерживаю пользователя ursoft с динамической линковкой<br />- во-первых отломают<br />- во-вторых таскать эту либу как чужой продукт в своем deb пакете - сомнительное решение.</p>]]></content>
			<author>
				<name><![CDATA[Maksim.Igorevich]]></name>
				<uri>https://forum.guardant.ru/user/2023/</uri>
			</author>
			<updated>2022-11-25T16:16:21Z</updated>
			<id>https://forum.guardant.ru/post/4872/#p4872</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4868/#p4868" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Тимофей Ершов пишет:</cite><blockquote><p>При использовании динамической библиотеки libgrdapi.so ошибку воспроизвести не удалось.</p></blockquote></div><p>Динамическая б-ка выглядит как приглашение хакерам отломить ее.</p>]]></content>
			<author>
				<name><![CDATA[ursoft]]></name>
				<uri>https://forum.guardant.ru/user/2011/</uri>
			</author>
			<updated>2022-11-23T07:23:51Z</updated>
			<id>https://forum.guardant.ru/post/4868/#p4868</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4867/#p4867" />
			<content type="html"><![CDATA[<p><a href="https://habr.com/ru/company/badoo/blog/323904/">https://habr.com/ru/company/badoo/blog/323904/</a></p>]]></content>
			<author>
				<name><![CDATA[barlone]]></name>
				<uri>https://forum.guardant.ru/user/2007/</uri>
			</author>
			<updated>2022-11-23T06:21:47Z</updated>
			<id>https://forum.guardant.ru/post/4867/#p4867</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4813/#p4813" />
			<content type="html"><![CDATA[<p>Если собирать пример с флагом -no-pie, предупреждений нет. Следовательно, статическая б-ка не PIC-совместимая. В дистрибутив, запрещающий неперемещаемое ПО, такой пример не поместить. Следовательно, нужно исправлять. Я не знаю, что происходит после предупреждений - генерация рабочего перемещаемого кода, генерация кода, рабочего только до тех пор, пока система не задумает переместить или вовсе отказ от перемещения.</p><p>Предлагаю пересобрать б-ку новым компилятором CLANG (где PIC вроде бы по умолчанию), либо при сборке старым указать флаг -fPIC / -fPIE (<a href="https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html">https://gcc.gnu.org/onlinedocs/gcc/Code … tions.html</a>). Какой именно флаг, не уверен - нужно тестировать.</p>]]></content>
			<author>
				<name><![CDATA[ursoft]]></name>
				<uri>https://forum.guardant.ru/user/2011/</uri>
			</author>
			<updated>2022-09-23T18:58:43Z</updated>
			<id>https://forum.guardant.ru/post/4813/#p4813</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4812/#p4812" />
			<content type="html"><![CDATA[<p>Добрый день. Не нашел описание такого параметра.</p><p>Но наш стандартный пример собирается с минимальным набором опций</p><p>-lgrdapi -lpthread -L./ -I./</p>]]></content>
			<author>
				<name><![CDATA[Тимофей Ершов]]></name>
				<uri>https://forum.guardant.ru/user/1116/</uri>
			</author>
			<updated>2022-09-23T12:17:46Z</updated>
			<id>https://forum.guardant.ru/post/4812/#p4812</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4811/#p4811" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Тимофей Ершов пишет:</cite><blockquote><p>В ближайшем будущем наш отдел разработки не сможет исправить такое поведение.</p></blockquote></div><p>При компиляции исходников для статической библиотеки использовать ключ -fPIC?</p>]]></content>
			<author>
				<name><![CDATA[barlone]]></name>
				<uri>https://forum.guardant.ru/user/2007/</uri>
			</author>
			<updated>2022-09-23T09:05:46Z</updated>
			<id>https://forum.guardant.ru/post/4811/#p4811</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4810/#p4810" />
			<content type="html"><![CDATA[<p>Добрый день.<br />В результате тестирования мы не обнаружили ошибки во время работы именно нашего API. Действительно, при использовании статической библиотеки libgrdapi.a возникает предупреждение, но пример работает корректно. В ближайшем будущем наш отдел разработки не сможет исправить такое поведение.</p>]]></content>
			<author>
				<name><![CDATA[Тимофей Ершов]]></name>
				<uri>https://forum.guardant.ru/user/1116/</uri>
			</author>
			<updated>2022-09-22T07:45:49Z</updated>
			<id>https://forum.guardant.ru/post/4810/#p4810</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4809/#p4809" />
			<content type="html"><![CDATA[<p>Исполняемый модуль создаётся и запускается, но именно &quot;ключевые&quot; дела пока не тестировали.</p>]]></content>
			<author>
				<name><![CDATA[ursoft]]></name>
				<uri>https://forum.guardant.ru/user/2011/</uri>
			</author>
			<updated>2022-09-21T18:27:15Z</updated>
			<id>https://forum.guardant.ru/post/4809/#p4809</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4808/#p4808" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ursoft пишет:</cite><blockquote><p>команда линкера (здесь сокращена):<br /></p><div class="codebox"><pre><code>clang++ -ccc-gcc-name g++ -ldl -lrt -rdynamic -o test test.o -lstdc++fs -lgrdapi -lpthread</code></pre></div><p>завершается замечанием<br /></p><div class="codebox"><pre><code>/usr/bin/ld: /home/builder/projects/ALL/PSO/core/guardant/libgrdapi.a(grdapi.o): warning: relocation in read-only section `.text&#039;
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE</code></pre></div><p>при этом тот же проект в clang10 ничего не выдает.</p><p>Надеюсь, libgrdapi просто устарела и можно обновить так, чтобы предупреждений не было?<br />У нас система сборки очень не любит предупреждения.</p></blockquote></div><p>Добрый день.<br />Все же просьба уточнить, верно ли что проект собирается и работает, но беспокоит именно предупреждение?<br />Или же проект не работает после сборки?</p>]]></content>
			<author>
				<name><![CDATA[Тимофей Ершов]]></name>
				<uri>https://forum.guardant.ru/user/1116/</uri>
			</author>
			<updated>2022-09-21T11:53:21Z</updated>
			<id>https://forum.guardant.ru/post/4808/#p4808</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4805/#p4805" />
			<content type="html"><![CDATA[<p>Добрый день. Проверили ваш пример. Действительно, со статической библиотекой libgrdapi.a получаем такое же предупреждение. <br />При использовании динамической библиотеки libgrdapi.so ошибку воспроизвести не удалось. Пример работает корректно.<br />Если есть возможность, попробуйте поработать с динамической библиотекой.<br />Информацию об ошибке мы передали в наш отдел разработки. Как только разработчики дадут свои комментарии мы напишем вам.</p>]]></content>
			<author>
				<name><![CDATA[Тимофей Ершов]]></name>
				<uri>https://forum.guardant.ru/user/1116/</uri>
			</author>
			<updated>2022-09-20T18:58:13Z</updated>
			<id>https://forum.guardant.ru/post/4805/#p4805</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4800/#p4800" />
			<content type="html"><![CDATA[<p>Изначально мы использовали результат Ticket#1094675, но с версией GuardantSDK-7_0-update_8 ситуация аналогичная. Ubuntu 22.04.1 LTS, clang version 14.0.0-1ubuntu1 (x86_64-pc-linux-gnu). Минимальный пример <a href="https://drive.google.com/file/d/1IVbfDGhhhe016iWTxih9GhjTL0s_EEJ9/view?usp=sharing">тут</a>.</p>]]></content>
			<author>
				<name><![CDATA[ursoft]]></name>
				<uri>https://forum.guardant.ru/user/2011/</uri>
			</author>
			<updated>2022-09-20T00:24:06Z</updated>
			<id>https://forum.guardant.ru/post/4800/#p4800</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4799/#p4799" />
			<content type="html"><![CDATA[<p>Добрый день.<br />Просьба уточнить<br /></p><ul><li><p>какую версию SDK вы используете</p></li></ul><ul><li><p>в каких версиях операционных систем воспроизводится предупреждение</p></li></ul>]]></content>
			<author>
				<name><![CDATA[Тимофей Ершов]]></name>
				<uri>https://forum.guardant.ru/user/1116/</uri>
			</author>
			<updated>2022-09-19T13:09:25Z</updated>
			<id>https://forum.guardant.ru/post/4799/#p4799</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[libgrdapi и clang14 (position independent) - замечание линкера]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4797/#p4797" />
			<content type="html"><![CDATA[<p>команда линкера (здесь сокращена):<br /></p><div class="codebox"><pre><code>clang++ -ccc-gcc-name g++ -ldl -lrt -rdynamic -o test test.o -lstdc++fs -lgrdapi -lpthread</code></pre></div><p>завершается замечанием<br /></p><div class="codebox"><pre><code>/usr/bin/ld: /home/builder/projects/ALL/PSO/core/guardant/libgrdapi.a(grdapi.o): warning: relocation in read-only section `.text&#039;
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE</code></pre></div><p>при этом тот же проект в clang10 ничего не выдает.</p><p>Надеюсь, libgrdapi просто устарела и можно обновить так, чтобы предупреждений не было?<br />У нас система сборки очень не любит предупреждения.</p>]]></content>
			<author>
				<name><![CDATA[ursoft]]></name>
				<uri>https://forum.guardant.ru/user/2011/</uri>
			</author>
			<updated>2022-09-19T10:46:18Z</updated>
			<id>https://forum.guardant.ru/post/4797/#p4797</id>
		</entry>
</feed>
