Opened 9 years ago

Last modified 7 years ago

#49481 assigned defect

cardpeek @0.8.4: not compatible with lua 5.3

Reported by: nbenm Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: upstream Cc: ryandesign (Ryan Carsten Schmidt)
Port: cardpeek

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Hi,

I've installed cardpeek, and it crashes immediately after I validate card reader. Message on the console is:

dyld: lazy symbol binding failed: Symbol not found: _lua_remov
  Referenced from: /opt/local/bin/cardpeek
  Expected in: /opt/local/lib/liblua.dylib

dyld: Symbol not found: _lua_remove
  Referenced from: /opt/local/bin/cardpeek
  Expected in: /opt/local/lib/liblua.dylib

Trace/BPT trap: 5

When I ask version:

cardpeek -version

This is Darwin 14.5.0 x86_64.
Cardpeek path is /Users/nb/.cardpeek/

There is 1 reader detected:

 -> pcsc://Alcor Micro AU9520

Attachments (1)

cardpeek-lua5.3.patch (4.3 KB) - added by db_macports@… 9 years ago.

Download all attachments as: .zip

Change History (14)

comment:1 Changed 9 years ago by mf2k (Frank Schima)

Priority: HighNormal

The Priority field is for use by Macports team members only.

comment:2 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Owner: changed from macports-tickets@… to db_macports@…
Port: cardpeek added

Sounds like cardpeek may not be compatible with lua 5.3. Or it may just need a rebuild.

comment:3 Changed 9 years ago by nbenm

Hi,

I've tried to compile card peek but I have the following error:

[...]

:info:build Undefined symbols for architecture x86_64:
:info:build   "_luaL_checkint", referenced from:
:info:build       _subr_bytes_get in lua_bytes.o
:info:build       _subr_bytes_set in lua_bytes.o
:info:build       _subr_bytes_pad_left in lua_bytes.o
:info:build       _subr_bytes_pad_right in lua_bytes.o
:info:build       _subr_bytes_sub in lua_bytes.o
:info:build       _subr_bytes_convert in lua_bytes.o
:info:build       _subr_bytes_new in lua_bytes.o
:info:build       ...
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[1]: *** [cardpeek] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_cardpeek/cardpeek/work/cardpeek-0.8.4'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_cardpeek/cardpeek/work/cardpeek-0.8.4'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_cardpeek/cardpeek/work/cardpeek-0.8.4" && /usr/bin/make -w all V=1 
:info:build Exit code: 2
:error:build org.macports.build for port cardpeek returned: command execution failed

[...]

Does it mean lua version is not compatible ?

If so, what else can I do ?

Please keep in mind I'm a Macports beginner.

Thanks in advance

Noury

comment:4 in reply to:  2 Changed 9 years ago by nbenm

Replying to ryandesign@…:

Sounds like cardpeek may not be compatible with lua 5.3. Or it may just need a rebuild.

Hi,

I finally found:

au 5.3 uses luaL_checkinteger not luaL_checkint

So I did the following:

wget http://lil.fr.distfiles.macports.org/cardpeek/cardpeek-0.8.4.tar.gz
tar zxfp cardpeek-0.8.4.tar.gz
cd cardpeek-0.8.4
replaced luaL_checkint by luaL_checkinteger in lua_bytes.c
./configure
make
./cardpeek

And all was ok.

Who can correct the file in the package? Is it to Macport team to do that, or do I have to fill a bug report at cardpeek github issue page ? In the meantime, I'll use my freshly compiles cardpeek.

Thanks for your help.

comment:5 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Summary: cardpeek @0.8.4 - crashes immediatelycardpeek @0.8.4: not compatible with lua 5.3

Thanks for confirming that this is an incompatibility with lua 5.3, and for suggesting a fix.

This ticket has been assigned to the MacPorts maintainer of the cardpeek package, who should provide a fix. If not, I can fix it.

comment:6 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

I've also filed a bug report with the developers of cardpeek: https://github.com/L1L1/cardpeek/issues/70

Changed 9 years ago by db_macports@…

Attachment: cardpeek-lua5.3.patch added

comment:7 Changed 9 years ago by db_macports@…

Thanks for your investigations.

Being the maintainer, I've just uploaded a patch file for the port (add a patch to change luaL_checkint by luaL_checkinteger).

comment:8 Changed 9 years ago by mf2k (Frank Schima)

Keywords: haspatch added

Thank you, but please do not edit the # $Id: line.

comment:9 Changed 9 years ago by raimue (Rainer Müller)

Cc: raimue@… added

This patch does not seem to fix all build problems for me:

Undefined symbols for architecture x86_64:
  "_lua_rotate", referenced from:
      _subr_bytes_index in lua_bytes.o
      _internal_get_variable in lua_ext.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
$ port -q installed lua lua52
  lua @5.3.1_2 (active)
  lua52 @5.2.3_0 (active)

The problem appears to be that this port actually links against lua5.2, but uses headers from lua 5.3.

comment:10 Changed 9 years ago by raimue (Rainer Müller)

I switched the dependency to lua52 in r143635. The build will still fail if the lua port (5.3) is active while building.

comment:11 Changed 7 years ago by kurthindenburg (Kurt Hindenburg)

Owner: db_macports@… deleted
Status: newassigned

comment:12 Changed 7 years ago by raimue (Rainer Müller)

comment:13 Changed 7 years ago by raimue (Rainer Müller)

Cc: raimue removed
Keywords: upstream added; haspatch removed
Note: See TracTickets for help on using tickets.