Мне нужно собрать glfw для приложения Pupil Labs. Сначала я установил его sudo-apt. Это вызывает следующие ошибки:
player - [INFO] numexpr.utils: Note: NumExpr detected 64 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.
player - [INFO] numexpr.utils: NumExpr defaulting to 8 threads.
player - [INFO] launchables.player: Session setting are from a different version of this app. I will not use those.
player - [ERROR] launchables.player: Process player_drop crashed with trace:
Traceback (most recent call last):
File "/home/fiza/anaconda3/envs/pupil_labs/pupil/pupil_src/launchables/player.py", line 768, in player_drop
window = glfw.glfwCreateWindow(w, h, "Pupil Player")
File "/home/fiza/anaconda3/envs/pupil_labs/pupil/pupil_src/shared_modules/glfw.py", line 566, in glfwCreateWindow
raise Exception(f"GLFW window failed to create: {glfwGetError()}")
File "/home/fiza/anaconda3/envs/pupil_labs/pupil/pupil_src/shared_modules/glfw.py", line 512, in glfwGetError
_glfwGetError = _glfw.glfwGetError
File "/home/fiza/anaconda3/envs/pupil_labs/lib/python3.8/ctypes/__init__.py", line 386, in __getattr__
func = self.__getitem__(name)
File "/home/fiza/anaconda3/envs/pupil_labs/lib/python3.8/ctypes/__init__.py", line 391, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/x86_64-linux-gnu/libglfw.so.3: undefined symbol: glfwGetError
Было предложено установить это и собрать последнюю версию с нуля. По этой причине я удалил этот пакет, используя:
sudo apt autoremove libglfw-dev
sudo apt-get purge --auto-remove libglfw-dev
Позже я подписался на этот пост (включая предложения в этом посте), чтобы собрать glfw.
It работает хорошо, но я получаю эту ошибку при тестировании своей компиляции:
g++ -std=c++11 -c main.cpp
g++: error: main.cpp: No such file or directory
g++: fatal error: no input files
compilation terminated.
Я учусь, поэтому относительно новичок в создании пакетов . Хотя у меня есть прошлый опыт работы с командной строкой на ma c для навигации по папкам и загрузки простых программ, я только начал использовать ее для создания программ и пакетов в ОС Ubuntu в прошлом году.
Edit : Выполнение следующего кода для проверки библиотек указывает на то, что glfw3 не был загружен должным образом (если вообще был загружен).
pkg-config --static --libs glfw3
-L/usr/local/lib -lglfw3 -lrt -lm -ldl -lX11 -lpthread -lxcb -lXau -lXdmcp
ОБНОВЛЕНИЕ (5 августа) : Две недели go , Я использовал sudo apt-get purge --auto-remove , чтобы удалить ранее установленные sudo apt файлы glfw (* файлы .so, а также файлы dev ). Совсем недавно я перезапустил терминал и свой компьютер. Я сразу открыл свою программу, которой нужен был glfw. Он работает в моей виртуальной среде.
Что касается вышеупомянутой ошибки, мне было предложено, что тестовый файл не был загружен или не был правильно связан. Мне не нужно было проверять эту теорию, поскольку моя программа все равно работала.