lowdown not helped by snowleopardfixes
Jan Stary
hans at stare.cz
Wed Feb 21 13:40:11 UTC 2018
Hi Ken,
when I created the textproc/lowdown port not long ago
https://github.com/macports/macports-ports/pull/1241
you kindly advised me to use
PortGroup snowleopard_fixes 1.0
so that older MacOS sysem without e.g. strndup(3)
can still compile lowdown.
However, it seems that the compilation still fails,
at least on my 10.5.8 and 10.6.8. The snowleopardfixes port
compiles and installs just fine, providing
$ nm /opt/local/lib/libsnowleopardfixes.dylib
0000000000001d46 s stub helpers
U ___error
0000000000000000 t __mh_dylib_header
U _getc
0000000000001ad9 T _getdelim
0000000000001ac7 T _getline
U _malloc
U _memchr
U _memcmp
U _memcpy
0000000000001c1c T _memmem
U _realloc
0000000000001bca T _strndup
0000000000001a8c T _strnlen
0000000000001cbc T _wcsdup
U _wcslen
U _wmemcpy
U dyld_stub_binder
But when building lowdown itself (full log below)
it fails on a missing strndup(3). The failing line is
/usr/bin/gcc-4.2 -o lowdown main.o liblowdown.a -lm
Undefined symbols:
"_strndup", referenced from:
_xstrndup in liblowdown.a(xmalloc.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
The installed snowleopardfixes library doesn't seem
to even enter into it at all. Am I missing something
obvious about how the snowleopard_fixes portgroup
is supposed to work?
Jan
hans at mac:~$ sudo port -vs install lowdown
---> Computing dependencies for lowdown.
---> Fetching distfiles for lowdown
---> Verifying checksums for lowdown
---> Checksumming lowdown-0.3.1.tar.gz
---> Extracting lowdown
---> Extracting lowdown-0.3.1.tar.gz
Executing: cd "/opt/local/var/macports/build/_opt_mports_macports-ports_textproc_lowdown/lowdown/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/lowdown/lowdown-0.3.1.tar.gz' | /usr/bin/gnutar --no-same-owner -xf -
---> Configuring lowdown
Executing: cd "/opt/local/var/macports/build/_opt_mports_macports-ports_textproc_lowdown/lowdown/work/lowdown-0.3.1" && ./configure PREFIX=/opt/local
config.log: writing...
configure.local: no (fully automatic configuration)
arc4random: yes
capsicum: no
err: yes
explicit_bzero: no
getprogname: yes
INFTIM: no
md5: no
memmem: no
memrchr: no
memset_s: no
PATH_MAX: yes
pledge: no
program_invocation_short_name: no
reallocarray: no
recallocarray: no
sandbox_init: no
seccomp-filter: no
SOCK_NONBLOCK: no
strlcat: yes
strlcpy: yes
strtonum: no
systrace: no
zlib: yes
__progname: yes
config.h: written
Makefile.configure: written
---> Building lowdown
Executing: cd "/opt/local/var/macports/build/_opt_mports_macports-ports_textproc_lowdown/lowdown/work/lowdown-0.3.1" && /usr/bin/make -w all
make: Entering directory `/opt/local/var/macports/build/_opt_mports_macports-ports_textproc_lowdown/lowdown/work/lowdown-0.3.1'
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o autolink.o autolink.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o buffer.o buffer.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o diff.o diff.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o document.o document.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o html.o html.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o html_escape.o html_escape.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o html_smartypants.o html_smartypants.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o library.o library.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o log.o log.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o nroff.o nroff.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o nroff_escape.o nroff_escape.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o nroff_smartypants.o nroff_smartypants.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o tree.o tree.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o util.o util.c
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o xmalloc.o xmalloc.c
xmalloc.c: In function ‘xstrndup’:
xmalloc.c:94: warning: implicit declaration of function ‘strndup’
xmalloc.c:94: warning: incompatible implicit declaration of built-in function ‘strndup’
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o compats.o compats.c
ar rs liblowdown.a autolink.o buffer.o diff.o document.o html.o html_escape.o html_smartypants.o library.o log.o nroff.o nroff_escape.o nroff_smartypants.o tree.o util.o xmalloc.o compats.o
ar: creating archive liblowdown.a
/usr/bin/gcc-4.2 -pipe -Os -arch x86_64 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -c -o main.o main.c
main.c:128:2: warning: #warning Compiling without sandbox support.
/usr/bin/gcc-4.2 -o lowdown main.o liblowdown.a -lm
Undefined symbols:
"_strndup", referenced from:
_xstrndup in liblowdown.a(xmalloc.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [lowdown] Error 1
make: Leaving directory `/opt/local/var/macports/build/_opt_mports_macports-ports_textproc_lowdown/lowdown/work/lowdown-0.3.1'
Command failed: cd "/opt/local/var/macports/build/_opt_mports_macports-ports_textproc_lowdown/lowdown/work/lowdown-0.3.1" && /usr/bin/make -w all
Exit code: 2
Error: Failed to build lowdown: command execution failed
Error: See /opt/local/var/macports/logs/_opt_mports_macports-ports_textproc_lowdown/lowdown/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port lowdown failed
More information about the macports-users
mailing list