View previous topic :: View next topic |
Author |
Message |
rzdndr Tux's lil' helper
Joined: 26 Jul 2024 Posts: 112
|
Posted: Thu Aug 29, 2024 12:42 pm Post subject: Can not install psqlodbc |
|
|
Hello All
Wanted to add odbc suport to PHP on my system. I enabled iodbc and odbc flags, and emerged. This updated php, and 2 other packages. When I try to use odbc_connect, it complains that it can not find the driver (am using postgresql). So i did not find the driver and have tried emerging the psqlodbc, but emerge fails
Code: |
emerge --ask --verbose psqlodbc
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 5.90 s (backtrack: 0/20).
[ebuild N ] dev-db/psqlodbc-11.01.0000::gentoo USE="iodbc ssl -doc -threads" 0 KiB
Total: 1 package (1 new), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) dev-db/psqlodbc-11.01.0000::gentoo
* psqlodbc-11.01.0000.tar.gz BLAKE2B SHA512 size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking psqlodbc-11.01.0000.tar.gz to /var/tmp/portage/dev-db/psqlodbc-11.01.0000/work
>>> Source unpacked in /var/tmp/portage/dev-db/psqlodbc-11.01.0000/work
>>> Preparing source in /var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000 ...
* econf: updating psqlodbc-11.01.0000/config/config.sub with /usr/share/gnuconfig/config.sub
* econf: updating psqlodbc-11.01.0000/config/config.guess with /usr/share/gnuconfig/config.guess
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/psqlodbc-11.01.0000 --htmldir=/usr/share/doc/psqlodbc-11.01.0000/html --with-sysroot=/ --libdir=/usr/lib64 --with-iodbc --without-unixodbc --disable-pthreads
checking for a BSD-compatible install... /usr/lib/portage/python3.12/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking whether x86_64-pc-linux-gnu-gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of x86_64-pc-linux-gnu-gcc... none
checking for iodbc-config... /usr/bin/iodbc-config
configure: using -I/usr/include/iodbc -liodbc -liodbcinst
configure: using -liodbc -liodbcinst for regression test
checking last argument to SQLColAttribute is SQLLEN *... yes
checking for pg_config... /usr/bin/pg_config
checking for prove... prove
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by x86_64-pc-linux-gnu-gcc... /usr/libexec/gcc/x86_64-pc-linux-gnu/ld
checking if the linker (/usr/libexec/gcc/x86_64-pc-linux-gnu/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/libexec/gcc/x86_64-pc-linux-gnu/ld option to reload object files... -r
checking for x86_64-pc-linux-gnu-objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-pc-linux-gnu-dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking for archiver @FILE support... @
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking command to parse /usr/bin/nm -B output from x86_64-pc-linux-gnu-gcc object... ok
checking for sysroot... /
checking for x86_64-pc-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc static flag -static works... no
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/libexec/gcc/x86_64-pc-linux-gnu/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for library containing SQLGetPrivateProfileString... -liodbcinst
checking for PQsetSingleRowMode in -lpq... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking uchar.h usability... yes
checking uchar.h presence... yes
checking for uchar.h... yes
checking libpq-fe.h usability... yes
checking libpq-fe.h presence... yes
checking for libpq-fe.h... yes
checking whether time.h and sys/time.h may both be included... yes
checking size of long... 8
checking size of long int... 8
checking size of void *... 8
checking for long long... yes
checking for signed char... yes
checking for ssize_t... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for an ANSI C-conforming const... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... no
checking for strtoul... yes
checking for strtoll... yes
checking for strlcat... yes
checking for mbstowcs... yes
checking for wcstombs... yes
checking for mbrtoc16... yes
checking for c16rtomb... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating test/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000 ...
make -j4
make all-am
make[1]: Entering directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
/bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c -o psqlodbcw_la-columninfo.lo `test -f 'columninfo.c' || echo './'`columninfo.c
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c columninfo.c -fPIC -DPIC -o .libs/psqlodbcw_la-columninfo.o
In file included from connection.h:14,
from columninfo.c:18:
/usr/include/postgresql-16/internal/pqexpbuffer.h:168:8: error: unknown type name 'bool'
168 | extern bool appendPQExpBufferVA(PQExpBuffer str, const char *fmt, va_list args) pg_attribute_printf(2, 0);
| ^~~~
make[1]: *** [Makefile:675: psqlodbcw_la-columninfo.lo] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
make[1]: *** Waiting for unfinished jobs....
make[1]: Entering directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
/bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c -o psqlodbcw_la-bind.lo `test -f 'bind.c' || echo './'`bind.c
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c bind.c -fPIC -DPIC -o .libs/psqlodbcw_la-bind.o
In file included from connection.h:14,
from qresult.h:16,
from bind.c:25:
/usr/include/postgresql-16/internal/pqexpbuffer.h:168:8: error: unknown type name 'bool'
168 | extern bool appendPQExpBufferVA(PQExpBuffer str, const char *fmt, va_list args) pg_attribute_printf(2, 0);
| ^~~~
make[1]: *** [Makefile:668: psqlodbcw_la-bind.lo] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
make[1]: Entering directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
/bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c -o psqlodbcw_la-connection.lo `test -f 'connection.c' || echo './'`connection.c
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c connection.c -fPIC -DPIC -o .libs/psqlodbcw_la-connection.o
In file included from connection.h:14,
from connection.c:22:
/usr/include/postgresql-16/internal/pqexpbuffer.h:168:8: error: unknown type name 'bool'
168 | extern bool appendPQExpBufferVA(PQExpBuffer str, const char *fmt, va_list args) pg_attribute_printf(2, 0);
| ^~~~
make[1]: *** [Makefile:682: psqlodbcw_la-connection.lo] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
make[1]: Entering directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
/bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c -o psqlodbcw_la-info.lo `test -f 'info.c' || echo './'`info.c
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c info.c -fPIC -DPIC -o .libs/psqlodbcw_la-info.o
In file included from connection.h:14,
from info.c:34:
/usr/include/postgresql-16/internal/pqexpbuffer.h:168:8: error: unknown type name 'bool'
168 | extern bool appendPQExpBufferVA(PQExpBuffer str, const char *fmt, va_list args) pg_attribute_printf(2, 0);
| ^~~~
make[1]: *** [Makefile:661: psqlodbcw_la-info.lo] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
make: *** [Makefile:479: all] Error 2
* ERROR: dev-db/psqlodbc-11.01.0000::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=dev-db/psqlodbc-11.01.0000::gentoo'`,
* the complete build log and the output of `emerge -pqv '=dev-db/psqlodbc-11.01.0000::gentoo'`.
* The complete build log is located at '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/temp/environment'.
* Working directory: '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
* S: '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
>>> Failed to emerge dev-db/psqlodbc-11.01.0000, Log file:
>>> '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/temp/build.log'
* Messages for package dev-db/psqlodbc-11.01.0000:
* ERROR: dev-db/psqlodbc-11.01.0000::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=dev-db/psqlodbc-11.01.0000::gentoo'`,
* the complete build log and the output of `emerge -pqv '=dev-db/psqlodbc-11.01.0000::gentoo'`.
* The complete build log is located at '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/temp/environment'.
* Working directory: '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
* S: '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
|
Is this driver up-to-date? Because it fails compiling when it finds the "bool" type. Anyone using odbc driver with php?
Regards |
|
Back to top |
|
|
nicop Tux's lil' helper
Joined: 10 Apr 2014 Posts: 88
|
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31257 Location: here
|
Posted: Thu Aug 29, 2024 1:03 pm Post subject: |
|
|
Or you can try to apply patch reported by nicop with /etc/portage/patches but I'm not sure if applicable to old version. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
grknight Retired Dev
Joined: 20 Feb 2015 Posts: 1910
|
Posted: Thu Aug 29, 2024 1:03 pm Post subject: |
|
|
rzdndr wrote: | Wanted to add odbc suport to PHP on my system. I enabled iodbc and odbc flags, and emerged. This updated php, and 2 other packages. When I try to use odbc_connect, it complains that it can not find the driver (am using postgresql). So i did not find the driver and have tried emerging the psqlodbc, but emerge fails |
This seems to be an odd request for odbc when postgres is directly supported by PHP without odbc. (perhaps some strange, and rather archaic, 3rd party software)
The build failure is noted in Bug 914435 with no apparent action since reporting about a year ago. |
|
Back to top |
|
|
rzdndr Tux's lil' helper
Joined: 26 Jul 2024 Posts: 112
|
Posted: Fri Aug 30, 2024 3:06 am Post subject: |
|
|
There is no special reason for why adding odbc. Wanted to add pdo support to php, thought why not add odbc too. But pdo is also not working. Will have to look into that.
Edit: I think that when I enabled odbc/iodbc and pdo together, the pdo driver has been assigned as the odbc driver (from phpinfo).
Code: |
PDO
PDO support => enabled
PDO drivers => odbc
|
How is it possible to look into the odbc problem. After the emerge failed, I think the source for the package is in the tmp directories. How is it possible to debug these things in gentoo? Directly working in the tmp directories?
The error in bug Bug 914435 is not the same. This seems to be a type that is not found. But going with the newer version might help.
Thanks for your help.
Regards |
|
Back to top |
|
|
grknight Retired Dev
Joined: 20 Feb 2015 Posts: 1910
|
Posted: Fri Aug 30, 2024 12:27 pm Post subject: |
|
|
rzdndr wrote: |
Code: |
PDO
PDO support => enabled
PDO drivers => odbc
|
|
PDO can use many different drivers including mysql, mssql, postgres, odbc, and more. All are accessible at the same time.
You need the postgres USE enabled to get PDO and postgres.
If you need more assistance, please show emerge --info dev-lang/php so we know what is set. |
|
Back to top |
|
|
rzdndr Tux's lil' helper
Joined: 26 Jul 2024 Posts: 112
|
Posted: Fri Aug 30, 2024 1:16 pm Post subject: |
|
|
grknight wrote: | rzdndr wrote: |
Code: |
PDO
PDO support => enabled
PDO drivers => odbc
|
|
PDO can use many different drivers including mysql, mssql, postgres, odbc, and more. All are accessible at the same time.
You need the postgres USE enabled to get PDO and postgres.
If you need more assistance, please show emerge --info dev-lang/php so we know what is set. |
Yep did set USE var postgres. I realized that I needed that use flag.
Thanks
Regards |
|
Back to top |
|
|
grknight Retired Dev
Joined: 20 Feb 2015 Posts: 1910
|
Posted: Fri Aug 30, 2024 1:38 pm Post subject: |
|
|
rzdndr wrote: | The error in bug Bug 914435 is not the same. This seems to be a type that is not found. But going with the newer version might help. |
It is the same, see this from the first post code:
rzdndr wrote: | Code: | >>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000 ...
make -j4
make all-am
make[1]: Entering directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
/bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c -o psqlodbcw_la-columninfo.lo `test -f 'columninfo.c' || echo './'`columninfo.c
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c columninfo.c -fPIC -DPIC -o .libs/psqlodbcw_la-columninfo.o
In file included from connection.h:14,
from columninfo.c:18:
/usr/include/postgresql-16/internal/pqexpbuffer.h:168:8: error: unknown type name 'bool'
168 | extern bool appendPQExpBufferVA(PQExpBuffer str, const char *fmt, va_list args) pg_attribute_printf(2, 0);
| ^~~~ |
|
And this from the bug: Code: | In file included from statement.h:15,
from bind.c:23:
/usr/include/postgresql-16/internal/pqexpbuffer.h:168:8: error: unknown type name bool
168 | extern bool appendPQExpBufferVA(PQExpBuffer str, const char *fmt, va_list args) pg_attribute_printf(2, 0);
| ^~~~ |
|
|
Back to top |
|
|
rzdndr Tux's lil' helper
Joined: 26 Jul 2024 Posts: 112
|
Posted: Fri Aug 30, 2024 1:41 pm Post subject: |
|
|
grknight wrote: | rzdndr wrote: | The error in bug Bug 914435 is not the same. This seems to be a type that is not found. But going with the newer version might help. |
It is the same, see this from the first post code:
rzdndr wrote: | Code: | >>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000 ...
make -j4
make all-am
make[1]: Entering directory '/var/tmp/portage/dev-db/psqlodbc-11.01.0000/work/psqlodbc-11.01.0000'
/bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c -o psqlodbcw_la-columninfo.lo `test -f 'columninfo.c' || echo './'`columninfo.c
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/usr/include/iodbc -I/usr/include/postgresql-16 -I/usr/include/postgresql-16/internal -DUNICODE_SUPPORT -O2 -pipe -c columninfo.c -fPIC -DPIC -o .libs/psqlodbcw_la-columninfo.o
In file included from connection.h:14,
from columninfo.c:18:
/usr/include/postgresql-16/internal/pqexpbuffer.h:168:8: error: unknown type name 'bool'
168 | extern bool appendPQExpBufferVA(PQExpBuffer str, const char *fmt, va_list args) pg_attribute_printf(2, 0);
| ^~~~ |
|
|
My apologies, did not see the bool error when I looked at the bug report. (how did I read that bug report, I do not know ). Yes it is definitely the same thing.
Regards |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|