Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

ygrek-3
On Mon, 11 May 2009 17:52:43 +0000
Andrey Cherezov <[hidden email]> wrote:

> компилировать на
> Linux с неизвестной версией Libcurl.
>
> Index: curl.f
> ===================================================================
> RCS file: /cvsroot/spf/devel/~ac/lib/lin/curl/curl.f,v
> retrieving revision 1.21
> retrieving revision 1.22
> diff -u -d -r1.21 -r1.22
> --- curl.f 10 Apr 2009 04:24:04 -0000 1.21
> +++ curl.f 11 May 2009 17:52:41 -0000 1.22
> @@ -11,7 +11,7 @@
>  S" ~ygrek/lib/data/curl.const" ADD-CONST-VOC
>  
>  ALSO SO NEW: libcurl.dll
> -ALSO SO NEW: libcurl.so.3
> +ALSO SO NEW: libcurl.so
>  
На Debian Lenny:

$ ls -l /usr/lib | grep curl
lrwxrwxrwx  1 root root       19 2009-03-21 14:34 libcurl-gnutls.so.3 -> libcurl-gnutls.so.4
lrwxrwxrwx  1 root root       23 2009-03-21 14:34 libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.1.0
-rw-r--r--  1 root root   233992 2009-03-10 14:51 libcurl-gnutls.so.4.1.0
lrwxrwxrwx  1 root root       12 2009-03-21 14:34 libcurl.so.3 -> libcurl.so.4
lrwxrwxrwx  1 root root       16 2009-03-21 14:34 libcurl.so.4 -> libcurl.so.4.1.0
-rw-r--r--  1 root root   271396 2009-03-10 14:51 libcurl.so.4.1.0

И соответственно у меня curl.f отпал.

$ spf \~ac/lib/lin/curl/curl.f
Exception #-2003 at: /home/ygrek/work/forth/spf/devel/~ac/lib/lin/curl/curl.f:24:56:
: (CURL-GLOBAL-INIT) CURL_GLOBAL_ALL 1 curl_global_init THROW ;
                                                      ^ -2003 WORD OR FILE NOT FOUND

В принципе работать с "неизвестной" версией curl может и не получиться, вдруг
они в будущем в каком-то старом API изменят интерфейс, на то этот ABI-number и нужен, чтобы точно
указать зависимость. А более новые версии libcurl с backward-совместимым API сами поставят правильные
симлинки.
Так что я предлагаю вернуть старое поведение.

ЗЫ Интересно как на других Линуксах дела обстоят, потому что на древней FC2 у меня есть и
.so и .so.3

--
 ~ygrek

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (204 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

Andrey Cherezov
Добрый день, ygrek!

Ваше сообщение от 13.05.2009 16:02:
> Так что я предлагаю вернуть старое поведение.
Закоммитил сейчас более универсальное, дополнив контекст совместимыми .3
и .4.
> ЗЫ Интересно как на других Линуксах дела обстоят, потому что на древней FC2 у меня есть и
> .so и .so.3
>    
Да известно как, кто во что горазд. В Линуксе с этим бардак похлеще, чем
в винде.
Хотя возможностей создавать бардак меньше.
Молодые линуксы - такие как slitaz - не знают, что были какие-то
несовместимые curl'ы,
поэтому у них только один .so, на четверку. Я как раз после компиляции
на нем
(на роутере стоит) это изменение и внес.

Под комментарием "компилировать на Linux с неизвестной версией Libcurl"
и имел в виду то,
что, кому надо, положит правильный линк под .so.

А в реальных бинарных приложениях для Linux'а не имеет смысла рассчитывать
на правильные версии чего-либо (с sqlite, например, ситуация еще хуже,
чем с curl -
мне еще не попадался ни один линукс с достаточно свежим sqlite - всегда
приходится
закомментировать кусок исходника для компиляции на конкретном линуксе),
нужно
всё своё носить с собой - так же как и в винде, в которой в path
обязательно попадается
что-нибудь несовместимое :( А раз всё носишь с собой, то и именуешь как
хочешь.

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

ygrek-3
On Wed, 13 May 2009 16:36:03 +0300
Andrey Cherezov <[hidden email]> wrote:

> Закоммитил сейчас более универсальное, дополнив контекст совместимыми .3
> и .4

Хм :)

> Молодые линуксы - такие как slitaz - не знают, что были какие-то
> несовместимые curl'ы,
> поэтому у них только один .so, на четверку. Я как раз после компиляции
> на нем
> (на роутере стоит) это изменение и внес.

Это они сейчас не знают, а когда следующая версия curl'а будет - всё
равно надо будет что-то решать. Молодые да беспечные :)

