Opened 14 years ago

Closed 14 years ago

#27319 closed update (fixed)

atlas: update needed for new lapack.tgz

Reported by: mzagursk@… Owned by: jameskyle@…
Priority: High Milestone:
Component: ports Version:
Keywords: Cc: crystal.luna@…, vlsd (Vlad), michaelld (Michael Dickens), crashed@…, charles.o.mays@…
Port: atlas

Description

A new lapack has been released (Nov 14, 2010). The lapack.tgz that is downloaded therefore has different checksums etc. The new version (3.3.0) should replace the old version (3.2.2) which can now be found at http://www.netlib.org/lapack/lapack-3.2.2.tgz. The new version is still http://www.netlib.org/lapack/lapack.tgz however, there are install errors because it is a new version with different checksums.

Attachments (3)

patch-atals-lapack.3.3.0.diff (972 bytes) - added by crystal.luna@… 14 years ago.
atlas_config_err.log (13.9 KB) - added by vlsd (Vlad) 14 years ago.
the error log in configuring atlas after "solving" the checksum error.
atlas-lapack-Portfile_and_patch.diff (4.5 KB) - added by michaelld (Michael Dickens) 14 years ago.
"svn diff" in 'atlas' dports directory, correcting lapack library issues as well as setting lapack version

Download all attachments as: .zip

Change History (32)

comment:1 Changed 14 years ago by jmroot (Joshua Root)

Keywords: atlas lapack removed
Owner: changed from macports-tickets@… to jameskyle@…
Version: 1.9.2

Please remember to cc the maintainer.

comment:2 in reply to:  description Changed 14 years ago by crystal.luna@…

Replying to mzagursk@…:

A new lapack has been released (Nov 14, 2010). The lapack.tgz that is downloaded therefore has different checksums etc. The new version (3.3.0) should replace the old version (3.2.2) which can now be found at http://www.netlib.org/lapack/lapack-3.2.2.tgz. The new version is still http://www.netlib.org/lapack/lapack.tgz however, there are install errors because it is a new version with different checksums.

here is the diff file for fix it

Changed 14 years ago by crystal.luna@…

comment:3 Changed 14 years ago by crystal.luna@…

Cc: crystal.luna@… added

Cc Me!

comment:4 Changed 14 years ago by crystal.luna@…

Cc: crystal.luna@… removed

Cc Me!

comment:5 Changed 14 years ago by crystal.luna@…

Cc: crystal.luna@… added

Cc Me!

comment:6 Changed 14 years ago by telliott@…

I verified the checksums against the distribution http://www.netlib.org/lapack/lapack.tgz, made a patch, and it fixed this issue but then the build failed later:

sudo port install atlas
Portfile changed since last build; discarding previous state.
--->  Computing dependencies for atlas
--->  Fetching atlas
--->  Verifying checksum(s) for atlas
--->  Extracting atlas
--->  Applying patches to atlas
--->  Configuring atlas
--->  Building atlas
Error: Target org.macports.build returned: shell command failed (see log for details)
:info:build rm -rf *.o x* config?.out *core*
:debug:build Executing proc-post-org.macports.build-build-0
:info:build ld: duplicate symbol _spotrf_ in liblapack.a(spotrf.o) and liblapack.a(spotrf.o)
:info:build shell command "cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/lib &&  ( test ! -e liblapack.a ||              /usr/bin/ld -arch x86_64 -dynamic -dylib -single_module -dead_strip  -x -all_load -L. -L/opt/local/lib/gcc44/x86_64 -L/opt/local/lib/gcc44 -ldylib1.o  -dylib_install_name /opt/local/lib/liblapack.dylib  liblapack.a -o liblapack.dylib  -lf77blas -lcblas -latlas -lgfortran -lgcc_s.1 -lSystem  )" returned error 1
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"$post $targetname"

comment:7 in reply to:  6 Changed 14 years ago by crystal.luna@…

yep i have the same problem.. mac os 10.6.5, Core i7 2.6GHz

comment:8 Changed 14 years ago by vlsd (Vlad)

Cc: vloodo@… added

Cc Me!

comment:9 Changed 14 years ago by vlsd (Vlad)

I replaced the distfile with one I manually downloaded from http://distfiles.macports.org/atlas/3.8.3_4/lapack.tgz. This file has the right checksum (I did not apply the patch crystal posted). However, I get configuration errors:

--->  Configuring atlas
Error: Target org.macports.configure returned: shell command failed (see log for details)

The log file is pretty large so I'll refrain from posting it for now. I don't know how to fix this problem myself, but I hope this helps at least a little bit.

comment:10 Changed 14 years ago by barabas@…

I was able to build atlas (using the slightly older lapack) by doing the following:

