Opened 9 years ago

Last modified 8 years ago

#47612 new defect

couchdb@1.6.1 missing erlang (erl_driver.h) as dependency?

Reported by: posita (Matt Bogosian) Owned by: ci42
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc:
Port: couchdb

Description

This is a user install attempt. From main.log:

:info:configure checking Erlang version compatibility... -n detected Erlang version: 6.4.0...
:info:configure compatible
:info:configure checking for erlc... /Users/xyz/.site/bin/erlc
:info:configure checking erl_driver.h usability... no
:info:configure checking erl_driver.h presence... no
:info:configure checking for erl_driver.h... no
:info:configure configure: error: Could not find the `erl_driver.h' header.
:info:configure
:info:configure Are the Erlang headers installed?
:info:configure
:info:configure Use the `--with-erlang' option to specify the Erlang include directory.
:info:configure Command failed:  cd "/Users/xyz/.site/var/macports/build/_Users_xyz_.site_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_couchdb/couchdb/work/apache-couchdb-1.6.1" && ./configure --prefix=/Users/xyz/.site --enable-js-trunk
:info:configure Exit code: 1

Attachments (4)

main.log (43.9 KB) - added by posita (Matt Bogosian) 9 years ago.
config.log (57.1 KB) - added by posita (Matt Bogosian) 9 years ago.
main.2.log (41.9 KB) - added by posita (Matt Bogosian) 9 years ago.
pre_args-append-exec-prefix
config.2.log (57.1 KB) - added by posita (Matt Bogosian) 9 years ago.
pre_args-append-exec-prefix

Download all attachments as: .zip

Change History (13)

comment:1 Changed 9 years ago by posita (Matt Bogosian)

This might be a bug against erlang in a user-install situation, I'm not sure:

% find [user_install_dir] -name erl_driver.h
/Users/xyz/.site/lib/erlang/erts-6.4/include/erl_driver.h
/Users/xyz/.site/lib/erlang/usr/include/erl_driver.h