> А в реальных бинарных приложениях для Linux'а не имеет смысла рассчитывать
> на правильные версии чего-либо (с sqlite, например, ситуация еще хуже,
> чем с curl -
> мне еще не попадался ни один линукс с достаточно свежим sqlite - всегда
> приходится
> закомментировать кусок исходника для компиляции на конкретном линуксе),
> нужно
> всё своё носить с собой - так же как и в винде, в которой в path
> обязательно попадается
> что-нибудь несовместимое :( А раз всё носишь с собой, то и именуешь как
> хочешь.
Ну ведь не весь исходник надо комментить? Что-то всё-таки и программа
ведь использует. Т.е. какая-то часть базовая - будет работать везде.
А остальное можно динамическим lookup'ом.
"Носить с собой" - получится потом что и ядро с собой носишь :)
Вообще это принципильная проблема версионности, в нормальном линуксе
хорошо то что можно использовать пакетную систему для разруливания
зависимостей для бинарного приложения, а в винде и альтернатив нет
кроме как с собой носить. Кстати в spf/linux можно достаточно "просто"
статически с сишным кодом линковаться (за счёт использования ld).

--
 ~ygrek

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (204 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

Andrey Cherezov
Добрый день, ygrek!

Ваше сообщение от 13.05.2009 19:41:
Закоммитил сейчас более универсальное, дополнив контекст совместимыми .3
и .4
    
Хм :)
  
Что? Не работает?
Это они сейчас не знают, а когда следующая версия curl'а будет - всё
равно надо будет что-то решать. Молодые да беспечные :)
  
Следующий curl наверняка будет совместимым. Популярность продукта всегда
приносит ему эту головную боль - необходимость обратной совместимости.
В общем, это будет проблема curl'а, а не молодых линуксов ;)
Ну ведь не весь исходник надо комментить? Что-то всё-таки и программа
ведь использует. Т.е. какая-то часть базовая - будет работать везде.
А остальное можно динамическим lookup'ом.
  
Да, можно. В винде с виндовыми либами так иногда и делается, но в моем случае
на линуксе с sqlite так не выйдет. Т.к. некоторые новые (новые для линуксов,
а в самом-то sqlite-то уже год-два) фичи sqlite слишком вкусные - потокобезопасные
соединения, полнотекстовый поиск и т.п. - чтобы от них отказываться. Ну и
плюс масса исправляемых в каждой сборке багов sqlite.
Поэтому с закомментированным куском исходника программу скомпилировать
можно, но запустить работать в реальной практике - нет :)
"Носить с собой" - получится потом что и ядро с собой носишь :) 
Вообще это принципильная проблема версионности, в нормальном линуксе
хорошо то что можно использовать пакетную систему для разруливания
зависимостей для бинарного приложения, а в винде и альтернатив нет
кроме как с собой носить. Кстати в spf/linux можно достаточно "просто"
статически с сишным кодом линковаться (за счёт использования ld).
  
