Opened 7 years ago

Closed 6 years ago

#37738 closed defect (fixed)

memcacheq: install failed

Reported by: gaolei@… Owned by: cofyc.jackson@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: ci42
Port: memcacheq

Description (last modified by ci42)

I want to install MemcacheQ using command: sudo port -v install memcacheq I got a failed message:

----
--->  Computing dependencies for memcacheq.
--->  Building memcacheq
make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_memcacheq/memcacheq/work/memcacheq-0.2.0'
/usr/bin/make  all-am
make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_memcacheq/memcacheq/work/memcacheq-0.2.0'
/usr/bin/clang -DHAVE_CONFIG_H -I.   -I/usr/local/BerkeleyDB.4.7/include -I/opt/local/include -I/opt/local/include  -pipe -O2 -I/opt/local/include/db47 -arch x86_64 -MT hashtable.o -MD -MP -MF .deps/hashtable.Tpo -c -o hashtable.o hashtable.c
In file included from hashtable.c:7:
In file included from /opt/local/include/math.h:28:
/opt/local/include/architecture/i386/math.h:419:15: warning: incompatible redeclaration of library function 'fmax'
extern double fmax ( double, double );
              ^
/opt/local/include/architecture/i386/math.h:419:15: note: 'fmax' is a builtin with type 'double (double)'
/opt/local/include/architecture/i386/math.h:420:14: warning: incompatible redeclaration of library function 'fmaxf'
extern float fmaxf ( float, float );
             ^
/opt/local/include/architecture/i386/math.h:420:14: note: 'fmaxf' is a builtin with type 'float (float)'
/opt/local/include/architecture/i386/math.h:422:15: warning: incompatible redeclaration of library function 'fmin'
extern double fmin ( double, double );
              ^
/opt/local/include/architecture/i386/math.h:422:15: note: 'fmin' is a builtin with type 'double (double)'
/opt/local/include/architecture/i386/math.h:423:14: warning: incompatible redeclaration of library function 'fminf'
extern float fminf ( float, float );
             ^
/opt/local/include/architecture/i386/math.h:423:14: note: 'fminf' is a builtin with type 'float (float)'
/opt/local/include/architecture/i386/math.h:496:20: warning: incompatible redeclaration of library function 'fmaxl'
extern long double fmaxl(long double, long double);
                   ^
/opt/local/include/architecture/i386/math.h:496:20: note: 'fmaxl' is a builtin with type 'long double (long double)'
/opt/local/include/architecture/i386/math.h:497:20: warning: incompatible redeclaration of library function 'fminl'
extern long double fminl(long double, long double);
                   ^
/opt/local/include/architecture/i386/math.h:497:20: note: 'fminl' is a builtin with type 'long double (long double)'
hashtable.c:276:1: error: redefinition of a 'extern inline' function 'hashtable_iterator_key' is not supported in C99 mode
hashtable_iterator_key(struct hashtable_itr *i)
^
./hashtable.h:202:1: note: previous definition is here
hashtable_iterator_key(struct hashtable_itr *i)
^
hashtable.c:280:1: error: redefinition of a 'extern inline' function 'hashtable_iterator_value' is not supported in C99 mode
hashtable_iterator_value(struct hashtable_itr *i)
^
./hashtable.h:211:1: note: previous definition is here
hashtable_iterator_value(struct hashtable_itr *i)
^
6 warnings and 2 errors generated.
make[1]: *** [hashtable.o] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_memcacheq/memcacheq/work/memcacheq-0.2.0'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_memcacheq/memcacheq/work/memcacheq-0.2.0'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_memcacheq/memcacheq/work/memcacheq-0.2.0" && /usr/bin/make -j4 -w all 
Exit code: 2
Error: org.macports.build for port memcacheq returned: command execution failed
Warning: targets not executed for memcacheq: org.macports.activate org.macports.build org.macports.destroot org.macports.install
Please see the log file for port memcacheq for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_memcacheq/memcacheq/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port memcacheq failed

Change History (11)

comment:1 Changed 7 years ago by gaolei@…

Cc: gaolei@… added

Cc Me!

comment:2 Changed 7 years ago by ci42

Cc: gaolei@… removed
Description: modified (diff)
Keywords: memcacheq removed
Owner: changed from macports-tickets@… to cofyc.jackson@…
Port: memcacheq added
Priority: HighNormal
Summary: port install memcacheq failedmemcacheq: install failed

In the future, please remember to use WikiFormatting and to Cc the maintainer. Note that priority high is reserved for MacPorts team members. There is no need to Cc yourself if you're the ticket creator.

comment:3 Changed 7 years ago by ci42

Resolution: fixed
Status: newclosed

memcacheq does not compile with clang, blacklisted in r101941.

comment:4 in reply to:  3 Changed 7 years ago by gaolei@…

Replying to ciserlohn@…:

memcacheq does not compile with clang, blacklisted in r101941.

Thanks a lot, it's fixed.

comment:5 Changed 7 years ago by jmroot (Joshua Root)

Cc: ciserlohn@… added

The code looks genuinely incorrect, however. Is there an upstream bug report? Did you try just using -std=gnu89?

comment:6 Changed 7 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: closedreopened

Also, this isn't an openmaintainer port.

comment:7 Changed 7 years ago by cofyc.jackson@…

Hi,

It cannot compile with clang now.

I have reported this issue to memcacheq's author.

comment:8 in reply to:  5 Changed 7 years ago by ci42

Replying to jmr@…:

The code looks genuinely incorrect, however. Is there an upstream bug report? Did you try just using -std=gnu89?

I only tried -std=c89 which didn't work. However, using -std=gnu89 works, thanks for the hint, I didn't know that gnu89 is a valid option.

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

Replying to jmr@…:

Also, this isn't an openmaintainer port.

I know, but is was broken for everyone who have clang as their default compiler (I think this the majority of MacPorts user now). I think this jusitifies a one line change and is in accordance with the update policy.

comment:10 Changed 7 years ago by jmroot (Joshua Root)

Telling clang to use gnu89 behaviour is much better than blacklisting it, so please do that instead until upstream makes their code C99 compatible.

comment:11 Changed 6 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.