Opened 10 years ago

Closed 7 years ago

#41068 closed defect (fixed)

srtp: Undefined symbols: _aes_icm_advance_ismacryp

Reported by: francisco.samuel@… Owned by: alfredh (Alfred E. Heggestad)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: g.korovkin@…, MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: srtp

Description (last modified by ryandesign (Ryan Carsten Schmidt))

srtp port install is failing due to a missing symbol _aes_icm_advance_ismacryp. I guess some dependency is missing.

The full log is:

version:1
:debug:main srtp has no conflicts
:debug:main Executing org.macports.main (srtp)
:debug:main changing euid/egid - current euid: 0 - current egid: 0
:debug:main egid changed to: 503
:debug:main euid changed to: 502
:debug:archivefetch archivefetch phase started at Tue Oct 29 21:28:24 WET 2013
:msg:archivefetch --->  Fetching archive for srtp
:debug:archivefetch Executing org.macports.archivefetch (srtp)
:debug:archivefetch euid/egid changed to: 0/0
:debug:archivefetch chowned /opt/local/var/macports/incoming to macports
:debug:archivefetch euid/egid changed to: 502/503
:info:archivefetch --->  srtp-1.4.4_0.darwin_13.x86_64.tbz2 doesn't seem to exist in /opt/local/var/macports/incoming/verified
:msg:archivefetch --->  Attempting to fetch srtp-1.4.4_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/srtp
:debug:archivefetch Fetching archive failed:: The requested URL returned error: 404 Not Found
:msg:archivefetch --->  Attempting to fetch srtp-1.4.4_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/srtp
:debug:archivefetch Fetching archive failed:: The requested URL returned error: 404 Not Found
:msg:archivefetch --->  Attempting to fetch srtp-1.4.4_0.darwin_13.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/srtp
:debug:archivefetch Fetching archive failed:: The requested URL returned error: 404 Not Found
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:fetch fetch phase started at Tue Oct 29 21:28:25 WET 2013
:notice:fetch --->  Fetching distfiles for srtp
:debug:fetch Executing org.macports.fetch (srtp)
:debug:fetch Privilege de-escalation not attempted as not running as root.
:debug:checksum checksum phase started at Tue Oct 29 21:28:25 WET 2013
:notice:checksum --->  Verifying checksums for srtp
:debug:checksum Executing org.macports.checksum (srtp)
:info:checksum --->  Checksumming srtp-1.4.4.tgz
:debug:checksum Correct (md5) checksum for srtp-1.4.4.tgz
:debug:checksum Correct (sha1) checksum for srtp-1.4.4.tgz
:debug:checksum Correct (rmd160) checksum for srtp-1.4.4.tgz
:debug:checksum Privilege de-escalation not attempted as not running as root.
:debug:extract extract phase started at Tue Oct 29 21:28:25 WET 2013
:notice:extract --->  Extracting srtp
:debug:extract Executing org.macports.extract (srtp)
:info:extract --->  Extracting srtp-1.4.4.tgz
:debug:extract setting option extract.args to '/opt/local/var/macports/distfiles/srtp/srtp-1.4.4.tgz'
:debug:extract Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.9'
:debug:extract Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/srtp/srtp-1.4.4.tgz' | /usr/bin/tar -xf -'
:debug:extract Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/srtp/srtp-1.4.4.tgz' | /usr/bin/tar -xf - 
:debug:extract euid/egid changed to: 0/0
:debug:extract chowned /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work to macports
:debug:extract euid/egid changed to: 502/503
:debug:extract Privilege de-escalation not attempted as not running as root.
:debug:patch patch phase started at Tue Oct 29 21:28:25 WET 2013
:debug:patch Executing org.macports.patch (srtp)
:debug:patch Privilege de-escalation not attempted as not running as root.
:debug:configure configure phase started at Tue Oct 29 21:28:25 WET 2013
:notice:configure --->  Configuring srtp
:debug:configure Using compiler 'Xcode Clang'
:debug:configure Executing org.macports.configure (srtp)
:debug:configure Environment: CPATH='/opt/local/include' CFLAGS='-pipe -Os -arch x86_64' CPPFLAGS='-I/opt/local/include' CXXFLAGS='-pipe -Os -arch x86_64' LIBRARY_PATH='/opt/local/lib' MACOSX_DEPLOYMENT_TARGET='10.9' CXX='/usr/bin/clang++' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/.CC_PRINT_OPTIONS' F90FLAGS='-pipe -Os -m64' LDFLAGS='-L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64' FCFLAGS='-pipe -Os -m64' OBJC='/usr/bin/clang' OBJCXX='/usr/bin/clang++' INSTALL='/usr/bin/install -c' OBJCFLAGS='-pipe -Os -arch x86_64' OBJCXXFLAGS='-pipe -Os -arch x86_64' FFLAGS='-pipe -Os -m64' CC_PRINT_OPTIONS='YES' CC='/usr/bin/clang'
:debug:configure Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/srtp" && ./configure --prefix=/opt/local'
:debug:configure Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/srtp" && ./configure --prefix=/opt/local 
:info:configure checking for ranlib... ranlib
:info:configure checking for gcc... /usr/bin/clang
:info:configure checking for C compiler default output file name... a.out
:info:configure checking whether the C compiler works... yes
:info:configure checking whether we are cross compiling... no
:info:configure checking for suffix of executables... 
:info:configure checking for suffix of object files... o
:info:configure checking whether we are using the GNU C compiler... yes
:info:configure checking whether /usr/bin/clang accepts -g... yes
:info:configure checking for /usr/bin/clang option to accept ANSI C... none needed
:info:configure checking for a BSD-compatible install... /usr/bin/install -c
:info:configure checking whether to build for Linux kernel context... no
:info:configure checking for /dev/urandom... yes
:info:configure checking which random device to use... /dev/urandom
:info:configure checking how to run the C preprocessor... /usr/bin/clang -E
:info:configure checking for egrep... grep -E
:info:configure checking for ANSI C header files... yes
:info:configure checking for sys/types.h... yes
:info:configure checking for sys/stat.h... yes
:info:configure checking for stdlib.h... yes
:info:configure checking for string.h... yes
:info:configure checking for memory.h... yes
:info:configure checking for strings.h... yes
:info:configure checking for inttypes.h... yes
:info:configure checking for stdint.h... yes
:info:configure checking for unistd.h... yes
:info:configure checking for stdlib.h... (cached) yes
:info:configure checking for unistd.h... (cached) yes
:info:configure checking byteswap.h usability... no
:info:configure checking byteswap.h presence... no
:info:configure checking for byteswap.h... no
:info:configure checking for stdint.h... (cached) yes
:info:configure checking sys/uio.h usability... yes
:info:configure checking sys/uio.h presence... yes
:info:configure checking for sys/uio.h... yes
:info:configure checking for inttypes.h... (cached) yes
:info:configure checking for sys/types.h... (cached) yes
:info:configure checking machine/types.h usability... yes
:info:configure checking machine/types.h presence... yes
:info:configure checking for machine/types.h... yes
:info:configure checking sys/int_types.h usability... no
:info:configure checking sys/int_types.h presence... no
:info:configure checking for sys/int_types.h... no
:info:configure checking sys/socket.h usability... yes
:info:configure checking sys/socket.h presence... yes
:info:configure checking for sys/socket.h... yes
:info:configure checking netinet/in.h usability... yes
:info:configure checking netinet/in.h presence... yes
:info:configure checking for netinet/in.h... yes
:info:configure checking arpa/inet.h usability... yes
:info:configure checking arpa/inet.h presence... yes
:info:configure checking for arpa/inet.h... yes
:info:configure checking windows.h usability... no
:info:configure checking windows.h presence... no
:info:configure checking for windows.h... no
:info:configure checking syslog.h usability... yes
:info:configure checking syslog.h presence... yes
:info:configure checking for syslog.h... yes
:info:configure checking for int8_t... yes
:info:configure checking for uint8_t... yes
:info:configure checking for int16_t... yes
:info:configure checking for uint16_t... yes
:info:configure checking for int32_t... yes
:info:configure checking for uint32_t... yes
:info:configure checking for uint64_t... yes
:info:configure checking for unsigned long... yes
:info:configure checking size of unsigned long... 8
:info:configure checking for unsigned long long... yes
:info:configure checking size of unsigned long long... 8
:info:configure checking for an ANSI C-conforming const... yes
:info:configure checking for inline... inline
:info:configure checking for size_t... yes
:info:configure checking for socket... yes
:info:configure checking for inet_aton... yes
:info:configure checking for usleep... yes
:info:configure checking whether byte ordering is bigendian... no
:info:configure checking build system type... i686-apple-darwin13.0.0
:info:configure checking host system type... i686-apple-darwin13.0.0
:info:configure checking whether to compile in debugging... yes
:info:configure checking whether to use ISMAcryp code... no
:info:configure checking whether to use syslog for error reporting... no
:info:configure checking whether to use stdout for error reporting... yes
:info:configure checking whether to use /dev/console for error reporting... no
:info:configure checking whether to use GDOI key management... no
:info:configure configure: creating ./config.status
:info:configure config.status: creating Makefile
:info:configure config.status: creating crypto/Makefile
:info:configure config.status: creating doc/Makefile
:info:configure config.status: creating crypto/include/config.h
:debug:configure Privilege de-escalation not attempted as not running as root.
:debug:build build phase started at Tue Oct 29 21:28:32 WET 2013
:notice:build --->  Building srtp
:debug:build Executing org.macports.build (srtp)
:debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.9'
:debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/srtp" && /usr/bin/make -j2 -w all'
:debug:build Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/srtp" && /usr/bin/make -j2 -w all 
:info:build make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/srtp'
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c srtp/srtp.c -o srtp/srtp.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/cipher/cipher.c -o crypto/cipher/cipher.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/cipher/null_cipher.c -o crypto/cipher/null_cipher.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/cipher/aes.c -o crypto/cipher/aes.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/cipher/aes_icm.c -o crypto/cipher/aes_icm.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/cipher/aes_cbc.c -o crypto/cipher/aes_cbc.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/hash/null_auth.c -o crypto/hash/null_auth.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/hash/sha1.c -o crypto/hash/sha1.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/hash/hmac.c -o crypto/hash/hmac.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/hash/auth.c -o crypto/hash/auth.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/math/datatypes.c -o crypto/math/datatypes.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/math/stat.c -o crypto/math/stat.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/kernel/crypto_kernel.c -o crypto/kernel/crypto_kernel.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/kernel/alloc.c -o crypto/kernel/alloc.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/kernel/key.c -o crypto/kernel/key.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/rng/rand_source.c -o crypto/rng/rand_source.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/rng/prng.c -o crypto/rng/prng.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/rng/ctr_prng.c -o crypto/rng/ctr_prng.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/kernel/err.c -o crypto/kernel/err.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/replay/rdb.c -o crypto/replay/rdb.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/replay/rdbx.c -o crypto/replay/rdbx.o
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -c crypto/replay/ut_sim.c -o crypto/replay/ut_sim.o
:info:build ar cr libsrtp.a srtp/srtp.o crypto/cipher/cipher.o crypto/cipher/null_cipher.o crypto/cipher/aes.o crypto/cipher/aes_icm.o crypto/cipher/aes_cbc.o crypto/hash/null_auth.o crypto/hash/sha1.o crypto/hash/hmac.o crypto/hash/auth.o crypto/math/datatypes.o crypto/math/stat.o crypto/kernel/crypto_kernel.o crypto/kernel/alloc.o crypto/kernel/key.o crypto/rng/rand_source.o crypto/rng/prng.o crypto/rng/ctr_prng.o crypto/kernel/err.o crypto/replay/rdb.o crypto/replay/rdbx.o crypto/replay/ut_sim.o
:info:build ranlib libsrtp.a
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 -L. crypto/test/aes_calc.c -o crypto/test/aes_calc -lsrtp 
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 -L. crypto/test/cipher_driver.c -o crypto/test/cipher_driver -lsrtp 
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 -L. crypto/test/datatypes_driver.c -o crypto/test/datatypes_driver -lsrtp 
:info:build /usr/bin/clang -DHAVE_CONFIG_H -Icrypto/include -I./include -I./crypto/include -I/opt/local/include -pipe -Os -arch x86_64 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 -L. crypto/test/kernel_driver.c -o crypto/test/kernel_driver -lsrtp 
:info:build Undefined symbols for architecture x86_64:
:info:build   "_aes_icm_advance_ismacryp", referenced from:
:info:build       _aes_icm_encrypt_ismacryp in libsrtp.a(aes_icm.o)
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make: *** [crypto/test/cipher_driver] Error 1
:info:build make: *** Waiting for unfinished jobs....
:info:build Undefined symbols for architecture x86_64:
:info:build   "_aes_icm_advance_ismacryp", referenced from:
:info:build       _aes_icm_encrypt_ismacryp in libsrtp.a(aes_icm.o)
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make: *** [crypto/test/kernel_driver] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/srtp'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/work/srtp" && /usr/bin/make -j2 -w all 
:info:build Exit code: 2
:error:build org.macports.build for port srtp returned: command execution failed
:debug:build Error code: CHILDSTATUS 11371 2
:debug:build Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring"
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring"
    invoked from within
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: targets not executed for srtp: org.macports.activate org.macports.build org.macports.destroot org.macports.install
:notice:build Please see the log file for port srtp for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_srtp/srtp/main.log