Линковать статически - это даже хуже, чем носить с собой. Так как принесенное
отдельно проще заменять, чем встроенное внутрь.
Пакетные системы в разных линуксах свои. И даже если для межсистемной совместимости
держат чужие, то они могут не работать. На том же slitaz'е для установки твоего spf.deb
(там есть dpkg) пришлось несколько каталогов в var вручную создать, и опций установщика
добавить.
Для надежной проверки зависимостей возможностей пакетных систем хватит только
в том случае, если все остальные пакеты собирались под эту пакетную систему.
В остальных случаях нужен autoconf.
А для реально многосистемных бинарников нужно всё-таки своё носить с собой.
Хорошие примеры этого - Firefox и Thunderbird. Thunderbird часто отсутствует (в пользу
Evolution и т.п.), но ставится из бинарного tgz без проблем. Даже на такую минимальную
систему как slitaz (на которой в частности SPF SAVE не работает).

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

ygrek-3
On Wed, 13 May 2009 20:24:49 +0300
Andrey Cherezov <[hidden email]> wrote:

> Добрый день, ygrek!
>
> Ваше сообщение от 13.05.2009 19:41:
> > Закоммитил сейчас более универсальное, дополнив контекст совместимыми .3
> >> и .4
> >>      
> > Хм :)
> >    
> Что? Не работает?

Работает ок, спасибо. Просто выглядит забавно.

--
 ~ygrek

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (204 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

Andrey Cherezov
Добрый день, ygrek!

Ваше сообщение от 14.05.2009 12:22:
> Работает ок, спасибо. Просто выглядит забавно.
Привыкай :) Автопоиск по контексту - это для форта нормально.
Не более забавно, чем выбор по IF или CASE ;)

Вот только для времени выполнения такой логичный контекстный
поиск нужной dll что-то не придумывается.

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

ygrek-3
On Fri, 15 May 2009 05:05:21 +0300
Andrey Cherezov <[hidden email]> wrote:

> Привыкай :) Автопоиск по контексту - это для форта нормально.
> Не более забавно, чем выбор по IF или CASE ;)
>
> Вот только для времени выполнения такой логичный контекстный
> поиск нужной dll что-то не придумывается.

А ещё я прикидываю сколько времени оно под виндой с длинным PATH компилиться будет..

--
 ~ygrek

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (204 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

Andrey Cherezov
Добрый день, ygrek!

Ваше сообщение от 15.05.2009 13:37:
On Fri, 15 May 2009 05:05:21 +0300
Andrey Cherezov [hidden email] wrote:
  
Привыкай :) Автопоиск по контексту - это для форта нормально.
Не более забавно, чем выбор по IF или CASE ;)

Вот только для времени выполнения такой логичный контекстный
поиск нужной dll что-то не придумывается.
    
А ещё я прикидываю сколько времени оно под виндой с длинным PATH компилиться будет..
  
Я не заметил отличий от того, что было. В PATH у меня каталогов 20.
Но "файловый контекст" включается не надолго. Да и находятся dllки в первом
попавшемся каталоге, поэтому длина списка без разницы. К тому же файловый поиск
производится только один раз per DLL. Такая же мелочь, как поиск очередного
исходника по INCLUDE. А повторяющийся (для каждого слова исходника,
пока включен этот контекст) поиск далее идёт уже не по файлам, а по GetProcAddress,
который, кстати, вполне может быть более эффективным, чем наш SEARCH-WORDLIST -
за счет локальности и отсортированности таблицы экспорта в DLL.

То, как бороться с замедлением, если станет напрягать, мы здесь уже обсуждали.
Нового повода начинать заново пока не появилось. Или у тебя эта фишка тормозит?

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Spf-commits] devel/~ac/lib/lin/curl curl.f, 1.21, 1.22 curlpost.f, 1.6, 1.7

Andrey Cherezov
Ваше сообщение от 15.05.2009 17:51:
> исходника по INCLUDE. А повторяющийся (для каждого слова исходника,
> пока включен этот контекст) поиск далее идёт уже не по файлам, а по
> GetProcAddress,
Да, тут я не прав. Если в контексте есть отсутствуюшие dll, то эта дырка
срабатывает
для каждого слова файловым поиском. Это как раз то, что мы обсуждали
"как бороться с
замедлением, если станет напрягать" :)

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev