www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/08/06/04:59:16

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=to:from:subject:message-id:date:user-agent:mime-version
:content-type;
bh=r0YiOFmKq0JAQrYxazytiu+8ckvdPqnvlbSVi9cbPd0=;
b=mQFjTGhVqGOqf7cmhVMI/5ugJdsXeLdXFsikkx6ETqEFgoL97cabrwtoC3ND1o8Cd7
FpDNPwNWPl7iFHdiIQtJoPU7Ze7d3VuVWP9wEM4K1iho+/5FUlVOBnlVO9tTTf8W6HlH
Zgb3iWnv809KSa6OE6n090VmjYRh0e3RNUR+pEup1E0vF20S025VX9whABlgBTk4hz04
+rn1Qe1QtgQgP0TudPT1QUfw3XCfuU/pQsu31t43J4NPOSyqUWGhDm3iJluZB5tFeFjF
OoYezOP1WD1aVx/6KONoPAJ/dzqPFWA8fMCOHL7AprfU1q3STbpQ3c76GiEa79nDPbZk
/mTg==
X-Received: by 10.181.25.234 with SMTP id it10mr4465735wid.0.1438851501902;
Thu, 06 Aug 2015 01:58:21 -0700 (PDT)
To: geda-user AT delorie DOT com
From: "=?UTF-8?B?SmnFmcOtIMSMZWprYQ==?= (jirkacejka AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
Subject: [geda-user] [Solved] xgsch2pcb won't build with new Automake
Message-ID: <55C321AB.6040702@gmail.com>
Date: Thu, 6 Aug 2015 10:58:19 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
Thunderbird/38.0.1
MIME-Version: 1.0
Reply-To: geda-user AT delorie DOT com

This is a multi-part message in MIME format.
--------------090706000703090906000901
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello,

I've just solved problem with not being able to compile xgsch2pcb from 
git repository source on latest Debian Jessie GNU/Linux distribution 
which sits on my desktop computer. Here I come with patch and tiny how 
to which every one can implement by itself until one of gEDA developer 
with write permission commit patch and it's additional step to the 
repository.

Brief problem description
=========================
If you clone source code from xgsch2pcb git repository and try to 
compile it on Debian Wheezy or later or any other distro that have 
version of automake tool >= 1.11 you will probably end up with this two 
lines error:

Makefile.am:33: error: 'pkglibdir' is not a legitimate directory for 
'PYTHON'
Makefile.am:25: error: 'pkglibdir' is not a legitimate directory for 
'PYTHON'

Question how to solve it was asked by Philipp Klostermann on Jun 05 2014 
at geda-help mailing list and then filled as bug report by Stephen Besch 
on 2015-03-26 at Launchpad (https://bugs.launchpad.net/geda/+bug/1436941)


Here is quick solution
======================
1) Apply provided patch to ./Makefile.am file (HEAD revision)

$ cd xgsch2pcb
$ patch -p1 < Makefile.am.patch

2) Replace "py-compile" file in xgsch2pcb folder by that one from 
actually installed automake

$ mv ./py-compile ./py-compile.old
$ cp /usr/share/automake-1.14/py-compile ./


Additional info
===============
In latest stable Debian distribution Jessie is automake version 1.14. 
But general changes comes a lot earlier. I wasn't able to successfuly 
compile xgsch2pcb from automake version 1.11.

According to automake online manual 
(http://www.gnu.org/software/automake/manual/automake.html#Python) 
changes has to be made on 3 lines (25, 33, 60) in Makefile.am file of 
xgsch2pcb or you can apply provided patch as noted above. Then the 
compilation will run without
above error.

After you apply provided patch copy "py-compile" file from actual 
automake folder or you stuck on following error when you try to run 
"make install":

./py-compile: Missing argument to --destdir.

Stefano Lattarini describe what has to be done in his message 
(http://lists.gnu.org/archive/html/bug-automake/2012-06/msg00012.html):

 >>  ../py-compile: Missing argument to --destdir.
 >>
 >This is likely happening because the maintainer have updated his 
Makefiles to
 >Automake 1.12, but forgot to update the 'py-compile' script.  So this 
is a user
 >error, not an Automake's fault.

And in his message 
(https://lists.gnu.org/archive/html/automake-patche/2011-06/msg00056.html) 
he provide patch which clarifies why it has to be done. The patch he 
provided is already included in automake 1.14. So only above mentioned 
copy operation will be enough.

Jiri Cejka

--------------090706000703090906000901
Content-Type: text/x-patch;
 name="Makefile.am.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="Makefile.am.patch"

diff --git a/Makefile.am b/Makefile.am
index aa8e2d6..daee83e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,7 +22,7 @@ SUBDIRS = po data
 
 bin_SCRIPTS = xgsch2pcb
 
-pkglib_PYTHON = lib/xgsch2pcb/pcbmanager.py \
+python_PYTHON = lib/xgsch2pcb/pcbmanager.py \
  lib/xgsch2pcb/gsch2pcbproject.py \
  lib/xgsch2pcb/gui.py \
  lib/xgsch2pcb/new_project_gui.py \
@@ -30,7 +30,7 @@ pkglib_PYTHON = lib/xgsch2pcb/pcbmanager.py \
  lib/xgsch2pcb/templates.py \
  lib/xgsch2pcb/funcs.py
 
-nodist_pkglib_PYTHON = config.py
+nodist_python_PYTHON = config.py
 
 INTLTOOL_FILES = intltool-extract.in \
                  intltool-merge.in \
@@ -57,7 +57,7 @@ do_subst = sed -e 's,[@]prefix[@],$(prefix),g' \
 							 -e 's,[@]templatesdir[@],$(templatesdir),g' \
 							 -e 's,[@]PACKAGE[@],$(PACKAGE),g'
 
-all: $(pkglib_PYTHON) $(nodist_pkglib_PYTHON)
+all: $(python_PYTHON) $(nodist_python_PYTHON)
 
 config.py: lib/xgsch2pcb/config.py.in Makefile
 	$(do_subst) < $(srcdir)/lib/xgsch2pcb/config.py.in > $@

--------------090706000703090906000901--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019