Bug 177201 - french/aster: [PATCH] doesn't build in poudriere, several issues -- fixed
Summary: french/aster: [PATCH] doesn't build in poudriere, several issues -- fixed
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Thierry Thomas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-21 15:10 UTC by John Marino
Modified: 2014-03-18 21:23 UTC (History)
0 users

See Also:


Attachments
file.diff (2.98 KB, patch)
2013-03-21 15:10 UTC, John Marino
no flags Details | Diff
metis-patch-Lib_Makefile.txt (436 bytes, text/plain)
2013-04-03 22:23 UTC, John Marino
no flags Details
medis-patch-Lib_Makefile.txt (441 bytes, text/plain)
2013-04-22 09:53 UTC, John Marino
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Marino 2013-03-21 15:10:00 UTC
There are several problems with this port.

1) libmetis.so presence is checked during configure, it must be added to LIB_DEPENDS
2) Then you don't need to add it to RUN_DEPENDS
3) cata_ele.picked, elements, commande directories are no longer generated.  They have to be removed from both pkg-plist and install target
4) The products.py patch *HARD-CODES* a workdir path which breaks build for any non-standard workdir, such as one poudriere defines.
5) asteru is no longer built, remove it from install target and plist

patch attached.

NOTE: there were directories present as STA10.8/fermetur that are not installed.  Maybe they should be?

Fix: Patch attached with submission follows:
How-To-Repeat: Try to build aster in poudriere.  good luck.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-03-21 15:10:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->thierry

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Thierry Thomas freebsd_committer freebsd_triage 2013-03-22 06:35:14 UTC
State Changed
From-To: open->feedback


asteru is the main program (binary). If it has not been built on your 
environment, that reveals some errors (during compilation?). Could you 
please check your build log, and send it to me? 

Anyway, thanks for the other remarks!
Comment 3 John Marino 2013-03-22 06:50:37 UTC
I was afraid that could be the case.
I suspect the problem could be with libmetis -- it appears that at least 
the shared library is missing but aster seems to be detecting that and 
using the static library instead.

In any case, here's the log:
http://leaf.dragonflybsd.org/~marino/misc/aster-10.8.0.3.log

If you spot the problem, do please let me know.
I'll take another look at libmetis in the meantime.

John
Comment 4 Thierry Thomas freebsd_committer freebsd_triage 2013-04-03 20:56:00 UTC
On fri 22 mar 13 at 8:00:01 +0100, John Marino <draco@marino.st>
 wrote:

>  I was afraid that could be the case.
>  I suspect the problem could be with libmetis -- it appears that at least 
>  the shared library is missing but aster seems to be detecting that and 
>  using the static library instead.

Just a note about that: the shared library is not really missing, it's
just not installed.

In math/metis-edf/Makefile there is:

.if ${MACHINEARCH} == "i386"
	${INSTALL_DATA} ${WRKSRC}/libmetis.so ${PREFIX}/lib
	${INSTALL_PROGRAM} ${WRKSRC}/libmetis.so.1 ${PREFIX}/lib
.endif

and ldconfig is not run on non i386-platforms.

Still working on it...
-- 
Th. Thomas.
Comment 5 John Marino 2013-04-03 22:23:51 UTC
On 4/3/2013 21:56, Thierry Thomas wrote:
> Just a note about that: the shared library is not really missing, it's
> just not installed.
>
> In math/metis-edf/Makefile there is:
>
> .if ${MACHINEARCH} == "i386"
> 	${INSTALL_DATA} ${WRKSRC}/libmetis.so ${PREFIX}/lib
> 	${INSTALL_PROGRAM} ${WRKSRC}/libmetis.so.1 ${PREFIX}/lib
> .endif
>
> and ldconfig is not run on non i386-platforms.
>
> Still working on it...

I saw that, but metis-edf was at fault anyway.
Somebody decided to use the linker to create the shared library using 
--whole archive and this didn't work well at all.  I changed it to make 
the compiler created the shared library.  In my basic testing it worked, 
but I haven't tried to build aster on i386 yet to be sure.

Patch attached.  It applies over the other Makefile patch, not instead 
of it.

John
Comment 6 John Marino 2013-04-22 09:53:08 UTC
The previous patch for math/medis-edf used the wrong library name 
(libmetis.so instead of ../libmetis.so.1).  The updated patch is 
attached and metis-edf now builds in poudriere on i386.
Comment 7 freebsd.contact 2013-07-22 08:40:49 UTC
Is there any heartburn with me committing the fix to math/metis-edf?

french/aster is still not building the executable but fixing metis-edf
is a step in the right direction.

John
Comment 8 dfilter service freebsd_committer freebsd_triage 2013-08-13 06:07:48 UTC
Author: bf
Date: Tue Aug 13 05:07:35 2013
New Revision: 324649
URL: http://svnweb.freebsd.org/changeset/ports/324649

Log:
  Use the compiler to assemble the shared libraries, in order to avoid linking
  problems
  
  PR:		177201
  Submitted by:	marino, thierry

Modified:
  head/math/metis-edf/files/patch-Lib_Makefile   (contents, props changed)

Modified: head/math/metis-edf/files/patch-Lib_Makefile
==============================================================================
--- head/math/metis-edf/files/patch-Lib_Makefile	Tue Aug 13 04:25:49 2013	(r324648)
+++ head/math/metis-edf/files/patch-Lib_Makefile	Tue Aug 13 05:07:35 2013	(r324649)
@@ -1,5 +1,5 @@
---- Lib/Makefile.orig	2008-12-03 11:08:03.000000000 +0100
-+++ Lib/Makefile	2010-05-16 16:33:40.000000000 +0200
+--- Lib/Makefile.orig	2008-12-03 05:08:03.000000000 -0500
++++ Lib/Makefile	2013-08-13 00:53:40.000000000 -0400
 @@ -2,7 +2,7 @@
  
  INCLUDES = -I.
@@ -13,7 +13,7 @@
  
  ../libmetis.a: $(OBJS)
  	$(AR) $@ $(OBJS)
-+	%%SHLIB%%$(LD) -Wl,-Bshareable -Wl,-o,../libmetis.so.1 -Wl,-x -Wl,-soname,libmetis.so.1 -Wl,--whole-archive ../libmetis.a -Wl,-no-whole-archive
++	%%SHLIB%%$(CC) -shared $(CFLAGS) $(LDFLAGS) -o ../libmetis.so.1 $(OBJS) -lm
 +	%%SHLIB%%(cd .. && ln -sf libmetis.so.1 libmetis.so)
  
  clean:
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 9 Thierry Thomas freebsd_committer freebsd_triage 2014-03-18 21:21:31 UTC
State Changed
From-To: patched->closed


The port has just been upgraded. It is still marked BROKEN, but this PR 
is no more applicable. 

Anyway, thanks for the report!
Comment 10 Thierry Thomas freebsd_committer freebsd_triage 2014-06-01 07:55:48 UTC
State Changed
From-To: feedback->patched


math/metis-edf has been patched by bf.