Opened 5 years ago

Closed 5 years ago

#47971 closed submission (fixed)

This is to introduce the new port gds

Reported by: emaros Owned by: skymoo (Adam Mercer)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: kurthindenburg (Kurt Hindenburg)
Port: gds

Description

This package is used by scientist of LIGO Scientific Community.

Attachments (5)

patch-DTT-src-awg-awgbase.py.in.diff (7.1 KB) - added by emaros 5 years ago.
Patch to introduce new file.
patch-config-ac_dmtoffline.m4.diff (585 bytes) - added by emaros 5 years ago.
Patch to allow clang to be recognized as clang
patch-DTT-dtt-Makefile.in.diff (1.2 KB) - added by emaros 5 years ago.
Uses the awgbase.py.in to generate awgbase.in
patch-configure.diff (579 bytes) - added by emaros 5 years ago.
Patch to generated file
Portfile (2.7 KB) - added by emaros 5 years ago.
Used different patch

Download all attachments as: .zip

Change History (20)

comment:1 Changed 5 years ago by skymoo (Adam Mercer)

Cc: ram@… removed
Owner: changed from macports-tickets@… to ram@…
Status: newassigned

comment:2 Changed 5 years ago by skymoo (Adam Mercer)

There's a large section of this commented out:

47      # EFM Done - FIXME: parallel build is currently broken
48	use_parallel_build yes
49	
50	#set pythondir "${frameworks_dir}/Python.framework/Versions/2.7/lib/python2.7/site-packages"
51	#destroot.args-append \
52	#              pythondir="${pythondir}" \
53	#              pyexecdir="${pythondir}" \
54	#              pkgpythondir="${pythondir}/${name}" \
55	#              pkgpyexecdir="${pythondir}/${name}"
56	
57	# FIXME: fails to build if previous version active
58	#conflicts_build ${name}

Can this be removed?

comment:3 Changed 5 years ago by skymoo (Adam Mercer)

On Fri, Jun 5, 2015 at 4:32 PM, Edward Maros <emaros@…> wrote:

It may be removed.

comment:4 Changed 5 years ago by skymoo (Adam Mercer)

I think the modification of pythondir is needed as without it I can't import the python modules:

[ram@hastur ~]$ python
Python 2.7.10 (default, May 26 2015, 17:36:23)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import awg
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named awg
>>>

Whereas with the modification I can, but it fails:

[ram@hastur ~]$ python
Python 2.7.10 (default, May 26 2015, 17:36:23)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import awg
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named awg
>>> exit()
[ram@hastur ~]$ python
Python 2.7.10 (default, May 26 2015, 17:36:23)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import awg
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/awg.py", line 35, in <module>
    import sys, numpy, awgbase
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/awgbase.py", line 20, in <module>
    libawg = CDLL('libawg.so')
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(libawg.so, 6): image not found
>>>

So this looks like missing dependency... Maybe we configure with the --disable-python option for the time being?

comment:5 Changed 5 years ago by emaros

OK. After listening to several people's feedback, I have corrected the Portfile to build the python extensions and install the necessary libraries required for the foton application.

I have added the necessary patch files and the new Portfile.

Changed 5 years ago by emaros

Patch to introduce new file.

Changed 5 years ago by emaros

Patch to allow clang to be recognized as clang

Changed 5 years ago by emaros

Uses the awgbase.py.in to generate awgbase.in

comment:6 Changed 5 years ago by skymoo (Adam Mercer)

There's no need to specify checksums for the patchfiles, these would only be needed if the patches were going to be downloaded but we'll add this to the repo so I've removed the checksums for the patches. Also there was a mixture of tabs and spaces so I've switched all these to spaces.

It's building now...

comment:7 Changed 5 years ago by skymoo (Adam Mercer)

Resolution: fixed
Status: assignedclosed

comment:8 Changed 5 years ago by skymoo (Adam Mercer)

Resolution: fixed
Status: closedreopened

This failed on all four build bots with what looks like the same error:

