Opened 8 years ago

Closed 8 years ago

#161 closed defect (duplicate)

1.2.0 compilation fails on Lion

Reported by: Elio Maggini Owned by: somebody
Priority: major Milestone:
Component: nginx-core Version: 1.2.x
Keywords: Cc:
uname -a:
nginx -V: 1.2.0

Description

I followed the steps ad detailed in ticket #94 and install PCRE via MacPorts.

However, Downloading and building 1.2.0 of nginx yields the same error.

objs/ngx_modules.o \
-lpcre -lssl -lcrypto -lz

Undefined symbols for architecture x86_64:

"_pcre_free_study", referenced from:

_ngx_pcre_free_studies in ngx_regex.o

ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: * [objs/nginx] Error 1
make:
* [build] Error 2


Downloading 1.0.15 and building yields a successful install.

Change History (4)

comment:1 by Maxim Dounin, 8 years ago

Resolution: duplicate
Status: newclosed

Do you have macports installed into /usr/local? If yes, the only remaining solution is second one outlined in #94, i.e. explicitly use --with-ld-opt="-L /usr/local/lib". Alternatively, reinstall macports into default location, /opt/local.

in reply to:  1 comment:2 by Elio Maggini, 8 years ago

Resolution: duplicate
Status: closedreopened

Replying to Maxim Dounin:

Do you have macports installed into /usr/local? If yes, the only remaining solution is second one outlined in #94, i.e. explicitly use --with-ld-opt="-L /usr/local/lib". Alternatively, reinstall macports into default location, /opt/local.

Respectfully, I do not believe this is a duplicate issue. As stated, I already tried the steps as shown in #94.

macports IS installed in the default location: which port
/opt/local/bin/port

Forcing --with-ld-opt="-L /usr/local/lib" does NOT solve the issue.

comment:3 by Maxim Dounin, 8 years ago

Note that ticket #94 had typo in --with-ld-opt ("-I" was incorrectly used instead of "-L"), I've fixed the typo while writing first reply to this ticket. If it still doesn't work for you, please provide configure command line used, configure output, and details about pcre.h headers in your system and libpcre.dylib libraries on your system. Intresting parts are:

grep -A5 'PCRE version' /path/to/pcre.h

and

strings /path/to/libpcre.dylib | fgrep '8.'

for each pcre.h and libpcre.dylib found.

comment:4 by Maxim Dounin, 8 years ago

Resolution: duplicate
Status: reopenedclosed

Feedback timeout. Closing again as duplicate of invalid ticket #94, the problem is clearly inconsistency in pcre libraries and header files installed.

Note: See TracTickets for help on using tickets.