Attachments (1)

main.log (18.4 KB) - added by francisco.samuel@… 10 years ago.

Download all attachments as: .zip

Change History (7)

Changed 10 years ago by francisco.samuel@…

Attachment: main.log added

comment:1 Changed 10 years ago by francisco.samuel@…

I must add that:

I downloaded the source tarball from SourceForge and tried to build it but got the very same error.

Cloned the GitHub project and finally managed to get the libsrtp built.

comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Owner: changed from macports-tickets@… to aeh@…
Priority: HighNormal
Summary: Unable to install srtpsrtp: Undefined symbols: _aes_icm_advance_ismacryp

comment:3 Changed 10 years ago by g.korovkin@…

To fix this issue - srtp-1.4.4 should be patched before build

gkorovkin@gkorovkin-pm:srtp$diff -u ./crypto/cipher/aes_icm.c.orig ./crypto/cipher/aes_icm.c
--- ./crypto/cipher/aes_icm.c.orig	2014-05-10 02:29:02.000000000 +0400
+++ ./crypto/cipher/aes_icm.c	2014-05-10 02:29:16.000000000 +0400
@@ -283,7 +283,7 @@
  * this is an internal, hopefully inlined function
  */
   
-inline void
+void
 aes_icm_advance_ismacryp(aes_icm_ctx_t *c, uint8_t forIsmacryp) {
   /* fill buffer with new keystream */
   v128_copy(&c->keystream_buffer, &c->counter);
gkorovkin@gkorovkin-pm:srtp$

comment:4 Changed 10 years ago by g.korovkin@…

Cc: g.korovkin@… added

Cc Me!

comment:5 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

comment:6 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

In f84a85ec081b3a69acd5fac902a167c3dfc1295d/macports-ports:

srtp, libsrtp, libsrtp1: update and rename

libsrtp 1.* and 2.* have different naming schemes.
Create different (sub)ports for each.
Update version 1.* of libsrtp 1.4.4->1.5.4

Fixes #41068

Note: See TracTickets for help on using tickets.