www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/08/05/21:46:04

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=tB1ehKy228d3YyDPBWvGN7t4LdQ5b+GxFScjlcrSSIc=;
b=RvkATuNCMGSdsdY17cCsyOfUli7obXCqv5UxELHiijuhStROIoMeP93ZVcpU+omEvL
WX8fd1qPPOqOfXSiQDm+qMhHl4jQ6JRC01lWKGHDuLfWKigJs89IdP436jKriw1Kzwsw
P6iDsXW1LuCdpATQou7K5OLbZ/eYx/2R47eXDETlEL/eMLpJRJJ9MO07LEFb7KY+6ZNy
/cji6xDPOwWrdZk2rvmrIRQSJBJmN9Lz1Mo8jRKxMQedrwhWWQz8qc3txj5lrbt3Igyu
/s6X3yUEvHneR9zHcXJ9a2/7sWhib09d0fTybT8jhQ7CjjqnR1rpf8DIt5FwF/72UN6J
szng==
X-Received: by 10.194.20.196 with SMTP id p4mr26075957wje.86.1438825524614;
Wed, 05 Aug 2015 18:45:24 -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: <55C2BC32.1040702@gmail.com>
Date: Thu, 6 Aug 2015 03:45:22 +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.
--------------090608040701030102050700
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

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-patches/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.

JC

--------------090608040701030102050700
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 > $@

--------------090608040701030102050700--

- Raw text -


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