Just in case there's any relevance, here's the full text of the db44 compile error Building db44 with target all Error: Target com.apple.build returned: shell command " cd "/opt/ local/var/db/dports/build/ _opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dp orts_databases_db44/work/db-4.4.20/build_unix" && make all " returned error 2 Command output: /bin/sh ./libtool --mode=compile /usr/bin/gcc-4.0 -c - O2 -I../dist/.. -I/opt/local/include ../dist/../db_dump185/db_dump185.c /usr/bin/gcc-4.0 -c -O2 -I../dist/.. -I/opt/local/include ../ dist/../db_dump185/db_dump185.c -fno-common -DPIC -o .libs/db_dump185.o ../dist/../db_dump185/db_dump185.c: In function 'main': ../dist/../db_dump185/db_dump185.c:212: warning: assignment makes pointer from integer without a cast ../dist/../db_dump185/db_dump185.c:214: warning: assignment makes pointer from integer without a cast ../dist/../db_dump185/db_dump185.c:229: error: 'struct __db' has no member named 'seq' ../dist/../db_dump185/db_dump185.c:229: error: 'R_NEXT' undeclared (first use in this function) ../dist/../db_dump185/db_dump185.c:229: error: (Each undeclared identifier is reported only once ../dist/../db_dump185/db_dump185.c:229: error: for each function it appears in.) ../dist/../db_dump185/db_dump185.c:234: error: 'struct __db' has no member named 'seq' ../dist/../db_dump185/db_dump185.c: In function 'db_hash': ../dist/../db_dump185/db_dump185.c:262: error: 'struct __db' has no member named 'internal' ../dist/../db_dump185/db_dump185.c:264: error: 'struct __db' has no member named 'internal' ../dist/../db_dump185/db_dump185.c: In function 'db_btree': ../dist/../db_dump185/db_dump185.c:289: error: 'struct __db' has no member named 'internal' make: *** [db_dump185.lo] Error 1 SR
Steven Rogers wrote:
Just in case there's any relevance, here's the full text of the db44 compile error
Building db44 with target all Error: Target com.apple.build returned: shell command " cd "/opt/ local/var/db/dports/build/ _opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dp orts_databases_db44/work/db-4.4.20/build_unix" && make all " returned error 2 ...
I have been having a very frustrating time trying to install Apache2 +openldap. which you probably know by now is dependent on db4 and db44. Turns out there is a misconfiguration of db packages in the MacPorts repository...full details can be found here: http://concise-software.blogspot.com/2007/07/howto-sudo-port-install-db4.htm... What this link tells you is to edit as Admin: /opt/local/var/macports/sources/rsync.macports.org/release/ports/databases/db4/Portfile Change the line: configure.args --enable-compat185 --enable-dump185 --enable-cxx \ TO configure.args --enable-cxx \ Unfortunately that does not work for me, since there is nothing in .....release/ports/ The solution is to run the command: sudo port edit db4 and then remove the offending command Do the same for db44 and any other db{x} you need to make. Who do I talk to about fixing the repository? Why is it almost two weeks without the system being fixed? - Miles -- View this message in context: http://www.nabble.com/Full-db44-error-tf4021954.html#a11866676 Sent from the MacPorts - Users mailing list archive at Nabble.com.
miles3 <miles-nabble@vividcolor.org> writes:
I have been having a very frustrating time trying to install Apache2 +openldap. which you probably know by now is dependent on db4 and db44. Turns out there is a misconfiguration of db packages in the MacPorts repository...full details can be found here: http://concise-software.blogspot.com/2007/07/howto-sudo-port-install-db4.htm...
What this link tells you is to edit as Admin: /opt/local/var/macports/sources/rsync.macports.org/release/ports/databases/db4/Portfile
Change the line: configure.args --enable-compat185 --enable-dump185 --enable-cxx \ TO configure.args --enable-cxx \
Unfortunately that does not work for me, since there is nothing in .....release/ports/ The solution is to run the command: sudo port edit db4 and then remove the offending command
Do the same for db44 and any other db{x} you need to make.
Who do I talk to about fixing the repository? Why is it almost two weeks without the system being fixed?
The concise-software blog author chose not to have his discussion on a MacPorts list where it might be useful so we didn't benefit. He chose to document a supposed bug rather than contribute to fixing it. But there isn't much we can do about lone rangers. But otherwise, I suspect that openldap should use db44 (a newer version) rather than db4. So please try this: uninstall db4 install db44 Change the openldap Portfile like this: --- Portfile.org 2007-07-30 09:30:48.000000000 -0700 +++ Portfile 2007-07-30 09:36:58.000000000 -0700 @@ -20,12 +20,13 @@ depends_lib port:perl5.8 \ port:cyrus-sasl2 \ port:openssl \ - port:db4 + port:db44 patchfiles patch-ltmain configure.env-append LANG=C -configure.cppflags-append "-I${prefix}/include/db4 -I${prefix}/include/openssl -DBIND_8_COMPAT" +configure.cppflags-append "-I${prefix}/include/db44 -I${prefix}/include/openssl -DBIND_8_COMPAT" +configure.cflags-append -L${prefix}/lib/db44 configure.args --mandir=${prefix}/share/man \ --localstatedir=${prefix}/var \ The db44 port still has the arguments "--enable-compat185 --enable-dump185", but I see the FreeBSD port uses those too and I wonder if mr blogger is correct about removing those. I just installed openldap using db44; please report if you have success with this method so we can tell the openldap port maintainer so he can fix it. Mark
On Jul 30, 2007, at 12:54 PM, markd@macports.org wrote:
The db44 port still has the arguments "--enable-compat185 --enable-dump185", but I see the FreeBSD port uses those too and I wonder if mr blogger is correct about removing those.
They just enable some backwards-compatibility for really old bdb files (and we can probably safely move them to a variant if they're causing lots of build failures).
I just installed openldap using db44; please report if you have success with this method so we can tell the openldap port maintainer so he can fix it.
There's something fishy with people having build problems with db44/ db4, but I don't think the problem's been isolated anywhere yet (I've never been able to reproduce it). -- Daniel J. Luke +========================================================+ | *---------------- dluke@geeklair.net ----------------* | | *-------------- http://www.geeklair.net -------------* | +========================================================+ | Opinions expressed are mine and do not necessarily | | reflect the opinions of my employer. | +========================================================+
markd-2 wrote:
miles3 <miles-nabble@vividcolor.org> writes:
I have been having a very frustrating time trying to install Apache2 +openldap. which you probably know by now is dependent on db4 and db44. Turns out there is a misconfiguration of db packages in the MacPorts repository...full details can be found here: http://concise-software.blogspot.com/2007/07/howto-sudo-port-install-db4.htm... ...
The concise-software blog author chose not to have his discussion on a MacPorts list where it might be useful so we didn't benefit. He chose to document a supposed bug rather than contribute to fixing it. But there isn't much we can do about lone rangers.
But otherwise, I suspect that openldap should use db44 (a newer version) rather than db4. So please try this:
uninstall db4 install db44
Change the openldap Portfile like this:
--- Portfile.org 2007-07-30 09:30:48.000000000 -0700 +++ Portfile 2007-07-30 09:36:58.000000000 -0700 @@ -20,12 +20,13 @@ depends_lib port:perl5.8 \ port:cyrus-sasl2 \ port:openssl \ - port:db4 + port:db44
patchfiles patch-ltmain
configure.env-append LANG=C -configure.cppflags-append "-I${prefix}/include/db4 -I${prefix}/include/openssl -DBIND_8_COMPAT" +configure.cppflags-append "-I${prefix}/include/db44 -I${prefix}/include/openssl -DBIND_8_COMPAT" +configure.cflags-append -L${prefix}/lib/db44
configure.args --mandir=${prefix}/share/man \ --localstatedir=${prefix}/var \
The db44 port still has the arguments "--enable-compat185 --enable-dump185", but I see the FreeBSD port uses those too and I wonder if mr blogger is correct about removing those. I just installed openldap using db44; please report if you have success with this method so we can tell the openldap port maintainer so he can fix it.
Mark
Mark, Obviously someone that doesn't bother posting to the list and doesn't inform the maintainers is not going to get this fixed. Sorry for expressing my frustration. Open Source can be great but it takes weeks to perform installs of packages, with lots of hand holding from wonderful people like you. So thank you for your help. Back to your response. The current configuration requires both db4 and 'libiconv' requires db44. So are you suggesting... I edit openldap ( sudo port edit openldap ) remove the lines preceded with minuses (-) add the lines preceeded with pluses (+) Do not change the arguments in db44 "--enable-compat185 --enable-dump185" ? If so, I have successfully installed apache2 +openldap with db4, should I redo it with db44? I don't need backward compatibility, but I also don't know if there is a good reason to use the newer version. If I do need to redo this, should I... sudo port uninstall db4 edit openldap as described above sudo port -v update apache2 or: sudo port -v update openldap sudo port -v update apache2 or another way... ? Thanks for your help, - Miles Thanks, -- View this message in context: http://www.nabble.com/Full-db44-error-tf4021954.html#a11884765 Sent from the MacPorts - Users mailing list archive at Nabble.com.
miles3 <miles-nabble@vividcolor.org> writes:
The current configuration requires both db4 and 'libiconv' requires db44.
I think you mean apr-util requires db44. I don't see any dependencies for libiconv.
So are you suggesting... I edit openldap ( sudo port edit openldap ) remove the lines preceded with minuses (-) add the lines preceeded with pluses (+) Do not change the arguments in db44 "--enable-compat185 --enable-dump185" ?
Yes that was what I was suggesting.
If so, I have successfully installed apache2 +openldap with db4, should I redo it with db44? I don't need backward compatibility, but I also don't know if there is a good reason to use the newer version.
I thought you could not get db4 to install. If you did you could leave it as it is, but I think it is inefficient to have db4 (actually db4.3) and db44 both installed. Or more accurately, I believe that db44 is the recommended version for openldap and the port could be updated so MP wouldn't try to install two different versions. But I'm not the maintainer of openldap so I'm cc'ing him to see if he wants to chime in. I don't know what it does to someone was using openldap server functionality with db4 (4.3) and upgrades to openldap using db44. For client use only I wouldn't think it would matter.
If I do need to redo this, should I... sudo port uninstall db4 edit openldap as described above sudo port -v update apache2 or: sudo port -v update openldap sudo port -v update apache2 or another way... ?
But I think apache's dependencies (apr-util) install db44, so apache2 need not be rebuilt. So I think this would do: 1) sudo port uninstall openldap 2) sudo port uninstall db4 (if openldap is the only thing depending upon db4, then it will do it; if not it will tell you it can't because x,y,z other ports depend on it) db44 is already installed so no need to install that ... 3) edit openldap 4) sudo port -v install openldap If I am wrong that openldap is probably your only port that depends on db4, you'll find our in #2.
Thanks for your help,
You are welcome. I hope we can get this fixed shortly so others don't run into it. Mark
participants (4)
-
Daniel J. Luke
-
markd@macports.org
-
miles3
-
Steven Rogers