Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Mar 2005 14:23:04 -0500
From:      Mike Edenfield <kutulu@kutulu.org>
To:        Chuck Robey <chuckr@chuckr.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: libmagic
Message-ID:  <424C4E18.9000604@kutulu.org>
In-Reply-To: <424C4919.5080001@chuckr.org>
References:  <200503291443.27311.aj@siegel-tech.net> <424B5F30.6040409@chuckr.org> <200503302304.36661.bulk_mail@siegel-tech.net> <424C4919.5080001@chuckr.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Chuck Robey wrote:
> Aaron Siegel wrote:

>> The file magic.h is the header file to libmagic a libary that is part 
>> of the system, magic(3). The header is  located in 
>> /usr/src/contrib/file/magic.h. The only reason for doing I did this 
>> crazy stunt is I followed a thread on one of the list recommended that 
>> I copy the magic.h to /usr/include. I do not know if this is correct 
>> or not?  Andy Fawcett  found an error in the configure script which 
>> solved the problem, see thread for more details.
> 
> Anyhow, rule 1: anyone on FreeBSD who urges you to change the 
> /usr/include, or /usr/lib. or /usr/share stuff is not your friend.  Know 
> that there are possible exceptions: Linuxer's apparently have far less 
> respect for the system directories than FreeBSDers have, so that advice 
> would be less bad on one of those hosts.  On FreeBSD, there is a very 
> healthy respect maintained between system software, and user-installed 
> software, which is usually stuck in /usr/local/*.  After you get to know 
> your way around, you might modify that, but it's rare even then.  Some 
> folks like /opt instead of /usr/local, but there is *always* respect (in 
> FreeBSD) for the sytem dirs defined in man page hier(7).
> 
> My advice was (and still is) go looking in your port, using the "file" 
> command, to locate text files, and find out what dependencies your 
> software wants.  That magic.h file comes from *somewhere* and it's very 
> likely writen up for you.  Also, try googling "magic.h"

Good advice, in general, but may not help him here.  The file he's 
looking for *is* part of the base system and *should* be in 
/usr/include.  The real problem he needs to solve is, why isn't this 
file getting installed on his system?  It's present on both my -CURRENT 
and -STABLE systems, where it belongs:

kutulu@basement:/usr/src/lib/libmagic$ ls /usr/include/magic.h
4 -r--r--r--  1 root  wheel  2785 Feb  3 11:02 /usr/include/magic.h

The header (part of the file utility, contrib/file) is the interface for 
the libmagic library, again part of the base system:

kutulu@basement:/usr/src/lib/libmagic$ ls /usr/lib/libmagic.so.*
  52 -r--r--r--  1 root  wheel  52848 Mar  2 22:30 /usr/lib/libmagic.so.1

--Mike






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?424C4E18.9000604>