Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hex.pm package for 0.2.4 is broken on non-OSX #9

Open
martin-langhoff opened this issue Sep 29, 2017 · 0 comments
Open

Hex.pm package for 0.2.4 is broken on non-OSX #9

martin-langhoff opened this issue Sep 29, 2017 · 0 comments

Comments

@martin-langhoff
Copy link

The package in Hex.pm includes OSX (Mach-O) objectfiles. These files break the build on any non-OSX platform. On Linux, I see

$ DEBUG=1 mix deps.compile lz4
===> Expanded command sequence to be run: []
===> Expanded command sequence to be run: [{default,app_discovery},
                                           {bare,compile}]
===> Compiling lz4
===> sh info:
	cwd: "/vagrant/deps/lz4"
	cmd: make -C c_src

===> 	opts: [use_stdout,
               {cd,"/vagrant/deps/lz4"},
               {env,[{"REBAR_DEPS_DIR","/vagrant/deps/lz4/_build/default/lib"},
                     {"REBAR_BUILD_DIR","/vagrant/deps/lz4/_build/default"},
                     {"REBAR_ROOT_DIR","/vagrant/deps/lz4/."},
                     {"REBAR_CHECKOUTS_DIR","/vagrant/deps/lz4/_checkouts"},
                     {"REBAR_PLUGINS_DIR",
                      "/vagrant/deps/lz4/_build/default/plugins"},
                     {"REBAR_GLOBAL_CONFIG_DIR",
                      "/home/vagrant/.config/rebar3"},
                     {"REBAR_GLOBAL_CACHE_DIR","/home/vagrant/.cache/rebar3"},
                     {"REBAR_TEMPLATE_DIR",
                      "/home/vagrant/.config/rebar3/templates"},
                     {"REBAR_APP_DIRS",
                      "/vagrant/deps/lz4/_build/default/apps/*:/vagrant/deps/lz4/_build/default/lib/*:/vagrant/deps/lz4/_build/default/."},
                     {"REBAR_SRC_DIRS",[]},
                     {"ERLANG_ERTS_VER","9.1"},
                     {"ERLANG_ROOT_DIR","/usr/lib64/erlang"},
                     {"ERLANG_LIB_DIR_erl_interface",
                      "/usr/lib64/erlang/lib/erl_interface-3.10"},
                     {"ERLANG_LIB_VER_erl_interface","3.10"},
                     {"ERL","/usr/lib64/erlang/bin/erl"},
                     {"ERLC","/usr/lib64/erlang/bin/erlc"},
                     {"ERLANG_ARCH","64"},
                     {"ERLANG_TARGET","20.1-x86_64-redhat-linux-gnu-64"}]},
               {abort_on_error,"Hook for compile failed!\n"}]

===> Port Cmd: make -C c_src
Port Opts: [{cd,"/vagrant/deps/lz4"},
            {env,[{"REBAR_DEPS_DIR","/vagrant/deps/lz4/_build/default/lib"},
                  {"REBAR_BUILD_DIR","/vagrant/deps/lz4/_build/default"},
                  {"REBAR_ROOT_DIR","/vagrant/deps/lz4/."},
                  {"REBAR_CHECKOUTS_DIR","/vagrant/deps/lz4/_checkouts"},
                  {"REBAR_PLUGINS_DIR",
                   "/vagrant/deps/lz4/_build/default/plugins"},
                  {"REBAR_GLOBAL_CONFIG_DIR","/home/vagrant/.config/rebar3"},
                  {"REBAR_GLOBAL_CACHE_DIR","/home/vagrant/.cache/rebar3"},
                  {"REBAR_TEMPLATE_DIR",
                   "/home/vagrant/.config/rebar3/templates"},
                  {"REBAR_APP_DIRS",
                   "/vagrant/deps/lz4/_build/default/apps/*:/vagrant/deps/lz4/_build/default/lib/*:/vagrant/deps/lz4/_build/default/."},
                  {"REBAR_SRC_DIRS",[]},
                  {"ERLANG_ERTS_VER","9.1"},
                  {"ERLANG_ROOT_DIR","/usr/lib64/erlang"},
                  {"ERLANG_LIB_DIR_erl_interface",
                   "/usr/lib64/erlang/lib/erl_interface-3.10"},
                  {"ERLANG_LIB_VER_erl_interface","3.10"},
                  {"ERL","/usr/lib64/erlang/bin/erl"},
                  {"ERLC","/usr/lib64/erlang/bin/erlc"},
                  {"ERLANG_ARCH","64"},
                  {"ERLANG_TARGET","20.1-x86_64-redhat-linux-gnu-64"}]},
            exit_status,
            {line,16384},
            use_stdio,stderr_to_stdout,hide,eof]

make: Entering directory `/vagrant/deps/lz4/c_src'
cc /vagrant/deps/lz4/c_src/lz4.o /vagrant/deps/lz4/c_src/lz4_nif.o /vagrant/deps/lz4/c_src/lz4hc.o -shared -L /usr/lib64/erlang/lib/erl_interface-3.10/lib -lerl_interface -lei -o /vagrant/deps/lz4/c_src/../priv/lz4.so
/vagrant/deps/lz4/c_src/lz4.o: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
make: *** [/vagrant/deps/lz4/c_src/../priv/lz4.so] Error 1
make: Leaving directory `/vagrant/deps/lz4/c_src'
===> Hook for compile failed!

** (Mix) Could not compile dependency :lz4, "/home/vagrant/.mix/rebar3 bare compile --paths "/vagrant/_build/dev/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile lz4", update it with "mix deps.update lz4" or clean it with "mix deps.clean lz4"


$ file /vagrant/deps/lz4/c_src/lz4.o
/vagrant/deps/lz4/c_src/lz4.o: Mach-O 64-bit object

Grabbing lz4 from github works well.

@bettio bettio mentioned this issue Jun 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant