Subject: | Broken Makefile |
Trying to build the module with bundled libraries fails:
...
cp lib/Couchbase/Test/Settings.pm blib/lib/Couchbase/Test/Settings.pm
cd src && make# This section creates the dynamically loadable objects from relevant
/bin/sh: 1: make#: not found
Makefile:527: die Regel für Ziel „/home/slaven.rezic/.cpan/build/2018082814/Couchbase-Client-1.0.3-1/blib/lib/auto/share/dist/Couchbase-Client/Library/lib/libcouchbase.so“ scheiterte
...
The relevant snippet in the generated Makefile:
...
# --- MakeMaker dynamic_lib section:
$(MYEXTLIB) ::
cd src && $(MAKE)# This section creates the dynamically loadable objects from relevant
# objects and possibly $(MYEXTLIB).
...
Possibly something changed in newer EUMM versions and the previously emitted newline isn't there anymore.
The following diff would fix the problem:
diff --git i/src/Makefile.PL w/src/Makefile.PL
index b060a9b..43684d7 100644
--- i/src/Makefile.PL
+++ w/src/Makefile.PL
@@ -227,7 +227,7 @@ sub mangle_parent_makefile {
my $ret = $old_meth->($mm,@args, INST_DYNAMIC_DEP => $dep);
$ret = join("\n",
"\$(MYEXTLIB) ::",
- "\t\ " . $mm->cd("src", '$(MAKE)'),
+ "\t\ " . $mm->cd("src", '$(MAKE)') . "\n",
) . $ret;
return $ret;