Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#2701 closed defect (fixed)

20713 won't build on Mac

Reported by: Adam Dershowitz <dersh@…> Owned by: Adeel Asghar
Priority: high Milestone: 1.9.1
Component: Backend Version: trunk
Keywords: Cc:

Description

I just tried to update to 20713, with Macports, and it fails. I actually first tried 20711, and that failed, to I did a sync, and tried again.
I last built 20691, with no errors.

Here is the output:

--->  Building openmodelica-devel
^[[DError: org.macports.build for port openmodelica-devel returned: command execution failed
Please see the log file for port openmodelica-devel for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_build.openmodelica.org_macports_lang_openmodelica-devel/openmodelica-devel/main.log
Error: Unable to upgrade port: 1
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets

Log file attached.

Attachments (1)

main.log (2.6 MB ) - added by Adam Dershowitz <dersh@…> 11 years ago.
Build fail log file

Change History (17)

by Adam Dershowitz <dersh@…>, 11 years ago

Attachment: main.log added

Build fail log file

comment:1 by Martin Sjölund, 11 years ago

Owner: changed from probably noone to Adeel Asghar
Status: newassigned

Linux and Windows builds are also broken at the moment

comment:2 by Martin Sjölund, 11 years ago

Resolution: fixed
Status: assignedclosed

comment:3 by Adam Dershowitz <dersh@…>, 11 years ago

Nope, it (20743) still won't build. Although, it is now a Macport/Install error. I tried upgrading, and then also first uninstalled. Each time, it finishes building, but then reports this:

$ sudo port install openmodelica-devel
--->  Computing dependencies for openmodelica-devel
--->  Fetching archive for openmodelica-devel
Warning: Your DNS servers incorrectly claim to know the address of nonexistent hosts. This may cause checksum mismatches for some ports.
--->  Attempting to fetch openmodelica-devel-20743_0+gfortran48+qt+sundials.darwin_13.x86_64.tbz2 from http://packages.macports.org/openmodelica-devel
--->  Attempting to fetch openmodelica-devel-20743_0+gfortran48+qt+sundials.darwin_13.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/openmodelica-devel
--->  Attempting to fetch openmodelica-devel-20743_0+gfortran48+qt+sundials.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/openmodelica-devel
--->  Fetching distfiles for openmodelica-devel
--->  Verifying checksums for openmodelica-devel
--->  Extracting openmodelica-devel
--->  Configuring openmodelica-devel
--->  Building openmodelica-devel
--->  Staging openmodelica-devel into destroot
--->  Installing openmodelica-devel @20743_0+gfortran48+qt+sundials
--->  Activating openmodelica-devel @20743_0+gfortran48+qt+sundials
--->  Cleaning openmodelica-devel
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  Found 2 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     openmodelica-devel @20743 +gfortran48+qt+sundials
--->  Computing dependencies for openmodelica-devel
--->  Cleaning openmodelica-devel
--->  Scanning binaries for linking errors: 100.0%
--->  Found 2 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     openmodelica-devel @20743 +gfortran48+qt+sundials
--->  Computing dependencies for openmodelica-devel
--->  Fetching distfiles for openmodelica-devel
--->  Verifying checksums for openmodelica-devel
--->  Extracting openmodelica-devel
--->  Configuring openmodelica-devel
--->  Building openmodelica-devel
--->  Staging openmodelica-devel into destroot
--->  Deactivating openmodelica-devel @20743_0+gfortran48+qt+sundials
--->  Cleaning openmodelica-devel
--->  Uninstalling openmodelica-devel @20743_0+gfortran48+qt+sundials
--->  Cleaning openmodelica-devel
--->  Computing dependencies for openmodelica-devel
--->  Installing openmodelica-devel @20743_0+gfortran48+qt+sundials
--->  Activating openmodelica-devel @20743_0+gfortran48+qt+sundials
--->  Cleaning openmodelica-devel
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  Found 2 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     openmodelica-devel @20743 +gfortran48+qt+sundials
--->  Computing dependencies for openmodelica-devel
--->  Fetching distfiles for openmodelica-devel
--->  Verifying checksums for openmodelica-devel
--->  Extracting openmodelica-devel
--->  Configuring openmodelica-devel
--->  Building openmodelica-devel


When I did it as an upgrade, it ended, after trying a few rebuilds, like this:

--->  Found 2 broken file(s), matching files to ports
Error: Port openmodelica-devel is still broken after rebuilding it more than 3 times.
Error: Please run port -d -y rev-upgrade and use the output to report a bug.
Port openmodelica-devel still broken after rebuilding 3 time(s)
    while executing
"error "Port $portname still broken after rebuilding [expr $broken_port_counts($portname) - 1] time(s)""
    (procedure "revupgrade_scanandrebuild" line 268)
    invoked from within
"revupgrade_scanandrebuild broken_port_counts $opts"
    (procedure "macports::revupgrade" line 5)
    invoked from within
"macports::revupgrade $opts"
    (procedure "action_revupgrade" line 2)
    invoked from within
"action_revupgrade $action $portlist $opts"
    (procedure "action_upgrade" line 25)
    invoked from within
"$action_proc $action $portlist [array get global_options]"
    (procedure "process_cmd" line 93)
    invoked from within
"process_cmd $remaining_args"
    invoked from within
"if { [llength $remaining_args] > 0 } {

    # If there are remaining arguments, process those as a command
    set exit_status [process_cmd $remaining..."
    (file "/opt/local/bin/port" line 4857)

and my guess is that the new install is going to do that after the Nth rebuild also (4th?)

So, it looks like the actual compile is working, but some file is not being installed properly.

comment:4 by Adam Dershowitz <dersh@…>, 11 years ago

Resolution: fixed
Status: closedreopened

comment:5 by Adam Dershowitz <dersh@…>, 11 years ago

Something is wrong with libOMPlot. I ran:

sudo port -d -y rev-upgrade

And here is the significant part:

--->  Scanning binaries for linking errors
Could not open libOMPlot.1.dylib: Error opening or reading file (referenced from /Applications/MacPorts/OMEdit.app/Contents/MacOS/OMEdit)
DEBUG: Marking /Applications/MacPorts/OMEdit.app/Contents/MacOS/OMEdit as broken
DEBUG: Marking /opt/local/bin/OMPlot as broken
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/bin/OMPlot
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/bin/omc
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/bin/omc
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libOMPlot.1.0.0.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libOMPlot.1.0.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libOMPlot.1.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libOMPlot.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libOpenModelicaFMIRuntimeC.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libOpenModelicaFMIRuntimeC.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libOpenModelicaFMIRuntimeC.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libOpenModelicaFMIRuntimeC.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libSimulationRuntimeC.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libSimulationRuntimeC.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libSimulationRuntimeC.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/omc/libSimulationRuntimeC.dylib

--->  Found 2 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
DEBUG: Broken: openmodelica-devel
DEBUG: Processing port openmodelica-devel @0:20743_0 +gfortran48+qt+sundials 
--->  Rebuilding in order
     openmodelica-devel @20743 +gfortran48+qt+sundials
DEBUG: epoch: in tree: 0 installed: 0
DEBUG: openmodelica-devel 20743_0 exists in the ports tree
DEBUG: openmodelica-devel 20743_0 +gfortran48+qt+sundials is the latest installed
DEBUG: openmodelica-devel 20743_0 +gfortran48+qt+sundials is active
DEBUG: Merging existing variants '+gfortran48+qt+sundials' into variants
DEBUG: new fully merged portvariants: qt + sundials + gfortran48 +
DEBUG: Changing to port directory: /opt/local/var/macports/sources/build.openmodelica.org/macports/lang/openmodelica-devel
DEBUG: OS darwin/13.2.0 (Mac OS X 10.9) arch i386
DEBUG: adding the default universal variant
DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
DEBUG: Executing variant sundials provides sundials
DEBUG: Executing variant qt provides qt
DEBUG: Executing variant gfortran48 provides gfortran48
DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: rev-upgrade override ... upgrading!
DEBUG: Not following dependencies
Skipping deactivate openmodelica-devel @20743_0+gfortran48+qt+sundials (dry run)
Skipping activate openmodelica-devel @20743_0+gfortran48+qt+sundials (dry run)
DEBUG: Rebuilding port openmodelica-devel finished with status 0
Warning: If this was no dry run, rev-upgrade would now run the checks again to find unresolved and newly created problems

comment:6 by Martin Sjölund, 11 years ago

That is pretty odd. The last few OSX nightly builds have worked fine for us. Although it is possible rev-upgrade is not run since we don't actually install the binary: we just build it.

And... Ignoring @rpath commands will obviously cause the executables to fail. The @rpath is essential for making the libraries run.

comment:7 by Adam Dershowitz <dersh@…>, 11 years ago

Yes, it is odd. It does seem to build fine. And, it does install, but, as it completes that it does the check and reports the errors above, and then loops to try to fix it.
The fact that it is on the newly changed plot library could be a clue. Could there be a step that is missing where it builds, but then doesn't move it to the correct place? So, when it runs the check it can't find it? Or a file name that is wrong, so it builds one name and then checks for another?
I do see this is present after the install fails:
/opt/local/lib/omc/libOMPlot.1.dylib (400k size, and built when I did the last attempt, with 20795)
And if I try to run OMEdit, after the failed install, it crashes and reports:

Dyld Error Message:
  Library not loaded: libOMPlot.1.dylib
  Referenced from: /Applications/MacPorts/OMEdit.app/Contents/MacOS/OMEdit
  Reason: image not found

So, Macports is "correct" in reporting that the build failed. So, that library is somehow not ending up working correctly.

comment:8 by Adam Dershowitz <dersh@…>, 11 years ago

And perhaps one other clue: OMShell does run, and seems to be able to simulate as well. But, if I try to plot anything, I don't see a plot window. I tried BouncingBall.mo and I can see values using val, and plot(h) returns true but then a window doesn't open.
Perhaps related and a clue?

comment:9 by Martin Sjölund, 11 years ago

r20801 maybe

comment:10 by Adam Dershowitz <dersh@…>, 11 years ago

Resolution: fixed
Status: reopenedclosed

Yes. It now builds and runs.
Thanks!

comment:11 by Adam Dershowitz <dersh@…>, 11 years ago

Well, mostly...I hadn't used OMShell in a while, and tried it, as discussed above. Since, it didn't work, and then there was the fix above, I decided to try it again. OMShell doesn't plot. The plot application doesn't open. So, plot(h) returns true, and nothing else happens. No error, or anything.
Plotting does work fine in OMEdit.

comment:12 by Martin Sjölund, 11 years ago

So /opt/local/bin/OMPlot fails with what dynamic linker message for you?

comment:13 by Adam Dershowitz <dersh@…>, 11 years ago

No. No error at all. I just tried out plotting from the command line with OMPlot explicitly, and that works fine.
So, the issue is just that OMShell isn't passing data to OMPlot. In OMShell, if I do plot(h), it just says true, and doesn't open OMPlot. It doesn't seem to matter if OMPlot is already opened or not.

comment:14 by Martin Sjölund, 11 years ago

OK. Seems plot() is broken in mos-scripts and OMShell also on Linux. It is a new option added by Adeel, but there is a quote that was not terminated correctly.

comment:15 by Martin Sjölund, 11 years ago

r20814 should fix broken plot()

comment:16 by Adam Dershowitz <dersh@…>, 11 years ago

That did it for plot. Working now.

Note: See TracTickets for help on using tickets.