LINUX.ORG.RU

glib или велосипед?

 ,


2

4

Пишу небольшую библиотеку, в основном для себя, но может кому ещё пригодится. Заметил, что кое-что, что я велосипедил есть в glib и кое-что, что я только собирался велосипедить там тоже есть. Но часто здесь читал нелестные отзывы о glib. И я хочу спросить, что лучше пара своих велосипедов или завязка на glib?

Ответ на: комментарий от Iron_Bug

это Void, но сильно патченный

Chromium патченный?

i-rinat ★★★★★
()
Ответ на: комментарий от Iron_Bug

В windows кстати в последние годы уже отказались от этого подхода, статическая линковка на сегодняшний — это ориентация на самого глупого пользователя, который «боится файлов», и не несёт никакой практической пользы.

linuxnewbie
()
Ответ на: комментарий от linuxnewbie

какие практики? я сама устанавливаю правила и собираю так, как я хочу. у меня вообще много всего пропатчено и настроено по-своему. но статик линковка глиба в хромиуме - это не мой патч, это автор пакета так решил. и на самом деле всякое говно вроде хромиума только так собирать и можно. он всегда отстаёт от последних версий и его не собрать со свежаком. и запускать его можно только в песочнице. браузеры - то ещё зло. к сожалению, мне хромиум нужен для работы. для личных целей мне он не нужен, мне бы и netsurf хватило.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

но статик линковка глиба в хромиуме - это не мой патч, это автор пакета так решил

То есть, если я сейчас поставлю Void, сделаю ldd /usr/lib/chromium/chromium | grep glib, он мне покажет, что никакой динамической линковки от glib нет? И ldd /usr/bin/netsurf-gtk тоже не будет иметь в выводе упоминания glib?

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

ну, пакет такой у меня не стоит. есть какие-то отдельные обвязки. например, вот что у меня установлено:

xbps-query -l | grep glib

ii avahi-glib-libs-0.7_7                      Avahi glib shared libraries
ii dbus-glib-0.110_1                          GLib bindings for D-Bus
ii glib-2.58.3_2                              GNU library of C routines
ii glib-networking-2.58.0_1                   Network-related giomodules for glib
ii json-glib-1.4.4_2                          JSON parser for GLib-based libraries and applications
ii libglib-devel-2.58.3_1                     GNU library of C routines - development files
ii libupower-glib3-0.99.9_1                   Abstraction for enumerating power devices - runtime library
ii poppler-glib-0.74.0_1                      PDF rendering library - GLib bindings
ii taglib-1.11.1_4                            Library for accessing ID tags in various media files

самого пакета glib нет. хотя его девелоперский вариант в некоторых редких пакетах вроде хромиума встречается. но линкуется статически, видимо. а так, у меня на машине нет гнома и кроме него особо такие библиотеки нигде и не используются. libglib-devel стоит только для рукопашной сборки некоторого софта. я иногда собираю какие-то либы без пакетирования. у недевелоперских пакетов этой зависимости нет.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 3)
Ответ на: комментарий от Iron_Bug

facepalm

самого пакета glib нет.

А это что:

glib-2.58.3_2

?

хотя его девелоперский вариант в некоторых редких пакетах вроде хромиума встречается. но линкуется статически, видимо

Хватит позориться уже. Есть он там. Линкуется динамически. Я уже поставил в Void linux виртуалку и проверил.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от beastie

Кошерно использовать libc

Кошерно не использовать C в 2019 году.

Freyr69 ★★★
()
Последнее исправление: Freyr69 (всего исправлений: 1)
Ответ на: комментарий от i-rinat

да нет. просто если я его запрашиваю через xbps-query -Rs glib, то он там отмечен, как не поставленный. это надо ещё выяснять, почему так. я искала именно так изначально. вероятно, его девелоперский пакет тащит неявным образом.

и у хромиума нет прямых зависимостей от него.

depends="libexif hwids desktop-file-utils hicolor-icon-theme"
только на этапе сборки стоит devel. и в shlibs тоже нет зависимостей конкретно от него.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от Iron_Bug

а, у desktop-file-utils есть зависимость от glib. но это значит, что можно и без него собрать. файловые утилиты для браузера не так уж важны и есть море реализаций без glib.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Deleted

безделие - это маздай. заодно ещё и безумие. а когда у тебя дистр, который ты собираешь из сорцов и патчишь сам, нет времени для безделия.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