sudo port install atlas        #(this fails with checksum errors)
cd /opt/local/var/macports/distfiles/atlas/3.8.3_4
sudo wget http://www.netlib.org/lapack/lapack-3.2.2.tgz
sudo mv lapack-3.2.2.tgz lapack.tgz
sudo port install atlas        #(this time it works)

Maintainer: I suggest always explicitly downloading lapack by version number. For example, even though not advertised, the new latest lapack (now listed as lapack.tgz) can also be downloaded as lapack-3.3.0.tgz. Avoiding the unversioned lapack.tgz will keep the port from breaking again when a new versions are released.

comment:11 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Everybody, please remember that you need to use WikiFormatting in Trac tickets.

comment:12 in reply to:  10 Changed 14 years ago by vlsd (Vlad)

Replying to barabas@…:

I was able to build atlas (using the slightly older lapack) by doing the following: ...

This is equivalent to what I did. I still get configuration errors. I'm attaching the log file. It seems to be related to 25258 but I can't figure it out.

Changed 14 years ago by vlsd (Vlad)

Attachment: atlas_config_err.log added

the error log in configuring atlas after "solving" the checksum error.

comment:13 Changed 14 years ago by michaelld (Michael Dickens)

Cc: michaelld@… added

Cc Me!

comment:14 Changed 14 years ago by michaelld (Michael Dickens)

@vloodo: Looks like the MPFR port was updated and changed the name of its installed .dylib (from ".1." to ".4." maybe?). Your MacPorts' install of GCC 4.4 did not get rebuilt, and requires libmpfr.1.dylib while what's installed is (most likely) the ".4." version. Have you performed a "selfupdate" recently? Doing that and then "port outdated" might indicate that GCC44 needs to be upgraded. If not, then you'll want to get it reinstalled.

comment:15 Changed 14 years ago by michaelld (Michael Dickens)

I get the same error as 'telliott'. This error comes from the Portfile line:

make_dylib liblapack ${lib_dir} ${arch} { -lf77blas -lcblas -latlas -lgfortran -lgcc_s.1 -lSystem }

Not sure why though ...

comment:16 Changed 14 years ago by michaelld (Michael Dickens)

The new lapack's SRC/Makefile contains some errors that duplicate certain '.o' entries (including spotrf.o) in the archive, so patching this Makefile to not contain duplicates seems to work. That said, I have no idea why 'ar cr' gets messed up -- it's the same exact .o files (4 different ones) being included twice. I'll attach a patch for testing, which sets the lapack version as well as addresses this ticket (for me). Please try out this patch & see if it works.

Changed 14 years ago by michaelld (Michael Dickens)

"svn diff" in 'atlas' dports directory, correcting lapack library issues as well as setting lapack version

comment:17 in reply to:  16 ; Changed 14 years ago by crashed@…

Replying to michaelld@…:

The new lapack's SRC/Makefile contains some errors that duplicate certain '.o' entries (including spotrf.o) in the archive, so patching this Makefile to not contain duplicates seems to work. That said, I have no idea why 'ar cr' gets messed up -- it's the same exact .o files (4 different ones) being included twice. I'll attach a patch for testing, which sets the lapack version as well as addresses this ticket (for me). Please try out this patch & see if it works.

Your patch works for me. Thanks a lot!

comment:18 Changed 14 years ago by crashed@…

Cc: crashed@… added

Cc Me!

comment:19 in reply to:  17 ; Changed 14 years ago by crystal.luna@…

Replying to crashed@…:

Replying to michaelld@…:

The new lapack's SRC/Makefile contains some errors that duplicate certain '.o' entries (including spotrf.o) in the archive, so patching this Makefile to not contain duplicates seems to work. That said, I have no idea why 'ar cr' gets messed up -- it's the same exact .o files (4 different ones) being included twice. I'll attach a patch for testing, which sets the lapack version as well as addresses this ticket (for me). Please try out this patch & see if it works.

Your patch works for me. Thanks a lot!

how to use this path ? cd $(port dir atlas) patch Profile<~/Download/.diff didnt work...

cd $()

comment:20 in reply to:  19 ; Changed 14 years ago by crashed@…

Replying to crystal.luna@…:

Replying to crashed@…:

Replying to michaelld@…:

The new lapack's SRC/Makefile contains some errors that duplicate certain '.o' entries (including spotrf.o) in the archive, so patching this Makefile to not contain duplicates seems to work. That said, I have no idea why 'ar cr' gets messed up -- it's the same exact .o files (4 different ones) being included twice. I'll attach a patch for testing, which sets the lapack version as well as addresses this ticket (for me). Please try out this patch & see if it works.

Your patch works for me. Thanks a lot!

how to use this path ? cd $(port dir atlas) patch Profile<~/Download/.diff didnt work...

cd $()

I copied patch to $(port dir atlas) and executed: sudo patch -p0 < atlas-lapack-Portfile_and_patch.diff

