- Make install error «config.h: No such file» in Ubuntu 20.04 LTS #7822
- Comments
- prantoran commented Nov 20, 2020
- Issue Description
- Trouble compiling; not found. #127
- Comments
- silicontrip commented Jul 6, 2018
- Make install error «config.h: No such file» in Ubuntu 20.04 LTS #7822
- Comments
- prantoran commented Nov 20, 2020
- Issue Description
- Почему в ядре линукс отсутствует config.h?
- config.h no such file or directory #422
- Comments
- Yoshimiga commented Feb 11, 2018
- pboettch commented Feb 11, 2018
- Yoshimiga commented Feb 12, 2018
- pboettch commented Feb 12, 2018
- Yoshimiga commented Feb 13, 2018
- stephane commented Jun 5, 2018
- mpm756769 commented Nov 20, 2019
- Footer
Make install error «config.h: No such file» in Ubuntu 20.04 LTS #7822
Comments
prantoran commented Nov 20, 2020
Before opening a new issue, we wanted to provide you with some useful suggestions (Click «Preview» above for a better view):
- Consider checking out SDK examples.
- Have you looked in our documentations?
- Is you question a frequently asked one?
- Try searching our GitHub Issues (open and closed) for a similar issue.
All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven’t followed any of the suggestions above 🙂
Required Info | |
---|---|
Camera Model | D435i |
Firmware Version | — |
Operating System & Version | Linux (Ubuntu 20.04 LTS) |
Kernel Version (Linux Only) | 5.4.0-53-generic |
Platform | PC |
SDK Version | |
Language | C/C++ |
Segment | VR/AR |
Issue Description
I was trying the approach that worked in 6368 but I got the following error when I ran sudo make install stated in the steps for installing for Ubuntu:
Also, sudo make uninstall did not work, which gave the error:
I ran the commands in the . /librealsense/build folder.
The text was updated successfully, but these errors were encountered:
Trouble compiling; not found. #127
Comments
silicontrip commented Jul 6, 2018
It appears that the libav I’ve installed doesn’t have config.h nor does it have h264dec.h.
track.cpp:46:20: fatal error: config.h: No such file or directory
#include
I’ve ran apt-get install libavformat-dev libavcodec-dev libavutil-dev
and get the response:
libavcodec-dev is already the newest version.
libavformat-dev is already the newest version.
libavutil-dev is already the newest version.
I assume I have an incorrect version of the libraries but not sure if I have too old a library or untrunc doesn’t work with the latest libav.
this is the contents of /usr/lib/x86_64-linux-gnu which matches libav*.so.* (removing symlinks etc.)
-rw-r—r— 1 root root 68480 Jul 1 2016 /usr/lib/x86_64-linux-gnu/libavahi-client.so.3.2.9
-rw-r—r— 1 root root 47920 Jul 1 2016 /usr/lib/x86_64-linux-gnu/libavahi-common.so.3.5.3
-rw-r—r— 1 root root 18560 Mar 15 2013 /usr/lib/x86_64-linux-gnu/libavc1394.so.0.3.0
-rw-r—r— 1 root root 6174456 Feb 13 2017 /usr/lib/x86_64-linux-gnu/libavcodec.so.54.35.1
-rw-r—r— 1 root root 13227160 Mar 21 03:12 /usr/lib/x86_64-linux-gnu/libavcodec.so.57.107.100
-rw-r—r— 1 root root 186456 Oct 16 2017 /usr/lib/x86_64-linux-gnu/libavdevice.so.57.10.100
-rw-r—r— 1 root root 2757008 Mar 21 03:12 /usr/lib/x86_64-linux-gnu/libavfilter.so.6.107.100
-rw-r—r— 1 root root 1186448 Feb 13 2017 /usr/lib/x86_64-linux-gnu/libavformat.so.54.20.4
-rw-r—r— 1 root root 2455192 Mar 21 03:12 /usr/lib/x86_64-linux-gnu/libavformat.so.57.83.100
-rw-r—r— 1 root root 133112 Mar 21 03:12 /usr/lib/x86_64-linux-gnu/libavresample.so.3.7.0
-rw-r—r— 1 root root 135928 Feb 13 2017 /usr/lib/x86_64-linux-gnu/libavutil.so.52.3.0
-rw-r—r— 1 root root 489496 Mar 21 03:12 /usr/lib/x86_64-linux-gnu/libavutil.so.55.78.100
I did try commenting out the line containing the include and found that h264dec.h doesn’t exist, tried removing that and just got a bunch of other errors which look like these includes are required.
The text was updated successfully, but these errors were encountered:
Make install error «config.h: No such file» in Ubuntu 20.04 LTS #7822
Comments
prantoran commented Nov 20, 2020
Before opening a new issue, we wanted to provide you with some useful suggestions (Click «Preview» above for a better view):
- Consider checking out SDK examples.
- Have you looked in our documentations?
- Is you question a frequently asked one?
- Try searching our GitHub Issues (open and closed) for a similar issue.
All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven’t followed any of the suggestions above 🙂
Required Info | |
---|---|
Camera Model | D435i |
Firmware Version | — |
Operating System & Version | Linux (Ubuntu 20.04 LTS) |
Kernel Version (Linux Only) | 5.4.0-53-generic |
Platform | PC |
SDK Version | |
Language | C/C++ |
Segment | VR/AR |
Issue Description
I was trying the approach that worked in 6368 but I got the following error when I ran sudo make install stated in the steps for installing for Ubuntu:
Also, sudo make uninstall did not work, which gave the error:
I ran the commands in the . /librealsense/build folder.
The text was updated successfully, but these errors were encountered:
Почему в ядре линукс отсутствует config.h?
Тот config.h, которые кушает команда make вместе с Makefile
«Почему он должен быть?» — возможно, спросите вы. Отвечаю: так я пришел к выводу из диаграммы к этой статье: https://en.wikipedia.org/wiki/Configure_script
А еще мне кажется, что этот момент можно отнести не только к ядру линукс, но и к куче других программ — это, в прицнипе, не особо важный момент. Просто в нем я впервые заметил отсутствие config.h
Потому что не каждый обязан использовать упоротую автотулзятину.
Это специфично для autotools. В ядре по другому организовано. Ядро с autotools было бы ужасным.
Так собирается ядро ведь командой make . Я что-то не понимаю. это какой-то другой make?
Это тот же самый. Но до команды надо make-файлы как-то сгенерировать. И тут уже есть разные способы. Autotools со скриптом configure только один из способов, пока ещё наиболее распространённый.
Потому что не нужен?
Autotools со скриптом configure только один из способов, пока ещё наиболее распространённый
Некоторые дегенераты ещё придумали cmake.
Ясно, я думал что эти все команды являются чем-то вроде монолита и make «привязан» к Makefile и config.h, и без них не будет работать.
А каким способом генерируется Makefile для ядра линукс, например? Просто интересно что ещё есть.
Make с автотулзятиной никак не связан. Мэйкфайлы можно генерить другим софтом или писать самому. Или make не использовать тоже, есть другие системы сборки.
Оу, круто. Это просто, когда знаешь где искать, а я даже не подозревал о существоании такой документации)
Там своя утилита kbuild есть, из конфига читает опции и формирует Makefile.
Хорошо, спасибо большое.
а я даже не подозревал о существоании такой документации
Ты ещё больше удивишься, узнав, что документация идёт в комплекте с исходным кодом?
Ты так говоришь, как будто я дурачок какой-то — не смотрел исходники. Хотя в гентушных я не увидел такой документации.
Ну а по теме: да я удивлен, и не очень понимаю зачем документацию пихать в исходники, мне это кажется нелогичным, архаичным.
Можно нубский вопрос?
Правильно я понимаю, что при сборке ядра буковка «M» рядом с некоторыми опциями говорит о том, что этот модуль будет собран; но в то же время, если я уберу эту буковку, я также могу в любой момент отдельно скомпилировать и подключить этот модуль? Просто я думаю, может эта возможность не просто так дана, и если я отключу её, то не смогу потом подключить отдельно собранный модуль.
Хотя в гентушных я не увидел такой документации.
Эту документацию не затрагивает даже USE=»-doc» и FEATURE=»nodoc» , так что ты или не смотрел, или что-то скрываешь.
Ну а по теме: да я удивлен, и не очень понимаю зачем документацию пихать в исходники, мне это кажется нелогичным, архаичным.
Это для того, чтобы держать документацию и код up-to-date. Плюс, данная документация удобна для всех, в том числе для пользователей.
Правильно я понимаю, что при сборке ядра буковка «M» рядом с некоторыми опциями говорит о том, что этот модуль будет собран; но в то же время, если я уберу эту буковку, я также могу в любой момент отдельно скомпилировать и подключить этот модуль? Просто я думаю, может эта возможность не просто так дана, и если я отключу её, то не смогу потом подключить отдельно собранный модуль.
От многого зависит. Видишь ли, опции в конфиге ядра зачастую включают не только саму возможность, но и возможности, от которой оно зависит (dependency graph). Потому скорее да, некоторые модули ты не сможешь подключить отдельно. Но в то же время, не вкомпиленный в блоб модуль ты сможешь выгрузить и загрузить на его место новый, если он совместим с текущим ядром.
make ничего не кушает, кроме Makefile, который ему подсунули
Это частный случай, когда при сборке используется config.h
Более того, в случае autotools config.h тоже необязательно применять
config.h no such file or directory #422
Comments
Yoshimiga commented Feb 11, 2018
I am trying to compile the source code but i keep getting this error
master@Master-Virtual:
/Downloads/libmodbus-master/src$ gcc *.c
modbus.c:21:20: fatal error: config.h: No such file or directory
compilation terminated.
modbus-data.c:24:20: fatal error: config.h: No such file or directory
compilation terminated.
In file included from modbus-rtu.c:17:0:
modbus-private.h:19:20: fatal error: config.h: No such file or directory
compilation terminated.
modbus-tcp.c:25:37: fatal error: config.h: No such file or directory
compilation terminated.
I checked to make sure every source file had #include file i tried moving config.h into the src directory but i still get this error. I know that i must somehow manually set a path for the header file in order for the compiler to know where to look for it while compiling but i have no idea how to do that. I have tried numerous attempts yet the gcc is not finding the header file. I have successfully compiled the contents in the «tests» folder without any issues and were able to run the executables. I have read the README file over 100 times and followed its instructions, however its not clear when it comes to the issue that i am experiencing. Would anyone please help, and thank you.
The text was updated successfully, but these errors were encountered:
pboettch commented Feb 11, 2018
Please read the installation section of the README-file:
Yoshimiga commented Feb 12, 2018
@pboettch i have read it many times. as i mentioned in my initial post.
pboettch commented Feb 12, 2018
Then what makes you try to compile it using gcc *.c ?
If you want to use this library from source, you’ll need to build it (with configure and make ), then install it.
After installation you can build and link your application with it.
Yoshimiga commented Feb 13, 2018
@pboettch Mr. Patrick i initially ran the autogen.sh file to generate the configure script. Then ran the ./configure, and got a confirmation that everything was installed. I used sudo make install to install the build, everything installed. (Libraries have been installed in:
/usr/local/lib) I also ran the config.status and made sure everything was up to date. Next i ran sudo ldconfig for linkage. I used an example from tests directory README file gcc random-test-server.c -o random-test-server pkg-config —libs —cflags libmodbus and it compiled. In the «tests» directory folder everything got compiled and i got executables from all the .c source codes inside the tests directory. I was able to run them without any issues.
Similarly i tried using the same gcc modbus.c -o modbus pkg-config —libs —cflags libmodbus in the src directory, but what ever i try to compile in it just leaves me with the error that in modbus.c:21:20: fatal error: config.h: No such file or directory compilation terminated.
So at this point im not sure why the compiler is not picking up the config.h file if it is included inside the source code #include I manually tried placing the config.h header file into the src directory but got the same error.
From my own research i saw that i must specify path directory to the config.h file in order for the gcc compiler to pick it up, because as of now it seems it is not locating this config.h file even though it is in the proper directory. Im not sure how to set this path. Am i right about this issue? Did other users of this library came up with a similar issue? I have checked the google discussion thread about stephane libmodbus library and also read all the issues on github and have not found anyone experiencing similar issue? Must i try to compile .c source codes in any given order if i want to run a tcp based communication? (I know i must swap ip addresses of two different machines inside source code for Client and Server to communicate. I have studied Modbus protocol carefully and have a good idea how socket programming works.)
Would you please point me in the right direction because i have been stuck on this issue for a while now and i want set up communication between Client and the Server so i can continue with my project. Any help would be greatly appreciated. Sorry for the long read but i wanted to include all details. Thank you for responding and thank you for you time.
stephane commented Jun 5, 2018
Please use the libmodbus mailing list for help.
mpm756769 commented Nov 20, 2019
I am getting same error as Yoshimiga.
Provide some solution for same if possible.Thank you.
Footer
© 2022 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.