>configure: error: Cannot find header files under /usr/include/mysql
>Bad exit status from /home/askwar/RPM/tmp/rpm-tmp.64223 (%build)
>
>I called configure with these parameters:
>

>--with-mysql=/usr/include/mysql

>host:/S.u.S.E. # ls -la /usr/include/mysql

>Does anyone have an idea about why this error happens?

Here's the thing:

PHP needs to find the MySQL headers, and you made a really good guess on the
--with-mysql part so it could have found those...

But, PHP *ALSO* needs to find the MySQL "libraries", which are probably
under /usr/lib/mysql

Now, you only get to specify *ONE* pathname in your --with-mysql=xxx

So, here's the deal-io.

You tell ./configure the directory *UP* *TO* the "common" part of where
MySQL headers and libraries are, and it digs down inside there to find both:

--with-mysql=/usr

Does that make sense?

PHP needs to dig inside of that to find the "include" dir, *AND* the "lib"
dir where stuff like libmysql.so are living.

So only give ./configure enough info to know where to start digging, not the
whole path to just the "include" and then it can't find the "lib" -- and,
paradoxically enough, it can't "dig" down to find the "include" inside the
include, because you dug too deep already.

In your case, it's just /usr

Somebody else might have:

/usr/local/mysql/
                include/
                lib/

and they would use /usr/local/mysql

Don't worry about exactly how ./configure is going to dig down inside of
/usr/include/mysql and /usr/lib/mysql
as opposed to
/usr/local/mysql/include and /usr/local/mysql/lib
on some other system
(See how the directory structures are "inverted" ?)

./configure is real good at digging "down" the directories either way it's
laid out.

It just ain't good at backing up a directory or two to find the parts it
needs.

-- 
Like Music?  http://l-i-e.com/artists.htm


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to