Ошибка при выполнении Netgen 5.3.1 на человечности 16.04

Может любой помогать решить ошибку периода выполнения для Netgen 5.3.1. NETGEN является автоматическим 3-м четырехгранным сетчатым генератором. Сообщение об ошибке:

:/opt/netgen/bin$ ./netgen
NETGEN-5.3.1
Developed by Joachim Schoeberl at
2010-xxxx Vienna University of Technology
2006-2010 RWTH Aachen University
1996-2006 Johannes Kepler University Linz
optfile ./ng.opt does not exist - using default values
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  558
  Current serial number in output stream:  559

Инструкции относительно установки netgen-5.3.1 даны здесь.

Программное обеспечение, кажется, следовало ./configure , make и sudo make install правильно.

Я следовал инструкциям от веб-страницы с подобным сообщением об ошибке, но это не разрешило проблему. Т.е. установка Togl-1.7 .

Вывод конца sudo make install дал:

libtool: relink: g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbeginS.o  .libs/nglib.o   -Wl,-rpath -Wl,/opt/netgen/lib -L/opt/netgen/lib -linterface -lgeom2d -lcsg -lstl -locc -lmesh -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lstdc++ -lm -lgomp -lpthread -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/5/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o  -O2 -fopenmp   -fopenmp -Wl,-soname -Wl,libnglib.so -o .libs/libnglib.so
libtool: install: /usr/bin/install -c .libs/libnglib.soT /opt/netgen/lib/libnglib.so
libtool: install: /usr/bin/install -c .libs/libnglib.lai /opt/netgen/lib/libnglib.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /opt/netgen/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /opt/netgen/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/opt/netgen/bin" || /bin/mkdir -p "/opt/netgen/bin"
  /bin/bash ../libtool   --mode=install /usr/bin/install -c ng_vol ng_stl '/opt/netgen/bin'
libtool: install: /usr/bin/install -c .libs/ng_vol /opt/netgen/bin/ng_vol
libtool: install: /usr/bin/install -c .libs/ng_stl /opt/netgen/bin/ng_stl
test -z "/opt/netgen/share/netgen" || /bin/mkdir -p "/opt/netgen/share/netgen"
 /usr/bin/install -c -m 644 cube.surf '/opt/netgen/share/netgen'
test -z "/opt/netgen/include" || /bin/mkdir -p "/opt/netgen/include"
 /usr/bin/install -c -m 644 nglib.h '/opt/netgen/include'
make[2]: Leaving directory '/home/brendan/Documents/hpfem-mpt/netgen-5.3.1/nglib'
make[1]: Leaving directory '/home/brendan/Documents/hpfem-mpt/netgen-5.3.1/nglib'
make[1]: Entering directory '/home/brendan/Documents/hpfem-mpt/netgen-5.3.1'
make[2]: Entering directory '/home/brendan/Documents/hpfem-mpt/netgen-5.3.1'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/brendan/Documents/hpfem-mpt/netgen-5.3.1'
make[1]: Leaving directory '/home/brendan/Documents/hpfem-mpt/netgen-5.3.1'
1
задан 10 July 2018 в 17:44

2 ответа

Это, кажется, известная ошибка 1556445.

Если Вы используете версию 4.9.13 из официального репозитория (установленный с sudo apt-get install netgen) можно "исправить" его путем выполнения следующей команды вручную:

sudo sed -i "s/\-indirect\ true\ \}/\-indirect\ false\ \}/g" \
/usr/share/netgen/drawing.tcl

Этот метод прибыл из SourceForge Netgen Maillist:

Joachim Schoeberl - 04.02.2016

файл редактирования ng/drawing.tcl строка 14:

if {[catch {togl .ndraw -width 400 -height 300 -rgba true -double true -depth true -privatecmap false -stereo false -indirect true }] } { ....

изменение"-indirect true"к"-indirect false"

Joachim

Может работать с вручную скомпилированной версией также (изменения потребности в filepath - /opt/netgen/bin/drawing.tcl).

1
ответ дан 7 December 2019 в 13:23

Я нашел, что должен был следовать своему предыдущему методу, редактируя файл /opt/netgen/bin/drawing.tcl в строке 14

изменение -indirect true кому: -indirect false

И выполнение в /opt/netgen/bin использование ./netgen было успешно!

Я нашел что выполнение его с netgen &! произведенный то же сообщение об ошибке.

Ошибка была этим в /opt/netgen/bin/drawing.tcl:

# use this one for Togl 2.0
# if {[catch {togl .ndraw -width 400 -height 300  -rgba true -double true -depth true -privatecmap false -stereo false -indirect false -create init  -display draw -reshape reshape  }] } {    

if {[catch {togl .ndraw -width 400 -height 300  -rgba true -double true -depth true -privatecmap false -stereo false -indirect true }] } {    puts "no OpenGL" 
} {

Я изменил прокомментированный код в строке 12 вместо строки 14, поскольку обе строки выглядят подобными.

1
ответ дан 7 December 2019 в 13:23

Другие вопросы по тегам:

Похожие вопросы: