Skip Menu |

This queue is for tickets about the Prima CPAN distribution.

Report information
The Basics
Id: 71051
Status: resolved
Priority: 0/
Queue: Prima

People
Owner: Nobody in particular
Requestors: DCMERTENS [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Current Git version of Prima does not compile on Mac
Makefile.PL does not complete successfully on Mac (Lion, v 10.7.1). This problem started with the Makefile.PL overhaul, commit aaf9671cb2048a54ec1c4c998e0e06d0cd7f85d2. Running Makefile.PL results in the following output: --------%<-------- Version: 1.31 Compiler: gcc Checking if can compile... yes Checking if can link... no (see also makefile.log for details) -------->%-------- makefile.log says this: --------%<-------- Version: 1.31 Compiler: gcc Checking if can compile... yes Checking if can link... no (see also makefile.log for details) Davids-MacBook-Pro:Prima davidmertens$ cat makefile.log cc -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -c - o/var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c cc -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector - o/var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c ld: unknown option: -o/var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 collect2: ld returned 1 exit status -------->%-------- So, it looks like the linker doesn't know what to do with the -o flag? Seems strange this would work on a linux box yet fail on Mac, since they both use gcc underneath.
Great, that particular issue was fixed. However, another Makefile.PL issue remains, this time with revision e7157bb (and probably 1c119d6). When I run Makefile.PL, I get --------%<-------- Version: 1.31 Compiler: gcc Checking if can compile... yes Checking if can link... yes Checking for presence of io.h... no Checking for presence of unistd.h... yes Checking for presence of strings.h... yes Checking for presence of sys/types.h... yes Checking for presence of type int8_t... yes Checking for presence of type int16_t... yes Checking for presence of type int32_t... yes Checking for presence of type uint8_t... no Checking for presence of sys/bitypes.h... no Checking for presence of sys/inttypes.h... no Checking for presence of stdint.h... yes Checking for presence of type uint8_t... yes Checking for presence of type uint16_t... yes Checking for presence of type uint32_t... yes Checking for presence of type uint64_t... yes Checking for presence of type u_int8_t... yes Checking for presence of type u_int16_t... yes Checking for presence of type u_int32_t... yes Checking for presence of type u_int64_t... yes Checking for presence of sys/ipc.h... yes Checking for presence of sys/shm.h... yes Checking for presence of X11/extensions/shape.h... yes Checking for presence of X11/extensions/XShm.h... yes Checking for function strcasecmp... yes Checking for function strncasecmp... yes Checking for function strcasestr... yes Checking for presence of string.h... yes Checking for function stricmp... no Checking for function strnicmp... no Checking for presence of stdio.h... yes Checking for function snprintf... yes Checking for function _snprintf... no Checking for presence of stdlib.h... yes Checking for function reallocf... yes Checking for function bzero... yes Checking for inline... inline Determining dl_load_flags... 0x00 Checking for X11 headers...yes, in /usr/X11R6/include Checking for library X11... no Prima needs X11 libraries for compilation! Set X11BASE='/path/to/X' if you have a non- standard path to X. (see also makefile.log for details) -------->%-------- The relevant lines from the makefile.log are: --------%<-------- cc -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -c -Iinclude - Iinclude/generic -I/usr/local/include -I/usr/X11R6/include -o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c cc -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -Iinclude - Iinclude/generic -I/usr/local/include -I/usr/X11R6/include -o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c -lX11 ld: library not found for -lX11 collect2: ld returned 1 exit status cc -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -Iinclude - Iinclude/generic -I/usr/local/include -I/usr/X11R6/include -o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c -lX11 ld: library not found for -lX11 collect2: ld returned 1 exit status cc -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -Iinclude - Iinclude/generic -I/usr/local/include -I/usr/X11R6/include -o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c -lX11 ld: library not found for -lX11 collect2: ld returned 1 exit status cc -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -Iinclude - Iinclude/generic -I/usr/local/include -I/usr/X11R6/include -o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c -lX11 ld: library not found for -lX11 collect2: ld returned 1 exit status cc -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -Iinclude - Iinclude/generic -I/usr/local/include -I/usr/X11R6/include -o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c -lX11 ld: library not found for -lX11 collect2: ld returned 1 exit status -------->%-------- The correct files exist and the previous Makefile.PL was able to find them. Here is the relevant section (I hope) from the old version's makefile.log: --------%<-------- cc -fno-common -fno-strict-aliasing -pipe -fstack-protector -O3 -Iinclude -Iinclude/generic -I/Users/davidmertens/perl5/perlbrew/perls/perl-5.14.1/lib/5.14.1/darwin-2level/CORE - I/usr/local/include -I/usr/X11R6/include -o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 -L/usr/lib -L/usr/local/lib -L/lib /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c -ldbm -ldl -lm - lutil -lc -lgcc -lX11 ld: warning: directory not found for option '-L/lib' ld: library not found for -lX11 collect2: ld returned 1 exit status cc -fno-common -fno-strict-aliasing -pipe -fstack-protector -O3 -Iinclude -Iinclude/generic -I/Users/davidmertens/perl5/perlbrew/perls/perl-5.14.1/lib/5.14.1/darwin-2level/CORE - I/usr/local/include -I/usr/X11R6/include -o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c -ldbm -ldl -lm -lutil -lc -lgcc -lX11 cc -fno-common -fno-strict-aliasing -pipe -fstack-protector -O3 -Iinclude -Iinclude/generic -I/Users/davidmertens/perl5/perlbrew/perls/perl-5.14.1/lib/5.14.1/darwin-2level/CORE - I/usr/local/include -I/usr/X11R6/include -o /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000 -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib /var/folders/n3/hj1y1pzx4s11jyf6l55dm1340000gn/T//pmts0000.c -ldbm -ldl -lm -lutil -lc -lgcc -lX11 -lXext -------->%-------- I can give further diagnostics if that would help. Just let me know. David
Hi, I've fixed the bug, on my macosx it finds libX11.so in /opt/X11/lib. See the latest github fix works for you. /dk
FWIW, I can confirm that the current Git compiles on Ubuntu. So, this looks like a Mac-specific issue.
On Sun Sep 18 16:23:28 2011, KARASIK wrote: Show quoted text
> Hi, > > I've fixed the bug, on my macosx it finds libX11.so in /opt/X11/lib. See > the latest github fix works for you. > > /dk
YES!! Confirmed! Makefile.PL now runs! Thanks!