Hi,

This one is a bit weird.

There's a really strange linking error while trying to build devel/libmtp,
and it looks like it's only happening on mips64el.

===>  Building for libmtp-1.1.13
make  all-recursive
Making all in src
Making all in examples
cc -DHAVE_CONFIG_H -I. -I..  -I../src  -I/usr/local/include  -O2 -pipe -Wall 
-Wmissing-prototypes -MT detect.o -MD -MP -MF .deps/detect.Tpo -c -o detect.o 
detect.c
mv -f .deps/detect.Tpo .deps/detect.Po
/usr/bin/libtool  --tag=CC    --mode=link cc  -O2 -pipe -Wall 
-Wmissing-prototypes   -L/usr/local/lib -o mtp-detect detect.o util.o 
../src/libmtp.la -lgcrypt 
libtool: link: cc -o .libs/mtp-detect -pthread -O2 -pipe -Wall 
-Wmissing-prototypes detect.o util.o -L.libs -lmtp -liconv -lusb-1.0 -lgcrypt 
-lgpg-error -lintl -Wl,-rpath-link,/usr/local/lib
.libs/libgcrypt.so.19.3: warning: warning: stpcpy() is dangerous; do not use it
.libs/libmtp.so.7.0: warning: warning: rand() may return deterministic values, 
is that what you want?
.libs/libmtp.so.7.0: warning: warning: strcat() is almost always misused, 
please use strlcat()
.libs/libmtp.so.7.0: warning: warning: sprintf() is often misused, please use 
snprintf()
.libs/libmtp.so.7.0: warning: warning: strcpy() is almost always misused, 
please use strlcpy()
.libs/libmtp.so.7.0: undefined reference to `.L2085'
collect2: ld returned 1 exit status
Error while executing cc -o .libs/mtp-detect -pthread -O2 -pipe -Wall 
-Wmissing-prototypes detect.o util.o -L.libs -lmtp -liconv -lusb-1.0 -lgcrypt 
-lgpg-error -lintl -Wl,-rpath-link,/usr/local/lib
*** Error 25 in examples (Makefile:511 'mtp-detect')
*** Error 1 in . (Makefile:551 'all-recursive')
*** Error 1 in /usr/ports/pobj/libmtp-1.1.13/libmtp-1.1.13 (Makefile:389 'all')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2695 
'/usr/ports/pobj/libmtp-1.1.13/.build_done')
*** Error 1 in /usr/ports/devel/libmtp 
(/usr/ports/infrastructure/mk/bsd.port.mk:2398 'all')

Using MODGCC4 works around this.  I suspect a small bug in base toolchain,
but strangely, mips64 doesn't look affected as I see a package for it, so
mips64el might be the only arch having this issue... (and this build error
has existed for some months).

I have no idea how to investigate this, and it doesn't look like a common
problem on mips64el, so using MODGCC4 feels like an acceptable workaround,
IMO.

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/libmtp/Makefile,v
retrieving revision 1.35
diff -u -p -r1.35 Makefile
--- Makefile    30 May 2017 20:48:04 -0000      1.35
+++ Makefile    3 Jul 2017 10:26:57 -0000
@@ -16,6 +16,9 @@ WANTLIB += c gcrypt gpg-error iconv intl
 
 MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=libmtp/}
 
+MODULES+=              gcc4
+MODGCC4_ARCHS=         mips64el
+
 LIB_DEPENDS=           devel/libusb1 \
                        security/libgcrypt
 

Reply via email to