comment:21 in reply to:  14 Changed 14 years ago by vlsd (Vlad)

Replying to michaelld@…:

@vloodo: Looks like the MPFR port was updated and changed the name of its installed .dylib (from ".1." to ".4." maybe?). Your MacPorts' install of GCC 4.4 did not get rebuilt, and requires libmpfr.1.dylib while what's installed is (most likely) the ".4." version. Have you performed a "selfupdate" recently? Doing that and then "port outdated" might indicate that GCC44 needs to be upgraded. If not, then you'll want to get it reinstalled.

Reinstalling GCC44 worked for me, everything built and installed correctly the second time around. Thanks!

comment:22 in reply to:  20 ; Changed 14 years ago by crystal.luna@…

Replying to crashed@…:

Replying to crystal.luna@…:

Replying to crashed@…:

Replying to michaelld@…:

The new lapack's SRC/Makefile contains some errors that duplicate certain '.o' entries (including spotrf.o) in the archive, so patching this Makefile to not contain duplicates seems to work. That said, I have no idea why 'ar cr' gets messed up -- it's the same exact .o files (4 different ones) being included twice. I'll attach a patch for testing, which sets the lapack version as well as addresses this ticket (for me). Please try out this patch & see if it works.

Your patch works for me. Thanks a lot!

how to use this path ? cd $(port dir atlas) patch Profile<~/Download/.diff didnt work...

cd $()

I copied patch to $(port dir atlas) and executed: sudo patch -p0 < atlas-lapack-Portfile_and_patch.diff

didnt work for me ...T T

comment:23 in reply to:  22 ; Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to crystal.luna@…:

didnt work for me ...T T

Why not? What happened?

comment:24 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: New lapack released, needs to be updated in atlas.atlas: update needed for new lapack.tgz

comment:25 in reply to:  23 Changed 14 years ago by crystal.luna@…

Replying to ryandesign@…:

Replying to crystal.luna@…:

didnt work for me ...T T

Why not? What happened?

i change the portfile...now it works thx

comment:26 in reply to:  10 ; Changed 14 years ago by rmstonecipher@…

Replying to barabas@…:

I was able to build atlas (using the slightly older lapack) by doing the following:

sudo port install atlas        #(this fails with checksum errors)
cd /opt/local/var/macports/distfiles/atlas/3.8.3_4
sudo wget http://www.netlib.org/lapack/lapack-3.2.2.tgz
sudo mv lapack-3.2.2.tgz lapack.tgz
sudo port install atlas        #(this time it works)

Maintainer: I suggest always explicitly downloading lapack by version number. For example, even though not advertised, the new latest lapack (now listed as lapack.tgz) can also be downloaded as lapack-3.3.0.tgz. Avoiding the unversioned lapack.tgz will keep the port from breaking again when a new versions are released.

I have committed a revision that explicitly specifies lapack version per the above suggestion in r73584.
This revision specifies lapack 3.2.2; while it does not solve the problem of atlas not building against lapack 3.3.0, it does allow users to have a working atlas until a solution is found.

comment:27 in reply to:  26 Changed 14 years ago by charles.o.mays@…

Replying to rmstonecipher@…:

I have tried the instructions in ticket #27319 and it doesn't seem to work. My problem seems to be exactly the problem described here. I get the following error message after sudo port install atlas command.

Error: Target org.macports.build returned: shell command failed (see log for details) Log for atlas is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/main.log Error: Status 1 encountered during processing. To report a bug, see <http://guide.macports.org/#project.tickets>

Is there something else I can try?

Replying to barabas@…:

I was able to build atlas (using the slightly older lapack) by doing the following:

sudo port install atlas        #(this fails with checksum errors)
cd /opt/local/var/macports/distfiles/atlas/3.8.3_4
sudo wget http://www.netlib.org/lapack/lapack-3.2.2.tgz
sudo mv lapack-3.2.2.tgz lapack.tgz
sudo port install atlas        #(this time it works)

Maintainer: I suggest always explicitly downloading lapack by version number. For example, even though not advertised, the new latest lapack (now listed as lapack.tgz) can also be downloaded as lapack-3.3.0.tgz. Avoiding the unversioned lapack.tgz will keep the port from breaking again when a new versions are released.

I have committed a revision that explicitly specifies lapack version per the above suggestion in r73584.
This revision specifies lapack 3.2.2; while it does not solve the problem of atlas not building against lapack 3.3.0, it does allow users to have a working atlas until a solution is found.

comment:28 Changed 14 years ago by charles.o.mays@…

Cc: charles.o.mays@… added

Cc Me!

comment:29 Changed 14 years ago by Veence (Vincent)

Resolution: fixed
Status: newclosed

Done with the new versions of atlas (3.9.33/3.9.35)

Note: See TracTickets for help on using tickets.