tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Required library not found



Hi,

I have a weird problem with pkgsrc/wip/erlang (see the TODO file). If I
build this package with PKG_OPTIONS.erlang=iodbc in /etc/mk.conf I get


=> Generating post-install file lists
...
0 errors and 3 warnings.
=> Checking for missing run-time search paths in erlang-14.1.0
ERROR: lib/erlang/lib/odbc-2.10.8/priv/bin/odbcserver: missing library:
libiodbc.so.2
*** Error code 1


A quick check says this:


# ldd
work.i386/.destdir/usr/pkg/lib/erlang/lib/odbc-2.10.8/priv/bin/odbcserver
work.i386/.destdir/usr/pkg/lib/erlang/lib/odbc-2.10.8/priv/bin/odbcserver:
        -liodbc.2 => not found
        -lpthread.1 => /usr/lib/libpthread.so.1
        -lc.12 => /usr/lib/libc.so.12
# ldd
work.i386/otp_src_R14A/lib/odbc/priv/bin/i386-unknown-netbsdelf5.99.30/odbcserver
work.i386/otp_src_R14A/lib/odbc/priv/bin/i386-unknown-netbsdelf5.99.30/odbcserver:
        -liodbc.2 => not found
        -lpthread.1 => /usr/lib/libpthread.so.1
        -lc.12 => /usr/lib/libc.so.12


During build time I see


=== Entering application odbc
make[3]: Entering directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/odbc/src'
make[3]: Nothing to be done for `opt'.
make[3]: Leaving directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/odbc/src'
make[3]: Entering directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/odbc/c_src'
make -f i386-unknown-netbsdelf5.99.30/Makefile TYPE=opt
make[4]: Entering directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/odbc/c_src'
/usr/bin/install -c -o martti -g wheel
-d ../priv/obj/i386-unknown-netbsdelf5.99.30
/usr/bin/install -c -o martti -g wheel
-d ../priv/bin/i386-unknown-netbsdelf5.99.30
cc  -O2 -pipe -DMMAP_MAP_FIXED -D_NETBSD_SOURCE -I/usr/pkg/include
-I/usr/include  -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS
-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1
-DHAVE_SYS_TYP
ES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_NETDB_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_SOCKET_H=1
-DHAVE_MEMSET=1 -DHAVE_
SOCKET=1 -DHAVE_PTHREAD_H=1  -I. -I/usr/pkg/include
-I/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/erl_interface/include 
-DUNIX -o ../priv/obj/i386-unknown-netbsdelf5.99.30/odbcserver.o -c odbcserver.c
odbcserver.c: In function 'decode_params':
odbcserver.c:1602: warning: passing argument 3 of
'ei_decode_tuple_header' from incompatible pointer type
odbcserver.c: In function 'init_param_column':
odbcserver.c:2182: warning: assignment from incompatible pointer type
cc  -O2 -pipe -DMMAP_MAP_FIXED -D_NETBSD_SOURCE -I/usr/pkg/include
-I/usr/include  -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS
-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1
-DHAVE_SYS_TYP
ES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_NETDB_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_SOCKET_H=1
-DHAVE_MEMSET=1 -DHAVE_
SOCKET=1 -DHAVE_PTHREAD_H=1
-o ../priv/bin/i386-unknown-netbsdelf5.99.30/odbcserver 
../priv/obj/i386-unknown-netbsdelf5.99.30/odbcserver.o -L/usr/pkg/lib -lodbc 
-L/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/erl_interface/obj/i386-unknown-netbsdelf5.99.30
 -lpthrea
d -lerl_interface -lei
make[4]: Leaving directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/odbc/c_src'
make[3]: Leaving directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/odbc/c_src'
make[3]: Entering directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/odbc/doc/src'
make[3]: Nothing to be done for `opt'.
make[3]: Leaving directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/odbc/doc/src'
=== Leaving application odbc
make[2]: Leaving directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/odbc'
make[2]: Entering directory
`/home/pkgsrc/wip/erlang/work.i386/otp_src_R14A/lib/runtime_tools'
=== Entering application runtime_tools


so there's no error and I do have the library installed


# ls -lh /usr/pkg/lib/lib*odbc.*
-rw-r--r--  1 root  wheel  490K Jun 18 23:43 /usr/pkg/lib/libiodbc.a
-rwxr-xr-x  1 root  wheel  1.0K Jun 18 23:43 /usr/pkg/lib/libiodbc.la
lrwxr-xr-x  1 root  wheel   18B Jun 18 23:43 /usr/pkg/lib/libiodbc.so ->
libiodbc.so.2.1.19
lrwxr-xr-x  1 root  wheel   18B Jun 18 23:43 /usr/pkg/lib/libiodbc.so.2
-> libiodbc.so.2.1.19
-rwxr-xr-x  1 root  wheel  308K Jun 18
23:43 /usr/pkg/lib/libiodbc.so.2.1.19
lrwxr-xr-x  1 root  wheel   10B Jun 18 23:43 /usr/pkg/lib/libodbc.a ->
libiodbc.a
lrwxr-xr-x  1 root  wheel   18B Jun 18 23:43 /usr/pkg/lib/libodbc.so ->
libiodbc.so.2.1.19


And yes, it's even in the buildlink area


# ls work.i386/.buildlink/lib
libiodbc.a                libiodbcinst.a            libodbc.a
libiodbc.la               libiodbcinst.la           libodbc.so
libiodbc.so               libiodbcinst.so           pkgconfig
libiodbc.so.2             libiodbcinst.so.2
libiodbc.so.2.1.19        libiodbcinst.so.2.1.19


Any ideas why the build works but the installed binary doesn't know
anything about the library installed in /usr/pkg/lib?

Martti




Home | Main Index | Thread Index | Old Index