LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 02-25-2022, 09:35 PM   #1
RandomTroll
Senior Member
 
Registered: Mar 2010
Distribution: Slackware
Posts: 1,971

Rep: Reputation: 271Reputation: 271Reputation: 271
A build fails because it tells me a file doesn't exist, but it does.


I tried to build mplayer today. It fails with:
Quote:
In file included from stream/stream_cddb.c:59:
/usr/include/linux/cdrom.h:16:10: fatal error: asm/byteorder.h: No such file or directory
16 | #include
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:730: stream/stream_cddb.o] Error 1
but asm/byteorder.h does exist.
 
Old 02-25-2022, 11:12 PM   #2
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,883
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
You have to verify the include path for the compile, because it obviously isn't pointing to a directory structure containing that file.
 
1 members found this post helpful.
Old 02-26-2022, 11:20 PM   #3
RandomTroll
Senior Member
 
Registered: Mar 2010
Distribution: Slackware
Posts: 1,971

Original Poster
Rep: Reputation: 271Reputation: 271Reputation: 271
Quote:
Originally Posted by rtmistler View Post
You have to verify the include path for the compile
Is this a formal process?

Quote:
Originally Posted by rtmistler View Post
it obviously isn't pointing to a directory structure containing that file.
That's the formal meaning, but I don't understand how it can't work. The file with the bad reference is /usr/include/linux/cdrom.h , which, you think, would have a correct reference to asm/byteorder.h , otherwise every build that referenced cdrom.h would make the same complaint.
 
Old 02-27-2022, 07:24 AM   #4
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,883
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
Quote:
Originally Posted by RandomTroll View Post
Is this a formal process?


That's the formal meaning, but I don't understand how it can't work. The file with the bad reference is /usr/include/linux/cdrom.h , which, you think, would have a correct reference to asm/byteorder.h , otherwise every build that referenced cdrom.h would make the same complaint.
There's no guarantee that the compiler includes are referencing that path.

View your make output to review where it is searching for include files, it shows at every source file compile. You can also enable debug when you run the make. The make manual page describes this.
 
Old 02-27-2022, 08:09 AM   #5
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,913

Rep: Reputation: 7318Reputation: 7318Reputation: 7318Reputation: 7318Reputation: 7318Reputation: 7318Reputation: 7318Reputation: 7318Reputation: 7318Reputation: 7318Reputation: 7318
It looks like byteorder.h belongs to the kernel so you need to install either the appropriate kernel dev or header package. This file has no standard location, you need to tell the compiler where to look for this file.
 
Old 02-27-2022, 06:19 PM   #6
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,883
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
Quote:
Originally Posted by pan64 View Post
It looks like byteorder.h belongs to the kernel so you need to install either the appropriate kernel dev or header package. This file has no standard location, you need to tell the compiler where to look for this file.
One would think the configure script would notice this, but there is no real information on what was done.

@OP,

If people do not know what commands you used to get this error and do not include more of the make log where it shows the call where it compiles stream_cddb.c then there's not much further advice I think we can offer. There should have been lines before the error report which showed this information.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Hachette Tells Authors And Tor To Use DRM Because It Is Awesome Or Something LXer Syndicated Linux News 0 08-16-2012 08:02 PM
VirtualBox-OSE cannot be run as user anymore because "VBoxVMM.so" doesn't exist? Raveolution Linux - Software 2 11-15-2010 01:46 AM
[SOLVED] How to download Debian Linux? I'm confused because it tells me that there are 50 cd's QueenZ Linux - Newbie 6 09-08-2010 06:31 PM
Can't mount ipod because it doesn't exist..? 27thSunshine Slackware 2 04-01-2009 02:42 PM
cannot login because file system check fails because of bad magic number trutnev Linux - Newbie 1 03-23-2004 06:44 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 12:13 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration