zlib.h in custom path


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting zlib.h in custom path
# 1  
Old 07-04-2011
zlib.h in custom path

I am trying to configure gpac. I get the error as follows.
Code:
[root@ffmpeg gpac]# ./configure
error: zlib not found on system or in local libs

I have installed zlib on custom path /usr/local/myapps. I know the above error occurs when devel package or .h file is not present. Its present on the server.
Code:
[root@ffmpeg gpac]# ll /usr/local/myapps/include/zlib.h
-rw-r--r-- 1 root root 79564 Jul  4 02:12 /usr/local/myapps/include/zlib.h
[/code[
I have given environment variables as follows.
LIBS=-L/usr/local/myapps/lib
PKG_CONFIG_PATH=/usr/local/myapps/lib/pkgconfig
LDFLAGS=-L/usr/local/myapps/lib
CPPFLAGS=-I/usr/local/myapps/include
PATH=/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin::/root/bin:/usr/local/myapps/bin

Again .pc file also present.
Code:
[root@ffmpeg gpac]# ll /usr/local/myapps/lib/pkgconfig/zlib.pc
-rw-r--r-- 1 root root 265 Jul  4 02:12 /usr/local/myapps/lib/pkgconfig/zlib.pc

How to make the gpac configure script recognize the zlib.h file from the path /usr/local/myapps/include ? I made a symlink to /usr/include/zlib.h and it did not work. Installing zlib-devel via yum solves the problem. But yum installs a differerent zlib version. I need to use custom zlib.
# 2  
Old 07-04-2011
Quote:
Originally Posted by anilcliff
I am trying to configure gpac. I get the error as follows.
Code:
[root@ffmpeg gpac]# ./configure
error: zlib not found on system or in local libs

I have installed zlib on custom path /usr/local/myapps. I know the above error occurs when devel package or .h file is not present. Its present on the server.
Code:
[root@ffmpeg gpac]# ll /usr/local/myapps/include/zlib.h
-rw-r--r-- 1 root root 79564 Jul  4 02:12 /usr/local/myapps/include/zlib.h
[/code[
I have given environment variables as follows.
LIBS=-L/usr/local/myapps/lib
PKG_CONFIG_PATH=/usr/local/myapps/lib/pkgconfig
LDFLAGS=-L/usr/local/myapps/lib
CPPFLAGS=-I/usr/local/myapps/include
PATH=/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin::/root/bin:/usr/local/myapps/bin

Again .pc file also present.
Code:
[root@ffmpeg gpac]# ll /usr/local/myapps/lib/pkgconfig/zlib.pc
-rw-r--r-- 1 root root 265 Jul  4 02:12 /usr/local/myapps/lib/pkgconfig/zlib.pc

How to make the gpac configure script recognize the zlib.h file from the path /usr/local/myapps/include ? I made a symlink to /usr/include/zlib.h and it did not work. Installing zlib-devel via yum solves the problem. But yum installs a differerent zlib version. I need to use custom zlib.
where did you define variable of CPPFLAGS ?(In parent shell or in your configure script)
# 3  
Old 07-04-2011
Did in both shell and configure script.

configure script snippet
Code:
CPPFLAGS=-I/usr/local/myapps/include
CFLAGS=-I/usr/local/myapps/include

cat > $TMPC << EOF
#include <zlib.h>
int main( void ) { if (zlibVersion() != ZLIB_VERSION) { puts("zlib version differs !!!"); return 1; } return 0; }
EOF
has_zlib="no"
if $cc -o $TMPO $TMPC -lz 2> /dev/null  ; then
has_zlib="system"
elif $cc -o $TMPO $TMPC -I$local_inc/zlib -L$local_lib -lz 2> /dev/null  ; then
has_zlib="local"
else
  echo "error: zlib not found on system or in local libs"
  exit 1
fi

error:
Code:
[root@ffmpeg gpac]# ./configure
error: zlib not found on system or in local libs

# 4  
Old 07-04-2011
firstly , remove the stderr sending null and lets see what happen Smilie
probably , error occurs due to another things,maybe variables (be sure all variables is defined like TMPC,TMPO..)

and you can try with this (more specific)
Code:
.......
cat > $TMPC << EOF
#include<stdio.h>
#include <zlib.h>
#include <string.h>
int main( void ) {
static const char* curV = ZLIB_VERSION;
if (zlibVersion()[0] != curV[0]) {
printf("zlib versions has major different using..%s and,currently in system..%s\n" ,zlibVersion(),ZLIB_VERSION);
return 1;}
else if ( strcmp (zlibVersion(),ZLIB_VERSION) != 0 )  {
printf( "you are using %s, cur version %s.\n",zlibVersion(),ZLIB_VERSION);
}
return 0;
}
EOF
....
...


regards
ygemici
# 5  
Old 07-05-2011
I removed the stderr and got the following error. I have echoed variables. Let me know if any other variable I should echo. Its not checking the path /usr/local/myapps/include/ where zlib.h is present.

[root@ffmpeg gpac]# ll /usr/local/myapps/include/zlib.h
-rw-r--r-- 1 root root 79564 Jul 4 02:12 /usr/local/myapps/include/zlib.h

Code:
[root@ffmpeg gpac]# ./configure
CPPFLAGS  -fno-strict-aliasing
CFLAGS  -fno-strict-aliasing
CFLAGS  -fno-strict-aliasing
cc gcc
TMPC /tmp/gpac-conf-7254-30179-4836.c
TMPO /tmp/gpac-conf-22952-30179-10957.o
local_inc /usr/src/gpac/extra_lib/include
local_lib extra_lib/lib/gcc
CPPFLAGS  -fno-strict-aliasing   --> I set after this to CPPFLAGS to the value below
CPPFLAGS -I/usr/local/myapps/include
/tmp/gpac-conf-7254-30179-4836.c:1:18: error: zlib.h: No such file or directory
/tmp/gpac-conf-7254-30179-4836.c: In function 'main':
/tmp/gpac-conf-7254-30179-4836.c:2: error: 'ZLIB_VERSION' undeclared (first use in this function)
/tmp/gpac-conf-7254-30179-4836.c:2: error: (Each undeclared identifier is reported only once
/tmp/gpac-conf-7254-30179-4836.c:2: error: for each function it appears in.)
error: zlib not found on system or in local libs

# 6  
Old 07-05-2011
Please write output of below commands.
Code:
# uname -a
# gcc --version  ## ## if you use gcc

and
* create tmp.c with below contents
Code:
#include <zlib.h>
int main( void ) { if (zlibVersion() != ZLIB_VERSION) { puts("zlib version differs !!!"); return 1; } return 0; }

after than can you write below's output
Code:
# gcc -v -o tmp.o tmp.c -lz

and this
Code:
# gcc -v -o tmp.o tmp.c -lz -I/usr/local/myapps/include

# 7  
Old 07-05-2011
Thank you. I get this.

Code:
[root@ffmpeg gpac]# gcc -o tmp.o tmp.c -lz -I/usr/local/myapps/include
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status

---------- Post updated at 07:53 PM ---------- Previous update was at 07:36 PM ----------

Fixed. I modified the configure script as follows. Thanks a lot !!

Code:
cat > $TMPC << EOF
#include <zlib.h>
int main( void ) { if (zlibVersion() != ZLIB_VERSION) { puts("zlib version differs !!!"); return 1; } return 0; }
EOF
has_zlib="no"
if $cc -o $TMPO $TMPC -lz 2> /dev/null ; then
has_zlib="system"
elif $cc -o $TMPO $TMPC -I$local_inc/zlib -L$local_lib -lz -I/usr/local/myapps/include -L/usr/local/myapps/lib 2> /dev/null  ; then
#elif $cc -o $TMPO $TMPC -I$local_inc/zlib -L$local_lib -lz  2> /dev/null  ; then
has_zlib="local"
else
  echo "error: zlib not found on system or in local libs"
  exit 1
fi

Code:
** Detected libraries **
zlib: local
OSS Audio: yes
ALSA Audio: no

---------- Post updated at 08:02 PM ---------- Previous update was at 07:53 PM ----------

make returns this error now

Code:
positor/texturing.opic compositor/texturing_gl.opic compositor/visual_manager.opic compositor/visual_manager_2d.opic 
compositor/visual_manager_2d_draw.opic compositor/visual_manager_3d.opic compositor/visual_manager_3d_gl.opic
compositor/x3d_geometry.opic laser/lsr_enc.opic laser/lsr_dec.opic laser/lsr_tables.opic -lm
 -L/usr/local/lib -lGL -lglut -L../extra_lib/lib/gcc  -lz -lpthread -ldl
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make[1]: *** [libgpac.so] Error 1
make[1]: Leaving directory `/usr/src/gpac/src'
make: *** [lib] Error 2

---------- Post updated at 08:23 PM ---------- Previous update was at 08:02 PM ----------

SOLVED !!
Use make as follows.

Code:
make --environment-overrides -I/usr/local/myapps/include
make  --environment-overrides -I/usr/local/myapps/include install

MP4Box works like a charm
Code:
[root@ffmpeg gpac]# /usr/local/myapps/bin/MP4Box -version
MP4Box - GPAC version 0.4.5 (build 33)
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
                (c) ENST 2005-200X

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Convert Relative path to Absolute path, without changing directory to the file location.

Hello, I am creating a file with all the source folders included in my git branch, when i grep for the used source, i found source included as relative path instead of absolute path, how can convert relative path to absolute path without changing directory to that folder and using readlink -f ? ... (4 Replies)
Discussion started by: Sekhar419
4 Replies

2. UNIX for Advanced & Expert Users

Command to see the logical volume path, device mapper path and its corresponding dm device path

Currently I am using this laborious command lvdisplay | awk '/LV Path/ {p=$3} /LV Name/ {n=$3} /VG Name/ {v=$3} /Block device/ {d=$3; sub(".*:", "/dev/dm-", d); printf "%s\t%s\t%s\n", p, "/dev/mapper/"v"-"n, d}' Would like to know if there is any shorter method to get this mapping of... (2 Replies)
Discussion started by: royalibrahim
2 Replies

3. UNIX for Advanced & Expert Users

Problem compiling glib using static zlib

Hello I have been trying to compile glib 2.28 with needs Zlib. During the compilation process I received these messages Then giving a look at the configure of Zlib, there was an option to static link it and I obviously used it. So I think I can solve it by compiling a shared zlib, or by... (4 Replies)
Discussion started by: colt
4 Replies

4. Shell Programming and Scripting

Moving files from parent path to multiple child path using bash in efficient way

Hi All, Can you please provide some pointers to move files from Base path to multiple paths in efficient way.Folder Structure is already created. /Path/AdminUser/User1/1111/Reports/aaa.txt to /Path/User1/1111/Reports/aaa.txt /Path/AdminUser/User1/2222/Reports/bbb.txt to... (6 Replies)
Discussion started by: karthikgv417
6 Replies

5. UNIX for Dummies Questions & Answers

Make install in custom path

I would like to install a binary from source on a custom path, say /usr/local/myapps. There is no --prefix option in ./configure How can I "make install" at custom path. I tried this. No --prefix root@server # ./configure --help | grep prefix root@server # Make install ... (3 Replies)
Discussion started by: anil510
3 Replies

6. Shell Programming and Scripting

Custom directory path variable

I'm trying to write my first shell script and got a bit stuck with this: I've got myscript.sh that executes from /fromhere. If the script is run with the syntax ./myscript.sh tothere: I need to make a variable inside the script containing /fromhere/tothere ...and if the script is run with... (10 Replies)
Discussion started by: Chronomaly
10 Replies

7. BSD

Installing zlib

Is there a port or shorthand way of installing the zlib library on FreeBSD? I currently use the following: wget http://zlib.net/zlib-1.2.5.tar.gz tar zxf zlib*.gz cd zlib*\. ./configure --libdir=/usr/lib --includedir=/usr/include make install clean This is somewhat contrived code and for a... (4 Replies)
Discussion started by: figaro
4 Replies

8. UNIX for Advanced & Expert Users

how to compress .zlib file

Hi all, I wanted to know how to compress a .zlib file.. an working on unix so pls suggest accordingly. the file is pretty big(500 mb) also i would like to know any weblinks where i can get more info on various compressions commands in unix i have tried zip,compress commands but i have not... (1 Reply)
Discussion started by: wrapster
1 Replies

9. Programming

problem about using zlib to uncompress gzip in memory

I wrote a function which for uncompressing data for gzip or deflate format using zlib,see followed code; source param is pointed to the compressed data,len param is the size of compressed data, dest param is for returning the address which pointed to the uncompressed data;the last gzip param tell... (0 Replies)
Discussion started by: iwishfine
0 Replies

10. Programming

uncompress of zlib

When I gzopen & gzread from a gzip file, it works OK. But I when I try to uncompress the same data from memory (either by reading to memory with fread or mmap()ing) using decompress, I get Z_DATA_ERROR. Is it because gzip file has some kind of headers that uncompress doesn't want? How can I get... (3 Replies)
Discussion started by: rayne
3 Replies
Login or Register to Ask a Question