libtool: link: /usr/bin/clang++ -O2 -pipe -Os -arch x86_64 -stdlib=libstdc++ "-DVCSID(x)=static const char* versionId[] = { versionId[1], x }" -o webview monweb.o webview.o  ../../IO/web/.libs/libweb.a -L/opt/local/lib /opt/local/lib/libcurl.dylib ../.libs/libclient.a /opt/local/var/macports/build/_opt_mports_dports_science_gds/gds/work/gds-2.17.1/IO/lmsg/.libs/liblmsg.a ../../IO/xsil/.libs/libxsil.a /opt/local/var/macports/build/_opt_mports_dports_science_gds/gds/work/gds-2.17.1/Containers/.libs/libgdscntr.a /opt/local/var/macports/build/_opt_mports_dports_science_gds/gds/work/gds-2.17.1/IO/lxr/.libs/liblxr.a /opt/local/lib/libmetaio.dylib ../../Containers/.libs/libgdscntr.a /opt/local/lib/libexpat.dylib ../../Base/.libs/libgdsbase.a ../../IO/sockutil/.libs/libsockutil.a ../../IO/lxr/.libs/liblxr.a ../../IO/lmsg/.libs/liblmsg.a /opt/local/var/macports/build/_opt_mports_dports_science_gds/gds/work/gds-2.17.1/Base/.libs/libgdsbase.a /opt/local/var/macports/build/_opt_mports_dports_science_gds/gds/work/gds-2.17.1/IO/sockutil/.libs/libsockutil.a -lz /opt/local/lib/libfftw3f_threads.dylib /opt/local/lib/libfftw3f.dylib /opt/local/lib/libfftw3_threads.dylib /opt/local/lib/libfftw3.dylib -lm -ldl -lpthread
Undefined symbols for architecture x86_64:
  "void x86_vect::cvt<float, int>(float*, int const*, unsigned long) const", referenced from:
      DVecType<int>::getData(unsigned long, unsigned long, float*) const in libgdscntr.a(DVecType.o)
  "void x86_vect::cvt<int, float>(int*, float const*, unsigned long) const", referenced from:
      DVecType<float>::getData(unsigned long, unsigned long, int*) const in libgdscntr.a(DVecType.o)
  "void x86_vect::mul<basicplx<double> >(basicplx<double>*, basicplx<double> const*, unsigned long) const", referenced from:
      DVecType<basicplx<double> >::mpy(unsigned long, DVector const&, unsigned long, unsigned long) in libgdscntr.a(DVecType.o)
  "void x86_vect::mul<double>(double*, double, unsigned long) const", referenced from:
      DVecType<double>::scale(unsigned long, double, unsigned long) in libgdscntr.a(DVecType.o)
      DVecType<basicplx<double> >::scale(unsigned long, double, unsigned long) in libgdscntr.a(DVecType.o)
  "void x86_vect::muld<basicplx<double> >(basicplx<double>*, double const*, unsigned long) const", referenced from:
      DVecType<basicplx<double> >::mpy(unsigned long, DVector const&, unsigned long, unsigned long) in libgdscntr.a(DVecType.o)
  "void x86_vect::cmodsq<double>(double*, double const*, unsigned long) const", referenced from:
      dv_modsq(DVector const&) in libgdscntr.a(dv_function.o)
  "_global_x86_vect", referenced from:
      DVecType<float>::getData(unsigned long, unsigned long, int*) const in libgdscntr.a(DVecType.o)
      DVecType<int>::getData(unsigned long, unsigned long, float*) const in libgdscntr.a(DVecType.o)
      DVecType<basicplx<double> >::mpy(unsigned long, DVector const&, unsigned long, unsigned long) in libgdscntr.a(DVecType.o)
      DVecType<double>::scale(unsigned long, double, unsigned long) in libgdscntr.a(DVecType.o)
      DVecType<basicplx<double> >::scale(unsigned long, double, unsigned long) in libgdscntr.a(DVecType.o)
      dv_modsq(DVector const&) in libgdscntr.a(dv_function.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Lion also had:

/opt/local/var/macports/build/_opt_mports_dports_science_gds/gds/work/gds-2.17.1/config/missing: line 52: aclocal-1.11: command not found
WARNING: `aclocal-1.11' is missing on your system.  You should only need it if
         you modified `acinclude.m4' or `configure.ac'.  You might want
         to install the `Automake' and `Perl' packages.  Grab them from
         any GNU archive site.
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /opt/local/var/macports/build/_opt_mports_dports_science_gds/gds/work/gds-2.17.1/config/missing --run autoconf
 cd . && /bin/sh /opt/local/var/macports/build/_opt_mports_dports_science_gds/gds/work/gds-2.17.1/config/missing --run automake-1.11 --foreign
/opt/local/var/macports/build/_opt_mports_dports_science_gds/gds/work/gds-2.17.1/config/missing: line 52: automake-1.11: command not found
WARNING: `automake-1.11' is missing on your system.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
aclocal.m4:20: warning: this file was generated for autoconf 2.63.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
configure.ac:8: error: Autoconf version 2.62 or higher is required
aclocal.m4:674: AM_INIT_AUTOMAKE is expanded from...
configure.ac:8: the top level
autom4te: /usr/bin/gm4 failed with exit status: 63
WARNING: `autoconf' is probably too old.  You should only need it if
         you modified `configure.ac'.  You might want to install the
         `Autoconf' and `GNU m4' packages.  Grab them from any GNU
         archive site.
/bin/sh ./config.status --recheck

You can take a look at the full logs here:

https://build.macports.org/builders/buildports-lion-x86_64/builds/29394
https://build.macports.org/builders/buildports-mtln-x86_64/builds/24054
https://build.macports.org/builders/buildports-mavericks-x86_64/builds/13615
https://build.macports.org/builders/buildports-yosemite-x86_64/builds/4373

comment:9 in reply to:  8 ; Changed 5 years ago by larryv (Lawrence Velázquez)

You appear to be patching template files instead of the files that are generated from them. This is why Make is trying to run Autotools, and the configure script is being run a second time during the build phase.

Preferably, you should patch the generated files instead of the source files; this would avoid the need to run Autotools at all. Failing that, you might have to add use_autoreconf yes.

Changed 5 years ago by emaros

Attachment: patch-configure.diff added

Patch to generated file

Changed 5 years ago by emaros

Attachment: Portfile added

Used different patch

comment:10 in reply to:  9 ; Changed 5 years ago by emaros

Replying to larryv@…:

You appear to be patching template files instead of the files that are generated from them. This is why Make is trying to run Autotools, and the configure script is being run a second time during the build phase.

Preferably, you should patch the generated files instead of the source files; this would avoid the need to run Autotools at all. Failing that, you might have to add use_autoreconf yes.

I have uploaded a modified Portfile which has replaced the patch /Users/efm/tmp/patch-config-ac_dmtoffline.m4.diff with /Users/efm/tmp/patch-configure.diff so only generated files are modified.

comment:11 in reply to:  10 Changed 5 years ago by skymoo (Adam Mercer)

Replying to ed.maros@…:

I have uploaded a modified Portfile which has replaced the patch /Users/efm/tmp/patch-config-ac_dmtoffline.m4.diff with /Users/efm/tmp/patch-configure.diff so only generated files are modified.

The new Portfile didn't take into account the changes I'd made when committing the port so I've applied them again. It's building now...

comment:12 Changed 5 years ago by skymoo (Adam Mercer)

It's now failing for me with:

Undefined symbols for architecture x86_64:
  "std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const", referenced from:
      table::tableIO_hdf::plan_data(table::Table const&) in tableIO_hdf.o
      table::tableIO_hdf::readTable(table::Table&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in tableIO_hdf.o
      table::tableIO_hdf::writeTable(table::Table const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in tableIO_hdf.o
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in tableIO_hdf.o
ld: symbol(s) not found for architecture x86_64

This is on Yosemite.

comment:13 Changed 5 years ago by skymoo (Adam Mercer)

And this is building for me now, not sure why it didn't before...

comment:14 Changed 5 years ago by kurthindenburg (Kurt Hindenburg)

Cc: khindenburg@… added

Cc Me!

comment:15 Changed 5 years ago by kurthindenburg (Kurt Hindenburg)

Resolution: fixed
Status: reopenedclosed

This was just updated to 2.17.3 which doesn't need any of the previous patches.

Note: See TracTickets for help on using tickets.