Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#62272 closed defect (fixed)

lmdb @0.9.28 does not build on PPC Leopard, Mac OS X 10.5.8, because of "Undefined symbols'"

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: Ken <21211439+kencu@…>
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: leopard Cc:
Port: lmdb

Description

Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_lmdb/lmdb/work/lmdb-0.9.28/libraries/liblmdb" && /usr/bin/make -w all SOEXT=.dylib prefix=/opt/local CC="/usr/bin/gcc-4.2" CXX="/usr/bin/g++-4.2" OBJC="/usr/bin/gcc-4.2" OBJCXX="/usr/bin/g++-4.2" CFLAGS="-Os -arch ppc" INSTALL="/usr/bin/install -c" 
DEBUG: system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_lmdb/lmdb/work/lmdb-0.9.28/libraries/liblmdb" && /usr/bin/make -w all SOEXT=.dylib prefix=/opt/local CC="/usr/bin/gcc-4.2" CXX="/usr/bin/g++-4.2" OBJC="/usr/bin/gcc-4.2" OBJCXX="/usr/bin/g++-4.2" CFLAGS="-Os -arch ppc" INSTALL="/usr/bin/install -c" 
make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_lmdb/lmdb/work/lmdb-LMDB_0.9.28/libraries/liblmdb'
/usr/bin/gcc-4.2 -Os -arch ppc -I/opt/local/include -c mdb.c
/usr/bin/gcc-4.2 -Os -arch ppc -I/opt/local/include -c midl.c
ar rs liblmdb.a mdb.o midl.o
ar: creating archive liblmdb.a
/usr/bin/gcc-4.2 -Os -arch ppc -fPIC -I/opt/local/include -c mdb.c -o mdb.lo
/usr/bin/gcc-4.2 -Os -arch ppc -fPIC -I/opt/local/include -c midl.c -o midl.lo
/usr/bin/gcc-4.2 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -pthread -shared -o liblmdb.dylib mdb.lo midl.lo 
Undefined symbols:
  "_posix_memalign", referenced from:
      _mdb_env_copyfd2 in mdb.lo
ld: symbol(s) not found

This port might have been requested by some other port (I cannot tell) because I do not need it.

Attachments (1)

main.log (9.7 KB) - added by ballapete (Peter "Pete" Dyballa) 4 years ago.
Main.log from PPC Leopard

Download all attachments as: .zip

Change History (9)

Changed 4 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Leopard

comment:1 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)

I presume Leopard has no memalign() function… (see /opt/mports/trunk/dports/math/fftw-3/files/leopard-no-memalign.patch?)

comment:2 Changed 4 years ago by kencu (Ken)

posix_memalign was one of the first things I added to legacysupport, so you might have happiness adding that.

comment:3 in reply to:  2 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)

Replying to kencu:

Yes, with some support it built! It could also run

make test

for which I had to patch line #29 of libraries/liblmdb/Makefile: On Macs SOEXT is usually .dylib… (the test succeeded all)

Last edited 4 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:4 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)

Same failure and same cure on PPC Tiger, Mac OS X 10.4.11.

comment:5 Changed 4 years ago by Wowfunhappy (Jonathan)

Quick note that I'm also running into this issue on Intel Tiger (10.4.11). I'm ultimately trying to install Git atm. :)

comment:6 Changed 4 years ago by Wowfunhappy (Jonathan)

...and, yep, merely adding:

PortGroup           legacysupport 1.0

at the top of the Portfile fixed it!

comment:7 Changed 4 years ago by kencu (Ken)

You should find git works well on Tiger -- I had a few issues with it three or four months ago, but I believe those have all been resolved now.

If you get stuck, I do have a fairly full set of archives for Tiger Intel/PPC I can make available to you.

comment:8 Changed 4 years ago by Ken <21211439+kencu@…>

Owner: set to Ken <21211439+kencu@…>
Resolution: fixed
Status: newclosed

In 1e4e51b885127ec197ed979c396c86ea47a82684/macports-ports (master):

lmdb: use legacysupport

for posix memalign
closes: #62272

Note: See TracTickets for help on using tickets.