UPDATE: sister issue filed against Erlang (see #47613).

Last edited 9 years ago by posita (Matt Bogosian) (previous) (diff)

comment:2 Changed 9 years ago by posita (Matt Bogosian)

Solved (with respect to couchdb) by adding --with-erlang=${prefix}/lib/erlang/erts-6.4/include to configure.args.

comment:3 Changed 9 years ago by mf2k (Frank Schima)

Cc: jeff@… removed
Owner: changed from macports-tickets@… to jeff@…
Port: couchdb added; couchdb@1.6.1 removed

comment:4 in reply to:  1 Changed 9 years ago by ci42

Replying to mtb19@…:

This might be a bug against erlang in a user-install situation, I'm not sure:

% find [user_install_dir] -name erl_driver.h
/Users/xyz/.site/lib/erlang/erts-6.4/include/erl_driver.h
/Users/xyz/.site/lib/erlang/usr/include/erl_driver.h

UPDATE: sister issue filed against Erlang (see #47613).

Could you please attach the full config.log?

Using a standard MacPorts installation erl_driver.h is looked up in ${prefix}/lib/erlang/usr/include/:

configure:18637: checking erl_driver.h presence
configure:18637: /usr/bin/clang++ -E -I${exec_prefix}/lib/erlang/usr/include -I/usr/lib/erlang/usr/include -I/usr/local/lib/erlang/usr/include -I/opt/local/lib/erlang/usr/include -I/opt/local/include -I/opt/local/include -I/usr/local/include -I/usr/include  conftest.cpp

Changed 9 years ago by posita (Matt Bogosian)

Attachment: main.log added

Changed 9 years ago by posita (Matt Bogosian)

Attachment: config.log added

comment:5 Changed 9 years ago by posita (Matt Bogosian)

*.log files attached. I'm not sure why erl_driver.h isn't being found in its normal place:

% ls ~/.site/lib/erlang/usr/include
driver_int.h                    erl_driver.h                    erl_interface.h                 erl_nif_api_funcs.h
ei.h                            erl_drv_nif.h                   erl_memory_trace_parser.h       erlang.idl
ei_connect.h                    erl_fixed_size_int_types.h      erl_native_features_config.h    ic.h
eicode.h                        erl_int_sizes_config.h          erl_nif.h
% port clean --all couchdb
--->  Cleaning couchdb
% port build couchdb
--->  Computing dependencies for couchdb
--->  Fetching distfiles for couchdb
--->  Attempting to fetch apache-couchdb-1.6.1.tar.gz from http://distfiles.macports.org/couchdb
--->  Verifying checksums for couchdb
--->  Extracting couchdb
Warning: addgroup only works when running as root.
Warning: The requested group 'couchdb' was not created.
Warning: adduser only works when running as root.
Warning: The requested user 'couchdb' was not created.
--->  Applying patches to couchdb
--->  Configuring couchdb
Error: Failed to configure couchdb, consult /Users/xyz/.site/var/macports/build/_Users_xyz_.site_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_couchdb/couchdb/work/apache-couchdb-1.6.1/config.log
Error: org.macports.configure for port couchdb returned: configure failure: command execution failed
Please see the log file for port couchdb for details:
    /Users/xyz/.site/var/macports/logs/_Users_xyz_.site_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_couchdb/couchdb/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port couchdb failed
port build couchdb  5.20s user 5.18s system 33% cpu 30.605 total

comment:6 Changed 9 years ago by posita (Matt Bogosian)

But you're right, adding --with-erlang=${prefix}/lib/erlang/usr/include to configure.args works as well. (I know that's not quite a solution, but I thought I'd mention it, since my original workaround looked for a specific version directory.)

comment:7 in reply to:  6 ; Changed 9 years ago by ci42

Replying to mtb19@…:

But you're right, adding --with-erlang=${prefix}/lib/erlang/usr/include to configure.args works as well. (I know that's not quite a solution, but I thought I'd mention it, since my original workaround looked for a specific version directory.)

Could you please add configure.pre_args-append --exec-prefix=${prefix} to the portfile, test again and report the result?

Changed 9 years ago by posita (Matt Bogosian)

Attachment: main.2.log added

pre_args-append-exec-prefix

Changed 9 years ago by posita (Matt Bogosian)

Attachment: config.2.log added

pre_args-append-exec-prefix

comment:8 in reply to:  7 Changed 9 years ago by posita (Matt Bogosian)

Replying to ciserlohn@…:

Could you please add configure.pre_args-append --exec-prefix=${prefix} to the portfile, test again and report the result?

Unfortunately, that didn't work. I've attached updated *.log files.

I didn't mention this before, but I am also using the work-around I posted for #40360 (if it matters):

diff -Naur ~/.site/var/macports/registry/portfiles/couchdb-1.6.1_2/0cfe36960ffdd84d4ba01df95a8932b7d7b567c7993e277208e900bcf6bcf19f-3473/Portfile ~/.site/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/couchdb/Portfile
--- /Users/xyz/.site/var/macports/registry/portfiles/couchdb-1.6.1_2/0cfe36960ffdd84d4ba01df95a8932b7d7b567c7993e277208e900bcf6bcf19f-3473/Portfile   2015-05-05 13:42:05.000000000 -0700
+++ /Users/xyz/.site/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/couchdb/Portfile 2015-05-05 13:42:09.000000000 -0700
@@ -47,15 +47,16 @@

 require_active_variants erlang ssl

+configure.pre_args-append --exec-prefix=${prefix}
 configure.args          --enable-js-trunk

-set dbgroup             couchdb
-set dbuser              couchdb
+set dbgroup             xyz
+set dbuser              xyz
 set logdir              ${prefix}/var/log/couchdb
 set dbdir               ${prefix}/var/lib/couchdb
 set confdir             ${prefix}/etc/couchdb
 set rundir              ${prefix}/var/run/couchdb
-set plistdir            /Library/LaunchDaemons
+set plistdir            ${frameworks_dir}/../LaunchDaemons
 startupitem.uniquename  org.apache.couchdb
 set plist               ${startupitem.uniquename}.plist

comment:9 Changed 8 years ago by ci42

Owner: changed from jeff@… to ciserlohn@…
Note: See TracTickets for help on using tickets.