безделие - это маздай

Нормальные люди получат ноутбук с установленной виндой, поставят туда все что им нужно за 10 минут и пойдут заниматься своими делами.

а когда у тебя дистр, который ты собираешь из сорцов и патчишь сам, нет времени для безделия

Бесполезная работа, вызванная безделием.

Deleted
()
Ответ на: комментарий от Iron_Bug

Это в Вас детский максимализм говорит, не более того. Обычная система, просто работает (чего остальные не умеют). Не работает, так откатится до предыдущего состояния и будет работать.

anonymous
()
Ответ на: комментарий от anonymous

мне уже слишком поздно страдать «детским максимализмом». у меня опыт работы с системами более 25 лет. и я точно знаю, чего я хочу от системы и от софта. в отличие от многих умничающих тут ламеров.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

А чего именно не дает десяточка этим ламерам?

Deleted
()
Ответ на: комментарий от Deleted

да и пусть ставят. я не ожидаю от всех юзеров какого-то осознанного поведения. более того, я даже не сторонник массового распространения Linux. популяризация хреново влияет на его качество. пусть он лучше не будет массовым, но будет качественным.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

да и пусть ставят. я не ожидаю от всех юзеров какого-то осознанного поведения

Линус сидит под Fedora + Gnome3, а создатель перла на Mint. Но куда им до тебя.

Deleted
()
Ответ на: комментарий от Iron_Bug

Роб Пайк сидит на Mac, Деннис Ритчи на винде сидел.

Deleted
()
Ответ на: комментарий от Iron_Bug

Ну и как, эти люди глупые? Деннис Ритчи нормальный?

Deleted
()
Ответ на: комментарий от Iron_Bug

ну мало ли. может, он пилит мега-библиотеку на века :)

в ОП же написано.
да и все эти велосипеды в проектах на века в итоге и переписываются на что-то стороннее... ну либо сами становятся фреймворками))

в любом случае, правила хорошего тона таковы, что лишние зависимости тащить в проект не нужно.

ерунда. тут не место ни какому-то хорошему тону, ни мутным представлениям о том что лишнее а что нет. Если glib делает то что ему нужно надо брать glib. это же не гигабайт индусского джава-кода. впрочем, был бы проект на жабе то можно и это притащить, всё равно уже было бы))

тем более если для себя. ну а если с кем-то захочет поделиться - ну и хорошо. Бести и его друзьям вон не пригодится, они всё равно весь софт только через putty видят))

mos ★★☆☆☆
()
Ответ на: комментарий от Iron_Bug

Ну хорошо, пусть будет старческий маразм. Так лучше? Виндовс определённо не каждый осилит, тут нечего стыдиться. Нужно учиться. Просто пользуйтесь, не обязательно разбираться как она устроена. Рекомендую найти репозитории ПО, иначе обновление стороннего софта приключение ещё то.

anonymous
()
Ответ на: комментарий от anonymous

Я просто напомню, что в линуксе даже не существует полноценного просмотрщика картинок. Ни одного полноценного аудиоплеера. Ничего.

anonymous
()
Ответ на: комментарий от anonymous

Ни одного полноценного аудиоплеера

Недавно вон DeadBeef вышел? Чем он плох?

не существует полноценного просмотрщика картинок

Возможно, посоветуй под винду просмоторщик с похожим интерфейсом https://i1.wp.com/linuxscoop.com/wp-content/uploads/2015/09/Linux-Mint-17.2-X...

Ничего

Много чего хорошего зато есть!

Deleted
()

Если ты не пишешь супербыстрый сервер то отказыватся от glib глупо. Если пишешь то возьми чтото типа libuv или libevent.

cvv ★★★★★
()
Ответ на: комментарий от cvv

Нет, это код для работы с одним форматом файлов. Просто стал размышлять о плюсах и минусах велосипедов и зависимости от glib и решил спросить у кого какой опыт. К примеру как часто что-то ломается в API? Может какие тёмные стороны у glib имеются.

andalevor ★★
() автор топика
Ответ на: комментарий от cvv

Те кто пишут супербыстрый сервер и сами разберутся в вопросе %)

Deleted
()
Ответ на: комментарий от Deleted

Недавно не смог собрать одну софтину(надо сказать полумёртвую) в свежих версиях дистрибутивов из-за того что софтина была завязана на что-то в glibc, что выкинули на мороз в новых версиях.

