l33t
Joined: 26 Apr 2006
Posts: 782
Posted: Tue Oct 09, 2012 6:29 pm Post subject: Libreoffice 3.6.2.2 build fails with «error 512» [ | ||||
|
||||
I’ve messed around with this, and googled to no avail, 3.6.2.2 will *not* build. Surely I’m not the only one this has happened to…
Emerge —info
Last edited by jesnow on Sat Nov 03, 2012 7:14 am; edited 6 times in total |
Watchman
Joined: 14 Oct 2006
Posts: 6194
Posted: Tue Oct 09, 2012 8:00 pm Post subject: | |
|
|
First of all, you didn’t look far enough back — the actual error might be several pages of log back.
Second, a blind guess says its this bug. |
l33t
Joined: 26 Apr 2006
Posts: 782
Posted: Tue Oct 09, 2012 9:47 pm Post subject: | ||||
|
||||
No everything was compiling fine until that point.
I won’t say its impossible, but I fail to see the relevance. their build problems don’t at all resemble the ones I posted. Sure I can always go to the gcc in unstable and see if it helps, but this is a stable system. And it’s voodoo anyway, not understanding the problem. I’ve tried all kinds of similar voodoo already to no avail. Still need help on this. cheers, Jon. |
Guru
Joined: 02 Jul 2004
Posts: 564
Location: Cracow, Poland
n00b
Joined: 10 Oct 2012
Posts: 1
Location: Bangalore, India
Posted: Wed Oct 10, 2012 5:18 pm Post subject: | |
|
|
Hello friends
A Funtoo convert from ArchLinux (systemd hater) Libre office fails to emerge for me, GCC4.6.3, boost1.49 Pl. see the below link http://forums.funtoo.org/viewtopic.php?id=1646 Registered Linux user #535257 |
Watchman
Joined: 14 Oct 2006
Posts: 6194
Posted: Thu Oct 11, 2012 2:37 pm Post subject: | ||||
|
||||
My answer to that is a short one — BS. Also, I’m nearly certain you’d see the relevance, if you’d (or rather — had you) check a large enough portion of the log, not just a couple last lines. |
l33t
Joined: 26 Apr 2006
Posts: 782
Posted: Thu Oct 11, 2012 7:06 pm Post subject: | ||||||
|
||||||
OK: Money where your mouth is time: http://pastebin.com/RFAaDH4V That’s just what was in the scrollback buffer, if you want the whole log (not small) I’ll send it. I’m happy to be proved an idiot if you can figure out what’s wrong. If not then my comment to you is obvious. |
l33t
Joined: 26 Apr 2006
Posts: 782
Posted: Thu Oct 11, 2012 7:09 pm Post subject: | ||
|
||
In your case the 512 error is in the tail_build section, which is different from the problem I’m having, though maybe related. Can we all agree that «Internal Build Errors» should not occur? |
Watchman
Joined: 14 Oct 2006
Posts: 6194
Posted: Thu Oct 11, 2012 9:30 pm Post subject: | |
|
|
All I can say is
. If you expect a mere 200 lines to be enough, be prepared to be disappointed on several occasions.
|
l33t
Joined: 26 Apr 2006
Posts: 782
Posted: Fri Oct 12, 2012 11:28 am Post subject: | ||
|
||
Several other people with this bug have tried with -j1 set, I’ll do that but don’t expect much. I haven’t tried gutting a chicken on the keyboard either. You’re not providing much insight O great one. |
Watchman
Joined: 14 Oct 2006
Posts: 6194
Posted: Fri Oct 12, 2012 4:07 pm Post subject: | ||
|
||
That’s cause for the time being I’m only pointing out the obvious — hard to shine at that. |
l33t
Joined: 08 Feb 2005
Posts: 634
Posted: Tue Oct 16, 2012 10:05 am Post subject: | ||
|
||
@ jesnow:
I just got this build error with libreoffice-3.6.2.2 after upgrading boost to 1.49 — as in, exactly the message in your intial post — and indeed, in my case it is the bug VoidMage linked to. Hint:
Next hint: take a look at ‘$PORTAGE_TMPDIR/app-office/libreoffice-3.6.2.2/work/libreoffice-core-3.6.2.2/build_error.log’. I’ll see if the solution posted by Coacher in the bug report works. |
l33t
Joined: 08 Feb 2005
Posts: 634
Posted: Tue Oct 16, 2012 11:20 am Post subject: | ||
|
||
… and it did (gcc-4.5.3-r2, libreoffice-3.6.2.2, boost-1.49.0-r1).
|
l33t
Joined: 26 Apr 2006
Posts: 782
Posted: Tue Oct 16, 2012 12:44 pm Post subject: | ||||
|
||||
Glad it worked for you, but it’s a different problem that occurs in a different part of the build than the bug you cite. Worth a try though. |
l33t
Joined: 26 Apr 2006
Posts: 782
Posted: Tue Oct 16, 2012 2:01 pm Post subject: | |
|
|
You guys don’t *understand* this problem any better than I do. I pronounce you Pretty Useless, and have a different solution. Delete LibreOffice from package.keywords, go back to 3.5 and wait for the people who *do* know what they’re doing stabilize it.
Works for me. Seeya. |
Guru
Joined: 06 Jan 2011
Posts: 551
Location: Scotland
Posted: Tue Oct 16, 2012 2:18 pm Post subject: | ||
|
||
Another fine example of how frustration leads to pure cheek. Also, and I am not a dev, but if you are going to use ~ then expect problems. |
n00b
Joined: 30 Oct 2012
Posts: 2
Posted: Tue Oct 30, 2012 11:18 pm Post subject: | ||
|
||
Hmm something todo with libboost? |
n00b
Joined: 30 Oct 2012
Posts: 2
Posted: Tue Oct 30, 2012 11:26 pm Post subject: | |
|
|
Found this bug report https://bugs.gentoo.org/show_bug.cgi?id=435998
See comment 22 So found the cause now we need to fix it… |
Veteran
Joined: 30 Jan 2004
Posts: 1007
Posted: Thu Nov 01, 2012 1:24 pm Post subject: | |
|
|
The last libreoffice I had that built was
Version 3.6.1.2 (Build ID: Gentoo official package) Then 3.6.1.2 got removed from the tree and portage wanted to push me back down to 3.5.7 so I unmasked 3.6.2.2 and it would never build due to a libreoffice-l10n error quite late on in the build. Today I’ve just upgraded to lib-boost 1.49.0-r2 and will try and compile libreoffice again but I’m not holding my breath, the error I always got was related to libreoffice-l10n. |
Veteran
Joined: 30 Jan 2004
Posts: 1007
Posted: Thu Nov 01, 2012 1:40 pm Post subject: | |
|
|
Hi All:
Yup, still does not build: ———————————————————————— Oh dear — something failed during the build — sorry ! For more help with debugging build errors, please see the section in: http://wiki.documentfoundation.org/Development internal build errors: ERROR: error 512 occurred while making /var/tmp/portage/app-office/libreoffice-3.6.2.2/work/libreoffice-core-3.6.2.2/l10ntools/prj it seems that the error is inside ‘l10ntools’, please re-run build inside this module to isolate the error and/or test your fix: build_error.log should contain the captured output of the failed module(s) |
Watchman
Joined: 14 Oct 2006
Posts: 6194
Veteran
Joined: 30 Jan 2004
Posts: 1007
Posted: Fri Nov 02, 2012 11:52 am Post subject: | ||
|
||
Well? The last time it built properly was when there was a matching version of libreoffice-l10n to libreoffice. Now there isn’t one since libreoffice 3.6.1.2 disappeared from the tree. jserinki7 jserink # ls -l /usr/portage/app-office/libreoffice-l10n total 164 -rw-r—r— 1 root root 10787 Oct 24 23:01 ChangeLog drwxr-xr-x 2 portage portage 4096 Aug 8 20:01 files -rw-r—r— 1 root root 3453 Oct 24 22:47 libreoffice-l10n-3.5.7.ebuild -rw-r—r— 1 root root 3146 Aug 31 22:02 libreoffice-l10n-3.6.1.2.ebuild -rw-r—r— 1 root root 135494 Oct 24 23:01 Manifest -rw-r—r— 1 root root 278 May 31 18:31 metadata.xml jserinki7 jserink # ls -l /usr/portage/app-office/libreoffice total 172 -rw-r—r— 1 root root 70096 Oct 31 05:01 ChangeLog drwxr-xr-x 2 portage portage 4096 Sep 25 18:01 files -rw-r—r— 1 root root 15672 Aug 31 22:31 libreoffice-3.5.6.2.ebuild -rw-r—r— 1 root root 17397 Sep 25 22:03 libreoffice-3.6.2.2.ebuild -rw-r—r— 1 root root 17399 Sep 24 16:31 libreoffice-3.6.9999.ebuild -rw-r—r— 1 root root 17944 Oct 31 05:01 libreoffice-9999-r2.ebuild -rw-r—r— 1 root root 13528 Oct 31 05:01 Manifest -rw-r—r— 1 root root 1645 Sep 20 16:01 metadata.xml |
Watchman
Joined: 14 Oct 2006
Posts: 6194
Posted: Fri Nov 02, 2012 1:58 pm Post subject: | |
|
|
What I’m saying is that for libreoffice the message you’ve posted is little more meaningful than your average portage failure message usually is.
The error might be several hundred lines back and chances are it’s the one from the already mentioned bug. |
l33t
Joined: 04 May 2007
Posts: 878
Location: Germany
Posted: Sat Nov 03, 2012 1:14 pm Post subject: | |
|
|
jesnow, try going to /home/portage-tmp/portage/app-office/libreoffice-3.6.2.2/work/libreoffice-core-3.6.2.2/l10ntools, since this is where the build error might have occurred according to your error message.
Run make The module will probably fail again, but this time you have less output to scroll through. See if you can find an error where it says something about boost missing typeindex or something similar. If you find that message, VoidMage was right and you can (probably) solve your problem with the workaround you can find in the bug report. Now it’s autumn of the aeons Dance with your sword Now it’s time for the harvest |
l33t
Joined: 04 May 2007
Posts: 878
Location: Germany
Posted: Sun Nov 04, 2012 10:14 am Post subject: | ||
|
||
OK, now I’m getting the same error.
In the bug report VoidMage linked to the workaround was this: «As a workaround you can create /etc/portage/env/app-office/libreoffice file with the following contents: CXXFLAGS=»${CXXFLAGS} -DBOOST_NO_0X_HDR_TYPEINDEX» CPPFLAGS=»${CXXFLAGS}»» Perhaps I went wrong here. Made a directory in /etc/portage called env, created a directory app-office inside of that and placed a file called libreoffice in there. The content of the file is: CXXFLAGS=»${CXXFLAGS} -DBOOST_NO_0X_HDR_TYPEINDEX» CPPFLAGS=»${CXXFLAGS}» So, did I understand the workaround correctly? This should be sufficient to build it and worked for me. Now it’s autumn of the aeons Dance with your sword Now it’s time for the harvest |
Display posts from previous:
##### — эти символы сообщают, что столбец, содержащий числа, недостаточно широк, или же дата и время, введенные в ячейки данного столбца, содержат отрицательные числа. В первом случае достаточно просто увеличить ширину столбца или изменить числовой формат данных (например, уменьшить число знаков после запятой). Во втором же случае надо:
• проверить формулу, если вычисляется число дней между двумя датами;
• если формула не содержит ошибок, необходимо изменить формат ячейки и перейти, например, с формата Дата и время на Общий или Числовой формат.
Ошибка: 501 — недопустимый символ. Формула содержит недопустимый символ, например =1Eр вместо =1E2.
Ошибка: 502 — недопустимый аргумент. Функция имеет недопустимый аргумент, например отрицательное число для функции извлечения корня.
Ошибка: 503 (#NUM! ) — недопустимая операция с плавающей запятой. Вычисление приводит к переполнению диапазона значений.
Ошибка: 504 — ошибка в списке параметров. Используется недопустимый параметр функции, например текст вместо числа или гиперссылка вместо ссылки на ячейку.
Ошибка: 508 — нет пары.
Отсутствует скобка (закрывающая или открывающая).
Ошибка: 509 — отсутствует оператор. В формуле отсутствует оператор (+, – и т. д.).
Ошибка: 510 — отсутствует переменная.
Отсутствует переменная (два оператора стоят рядом).
Ошибка: 511 — отсутствует переменная. В функции не хватает переменной.
Ошибка: 512 — слишком длинная формула.
Общее число внутренних маркеров (операторов, переменных, скобок) в формуле превышает 512 или общее число матриц, которые создает формула, превышает 150.
Ошибка: 513 — слишком длинная строка. Идентификатор в формуле превышает 64 Kб.
Ошибка: 514 — внутреннее переполнение.
Переполнен стек вычислений (например, операция сортировки предпринята на слишком большом количестве числовых данных — более 100 000).
Ошибка: 516 — внутренняя синтаксическая ошибка. В стеке вычислений недоступна необходимая матрица.
Ошибка: 517 — внутренняя синтаксическая ошибка. Документ с новой функцией открыт в старой версии программы.
Ошибка: 518 — внутренняя синтаксическая ошибка. Переменная недоступна.
Ошибка: 519 (#VALUE) — нет результата. Ячейка, на которую ссылается формула, содержит текст вместо числа. -В ячейке отображается #ЗНАЧЕН! , а не Ошибка: 519.
Ошибка: 520 — внутренняя синтаксическая ошибка. Компилятор создал неизвестный код компиляции.
Ошибка: 521 — внутренняя синтаксическая ошибка. Нет результата.
Ошибка: 522 — циклическая ссылка. Формула ссылается прямо или косвенно на саму себя, а параметр Итерации не настроен.
Ошибка: 523 — процедура вычисления не сходится. Функция потеряла подбираемое значение или циклические ссылки не доходят до минимальных изменений для заданного максимального числа шагов.
Ошибка: 524 (#REF) — недопустимые ссылки. В формуле отсутствует столбец, строка или лист с заданной ячейкой.
-В ячейке отображается #ССЫЛ!2, а не Ошибка: 524.
Ошибка: 525 (#NAME) — недопустимые имена. Нет допустимой ссылки, доменного имени, подписи столбца/строки, макроса, присутствует неправильный десятичный разделитель или не найдена надстройка.
-В ячейке отображается #ИМЯ, а не Ошибка: 525.
Ошибка: 526 — внутренняя синтаксическая ошибка. Ссылка устарела.
Ошибка: 527 — внутреннее переполнение. Слишком сложное вложение ссылок.
Ошибка: 532 (#DIV/0!) — деление на ноль. В формуле используется деление на ноль.
Автор | Сообщение | |||
---|---|---|---|---|
Заголовок сообщения: Libreoffice — уже доставать начал! Добавлено: Пн 22 апр, 2013 12:34 pm |
||||
|
При обновлении: Код: Upgrading ‘libreoffice-4.0.1_1’ to ‘libreoffice-4.0.2’ (editors/libreoffice) Выдал: Код: [build CXX] xmlsecurity/source/framework/elementmark.cxx ———————————————————————— internal build errors: ERROR: error 512 occurred while making /usr/ports/editors/libreoffice/work/libreoffice-4.0.2.2/tail_build/prj it seems that the error is inside ‘tail_build’, please re-run build ———————————————————————— gmake tail_build.clean # not recommended, this will re-build almost everything when the problem is isolated and fixed, re-run ‘gmake’ Stop in /usr/ports/editors/libreoffice. Stop in /usr/ports/editors/libreoffice.
Кто обновлялся у всех так или только у меня? http://wiki.documentfoundation.org/Development чего не так у меня |
|||
Вернуться к началу |
|
|||
arrowdodger |
Заголовок сообщения: Добавлено: Пн 22 апр, 2013 1:34 pm |
|
Линкеру не хватило памяти и он покрашился? |
Вернуться к началу |
|
ankor |
Заголовок сообщения: Добавлено: Пн 22 апр, 2013 2:16 pm |
|
arrowdodger писал(а): Линкеру не хватило памяти и он покрашился? Вот линкер даёт! 8G памяти и 1T на диске свободно, а ему всё мало |
Вернуться к началу |
|
w@sp |
Заголовок сообщения: Re: Libreoffice — уже доставать начал! Добавлено: Пн 22 апр, 2013 5:38 pm |
|
ankor писал(а): Кто обновлялся у всех так или только у меня? У меня при обновелении ошибок (как ни странно) не было
Зато уже достала ситуация, когда после закрытия LO, процесс остается «висеть» в памяти, и его приходится «убивать руками» Все эти проблемы известны, и есть в списках расслыки, но «воз и ныне там» (( |
Вернуться к началу |
|
ankor |
Заголовок сообщения: Re: Libreoffice — уже доставать начал! Добавлено: Пн 22 апр, 2013 6:08 pm |
|
w@sp писал(а): Да висит, Код: 2728 ?? I 0:07,30 /usr/local/lib/libreoffice/program/soffice.bin —splash-pipe=6 но не жрёт ничего(память отъедает), типа уже готов, что-бы стартануть быстрее, Код: ankor dumped core — see /var/crash/vmcore.2 Mon Apr 22 16:38:44 EEST 2013 FreeBSD ankor 9.1-RELEASE-p1 FreeBSD 9.1-RELEASE-p1 #3 r247214: Sun Feb 24 13:26:49 EET 2013 root@ankor:/usr/obj/usr/src/sys/GENERIC amd64 panic: general protection fault GNU gdb 6.1.1 [FreeBSD] Unread portion of the kernel message buffer: Fatal trap 9: general protection fault while in kernel mode Давно такого не было. |
Вернуться к началу |
|
w@sp |
Заголовок сообщения: Добавлено: Пн 22 апр, 2013 6:14 pm |
|
Да, но этот «висяк» LO влияет на другие приложения!!! Раньше такого не было! |
Вернуться к началу |
|
AlexVPetrov |
Заголовок сообщения: Добавлено: Пн 22 апр, 2013 7:31 pm |
|
Код: /usr/local/lib/libreoffice/program/soffice.bin —calc —splash-pipe=6 да, висит. |
Вернуться к началу |
|
w@sp |
Заголовок сообщения: Добавлено: Пн 22 апр, 2013 10:20 pm |
|
Снова пересобрал LO, предварительно удалив настройки (в /var/db/ports). Код: vladiom# ps aux | grep soffice.bin |
Вернуться к началу |
|
neyromant |
Заголовок сообщения: Добавлено: Пн 22 апр, 2013 11:09 pm |
|
Надо проверить ради интереса у себя. |
Вернуться к началу |
|
ankor |
Заголовок сообщения: Добавлено: Ср 24 апр, 2013 3:05 pm |
|
Обновил LO Код: /home/ankor # pkg_info | grep libreoffice Мнго раз в клаву тыкал, под разным углом результат, ноль. Код: uname -a изменения в ядре: Код: 20130402: p2 FreeBSD-SA-13:03.openssl FreeBSD-SA-13:04.bind Fix Denial of Service vulnerability in named(8). запустил на обновление LO не надеясь , что обновиться и вдруг всё встало. |
Вернуться к началу |
|
JSN |
Заголовок сообщения: Добавлено: Вс 28 апр, 2013 12:55 pm |
Откуда: Челябинск |
9.1-RELEASE — LO обновился без проблем. |
Вернуться к началу |
|
wowan400 |
Заголовок сообщения: Добавлено: Вс 28 апр, 2013 7:18 pm |
|
А у меня, LO не запускается, после установки появляется заставка на пару секунд и все. В журнале soffice.bin signal 11 exit (core dumped). |
Вернуться к началу |
|
ankor |
Заголовок сообщения: Добавлено: Пн 29 апр, 2013 10:09 am |
|
wowan400 писал(а): А у меня, LO не запускается, после установки появляется заставка на пару секунд и все. В журнале soffice.bin signal 11 exit (core dumped). То-же было такое, вот как устранил точно не помню. |
Вернуться к началу |
|
JSN |
Заголовок сообщения: Добавлено: Пн 29 апр, 2013 10:23 am |
Откуда: Челябинск |
w@sp писал(а): Снова пересобрал LO, предварительно удалив настройки (в /var/db/ports). Код: vladiom# ps aux | grep soffice.bin Как выяснилось, у меня то же самое!
pkg_info | grep libreoffice Причем, если запустить soffice из консоли, а потом выйти из программы — она не завершает свою работу, а так и остается висеть в консоли незавершенная, хотя само окно того же Writer уже успешно закрылось. |
Вернуться к началу |
|
ankor |
Заголовок сообщения: Re: Libreoffice — уже доставать начал! Добавлено: Пт 10 май, 2013 1:43 pm |
|
Не, ну уже достал LO! Цитата: [build CXX] svx/source/sdr/contact/viewobjectcontactredirector.cxx http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: ******************** ———————————————————————— http://wiki.documentfoundation.org/Development internal build errors: ERROR: error 512 occurred while making /usr/ports/editors/libreoffice/work/libreoffice-4.0.3.3/tail_build/prj it seems that the error is inside ‘tail_build’, please re-run build ———————————————————————— gmake tail_build.clean # not recommended, this will re-build almost everything when the problem is isolated and fixed, re-run ‘gmake’ Stop in /usr/ports/editors/libreoffice. Stop in /usr/ports/editors/libreoffice. |
Вернуться к началу |
|
w@sp |
Заголовок сообщения: Re: Libreoffice — уже доставать начал! Добавлено: Пт 10 май, 2013 2:01 pm |
|
|
Вернуться к началу |
|
ankor |
Заголовок сообщения: Re: Libreoffice — уже доставать начал! Добавлено: Пт 10 май, 2013 10:23 pm |
|
Это что-то с чем-то. Код: May 10 21:14:12 ankor kernel: pid 39909 (soffice.bin), uid 1001: exited on signal 11 (core dumped) |
Вернуться к началу |
|
w@sp |
Заголовок сообщения: Re: Libreoffice — уже доставать начал! Добавлено: Сб 11 май, 2013 8:32 am |
|
Попробуй удалить локальную папку с настройками (~/.config/libreoffice) P.S. |
Вернуться к началу |
|
liman |
Заголовок сообщения: Re: Libreoffice — уже доставать начал! Добавлено: Сб 11 май, 2013 1:06 pm |
|
Вчера обновил LO с 4.0.2 на 4.0.3 через portmaster без проблем. Остался глюк — запустишь LO — мигнет заставка и исчезает, больше не появляется. Если запускать Calc, Writer, etc — запускается нормально и после того, как закрыл программу, стартовое окно LO нормально показывается и работает, пока его не закроешь. И процессы остаются в памяти, еcли закрываешь главное окно LO. Если его не закрывать — то остаются два процесса (первые). |
Вернуться к началу |
|
ankor |
Заголовок сообщения: Re: Libreoffice — уже доставать начал! Добавлено: Сб 11 май, 2013 11:39 pm |
|
w@sp писал(а): Попробуй удалить локальную папку с настройками (~/.config/libreoffice) P.S. Да у меня сейчас и с порта не собирается, но у меня судя по всему в страйпе один диск заглючил, portupgrade думаю не при чем в данном случае, portmaster то-же не справляется, всё дело в LO. P.S. Вот с порта сборка провалилась: Код: [build CXX] sfx2/source/dialog/dinfdlg.cxx ———————————————————————— internal build errors: ERROR: error 512 occurred while making /usr/ports/editors/libreoffice/work/libreoffice-4.0.3.3/tail_build/prj it seems that the error is inside ‘tail_build’, please re-run build ———————————————————————— gmake tail_build.clean # not recommended, this will re-build almost everything when the problem is isolated and fixed, re-run ‘gmake’ Stop in /usr/ports/editors/libreoffice. Stop in /usr/ports/editors/libreoffice. |
Вернуться к началу |
|
Кто сейчас на конференции |
Зарегистрированные пользователи: Bing [Bot], Majestic-12 [Bot] |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
Last updated on September 11, 2021
Tech Support 24/7
Ask a Tech Specialist Online
Connect with the Expert via email, text or phone. Include photos, documents, and more. Get step-by-step instructions from verified Tech Support Specialists.
On this page, you will find more information about the most common causes and most relevant solutions for the LibreOffice Calc error ‘512’. Do you need help straight away? Visit our support page.
Error information
-
Category
-
Error code
512
-
Product
LibreOffice Calc
-
Developer
LibreOffice
-
Operating system
—
-
Platform
—
-
First seen
September 11, 2021
-
Verified
Yes
What causes the 512 error?
The LibreOffice documentation indicates that error code ‘512’ is caused by the following problem: «Compiler: the total number of internal tokens, (that is, operators, variables, brackets) in the formula exceeds 8192.».
Do you think there is another cause for this error? Let others know in the comments.
Tech Support 24/7
Ask a Tech Specialist Online
Connect with the Expert via email, text or phone. Include photos, documents, and more. Get step-by-step instructions from verified Tech Support Specialists.
Need more help?
Do you need more help?
Tech experts are ready to answer your questions.
Ask a question
Автор Al_Ex, 1 июня 2017, 13:14
0 Пользователи и 1 гость просматривают эту тему.
Всем привет!
Возникла такая непонятная проблема:
Есть колонка А с формулами, где в качестве результата возвращается ошибка (это валидное значение).
Как пример, в ячейке А1 написана формула =SIN({#NUM!}) (для данного кейса это валидная формула) в результате вернет ошибку Err:512.
Есть колонка В, где описан ожидаемый результат в виде констант, в т.ч. и ошибки. В колонке В1 написано Err:512.
В колонке С написана такая формула: =IF(ERROR.TYPE(A1)=ERROR.TYPE(B1),»True»,»False»).
Согласно https://help.libreoffice.org/Calc/ERROR.TYPE_function функция для ошибок выше 7 статуса всегда возвращает #N/A.
Соответственно моя формула не работает и всегда возвращает #N/A. И таких типов ошибок уже набралось немало.
Нужно написать формулу так, чтобы можно было сравнивать и такие типы ошибок, чтобы был однозначный результат «True» или «False».
Были такие идеи:
1. Для каждой ячейки сделать такую проверку
=ERROR.TYPE(IF(ERROR.TYPE(A1)=»#N/A», «#N/A», A1))
Но что непонятно, конструкция IF(ERROR.TYPE(A1)=»#N/A», «#N/A», A1) если натыкается на ошибку вида Err:512 всегда возвращает #N/A независимо от условии в IF.
2. Преобразовать значение в текст и сравнить как строки. В макросе это можно придумать, но в формулах я не нашел однозначного варианта как можно значение ошибки преобразовать в текст.
Может у кого-то будут идеи, как можно это реализовать?
А может просто проверять аргумент, выводить что и как угодно и просто не допускать ошибки функции SIN?
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, —
Не понять его никак…
Цитата: economist от 1 июня 2017, 13:23
А может просто проверять аргумент, выводить что и как угодно и просто не допускать ошибки функции SIN?
К сожалению нет, это такое условие и ошибка является валидным результатом работы функции.
Я привел простой пример, все немного сложнее, и нужно обязательно проверять на то, что ошибка вернулась та, которая ожидается.
Решение пришло неожиданно, когда решил дважды обернуть ошибку функцией ERROR.TYPE.
Формула работает корректно, но сам синтаксис довольно тяжелый, а сократить нельзя, т.к. перестает работать.
=IF(ERROR.TYPE(ERROR.TYPE(A1))=7,IF(ERROR.TYPE(ERROR.TYPE(A1))=ERROR.TYPE(ERROR.TYPE(B2)),"True","False"),IF(ERROR.TYPE(A1)=ERROR.TYPE(B2),"True","False"))
Позвольте, а почему нельзя использовать ERRORTYPE?
Это позволило бы, в т.ч., упростить условие до
=IF(ERRORTYPE(A1)=B2,"True","False"))
и хранить в B2 не ошибку, а числовое значение 512.
Ваше решение с обёртыванием дважды не будет работать, поскольку для разных ошибок «выше 7 статуса» результат будет одинаковый. Поэтому ERROR.TYPE(ERROR.TYPE(Err:513))=ERROR.TYPE(ERROR.TYPE(Err:512)) вернёт TRUE.
В ячейку В значение укладывается макросом по результату вычисления. Можно конечно изменить макрос и укладывать не Err:512, а просто 512. Правда такое тогда уже надо для всех типов ошибок.
Но вот функция ERRORTYPE. Честно говоря, о ней впервые слышу. Удобно конечно. Но что будет, если этот файл открыть не в Либре, а в Экселе (а он будет открываться в других приложениях, поддерживающих .ods). О такой формуле другие приложения не знают и она будет конвертиться в ERROR.TYPE (в лучшем случае) или просто будет ошибка. А это совсем другой результат.
Наверное оставлю свой вариант, посмотрю на общие результаты с учетом того, что ошибки выше 512 всегда будут равны. Неудобно, но ведь зачем-то это сделали. Ведь можно было сделать маппинг кодов для всех типов ошибок, но это уже оффтоп.
Открывать ODS с макросами и нэйтивными функциями в Excel??? Да нельзя этого делать! Что мешает иметь свободный (и даже portable) OpenOffice|LibreOffice на каждом PC во вселенной?
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, —
Не понять его никак…