andalevor ★★
() автор топика
Ответ на: комментарий от Deleted

Разработчик стека TCP/IP ... не владеет слепой печатью

Фатальный недостаток - надо переписать сетевоей стек вслепую.

anonymous
()
Ответ на: комментарий от Iron_Bug

а, у desktop-file-utils есть зависимость от glib. но это значит, что можно и без него собрать.

Нельзя.

Вообще, фраза вида «у программы X есть зависимость от библиотеки Y, но это значит, что X можно собрать без Y» вызывает серьезные сомнения в компетентности говорящего.

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

Я знаю разницу. Мой предыдущий пост подразумевает скорее, что даже изменения в libc могут привести к необходимости тратить время на изменение программы для сборки в актуальных дистрибутивах, и не станет ли завязка на glib жутким геморроем с необходимостью раз в полгода переписывать частично библиотеку для сборки на новых версиях. Я когда-то давно написал небольшую программку для работы на qt и qwt, выполнил задачу, закинул код на диск и забыл, спустя пару лет понадобилось повторить, полез за кодом и не смог собрать с новой версией и когда начал разбираться можно ли быстренько поправить, понял, что изменения оказались на столько существенными, что осталось только собрать со старой версией.

andalevor ★★
() автор топика
Ответ на: комментарий от andalevor

не станет ли завязка на glib жутким геморроем

Сколь я знаю, не станет. Не жутким, во всяком случае (как в известном анекдоте, «ужас, но не ужас-ужас-ужас»:).

dexpl ★★★★★
()
Ответ на: комментарий от andalevor

бывают ли дистрибутивы без предустановленной glib

Основной (но не единственный, конечно) «потребитель» glib — это gtk. Соответственно, вопрос можно переформулировать так — бывают ли дистрибутивы (общего назначения [1]) без gtk и ПО на ней?

[1] Специализированных без gtk — три мешка с авоськой, взять хотя бы OpenWRT. Но тебя же десктоп интересует, верно я понимаю?

dexpl ★★★★★
()
Последнее исправление: dexpl (всего исправлений: 2)
Ответ на: комментарий от anonymous

в линуксе даже не существует полноценного просмотрщика картинок. Ни одного полноценного аудиоплеера.

Это очень толсто. Лучше скажи, что для тебя является критерием полноценности в вышеуказанном софте.

anonymous
()
Ответ на: комментарий от dexpl

Да, эта библиотека для пользовательских приложений с гуём или для вычислений.

andalevor ★★
() автор топика
Ответ на: комментарий от andalevor

Самой темной стороной GLib, согласно моего опыта, было немного разное поведение g_snprintf() на Линуксе и Виндоус.

cvv ★★★★★
()
Ответ на: комментарий от andalevor

Насколько я помню то сейчас на glib подвязан systemd со всеми вытекающими. Вобщем мы дожили до того что низкоуровневый системный софт оказался подвязанным на glib.

cvv ★★★★★
()
Ответ на: комментарий от andalevor

Квалификация людей занимавшихся glib в среднем на порядок выше чем квалификация людей занимавшихся qt. Поэтому для долгосрочных проэктов выбирают glib/gtk - сильно выше предсказуемость и как следствие сильно ниже стоимость поддержки.

cvv ★★★★★
()

Смотря что, если скорость важна то многие вещи в glib жостко оптимизированы через SSE всякие. А в целом всегда есть возможность сделать вариативно, своё пиши конечно если нужна 100% автономность ограничиваясь libc (или даже без), уже потом опционально сделай возможность сборки с glib и повторяющиеся фичи сделай через него, даже можно простым ifdef обойтись не всё же ты glib api повторяешь, так с десяток функций наверное в плане повторяемости действий, а не самого api.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от cvv

Ну эт нормально, говношляпа давно работает над тем, чтобы завязать на себя, как вендора, все дистрибутивы и всё, до чего доберутся купленные агенты влияния. Если нужна свободная кроссплатформа, ни один человек наверно не предпочтёт эти поделия кутям. Не первый год уже наблюдаем разрушительную деятельность этой компании, наверное уже не первое десятилетие. Как это ни странно, но МС наоборот при этом делает вид, что сменила вектор, т.е. МС на данный момент выглядит более предпочтительным современным выбором.

anonymous
()
Ответ на: комментарий от cvv

Ох уж эти квалифицированные индусы, пишущие код за миску риса.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.