Opened 13 years ago

Closed 13 years ago

#29768 closed defect (duplicate)

playerstage-stage: Undefined symbols for architecture i386

Reported by: basbaum@… Owned by: vincent@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: haspatch Cc: ryandesign (Ryan Carsten Schmidt)
Port: playerstage-stage

Description

I'm trying to install Player and Stage and keep geeting this error.

I've already updated ports and changed the default python for python25.

Source/examples/ctrl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_playerstage-stage/work/Stage-3.2.2-Source/examples/ctrl/CMakeFiles/lasernoise.dir/DependInfo.cmake --color=
:info:build Undefined symbols for architecture i386:
:info:build   "Fl::run()", referenced from:
:info:build       _main in main.o
:info:build ld: symbol(s) not found for architecture i386
:info:build collect2: ld returned 1 exit status
:info:build make[2]: *** [libstage/stage] Error 1
:info:build make[1]: *** [libstage/CMakeFiles/stagebinary.dir/all] Error 2
:info:build make[1]: *** Waiting for unfinished jobs....
:info:build /usr/bin/make -f examples/ctrl/CMakeFiles/lasernoise.dir/build.make examples/ctrl/CMakeFiles/lasernoise.dir/build
:info:build make[2]: Nothing to be done for `examples/ctrl/CMakeFiles/lasernoise.dir/build'.
:info:build "/Applications/CMake 2.8-4.app/Contents/bin/cmake" -E cmake_progress_report /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_playerstage-stage/work/Stage-3.2.2-Source/CMakeFiles  5
:info:build [ 64%] Built target lasernoise
:info:build make: *** [all] Error 2
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_playerstage-stage/work/Stage-3.2.2-Source" && /usr/bin/make -j2 all " returned error 2
: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
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for playerstage-stage): org.macports.activate org.macports.build org.macports.destroot org.macports.install
:notice:build Log for playerstage-stage is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_playerstage-stage/main.log

appreciate any help. If I forgot to add something please let me know, this is my first post here.

thanks

Attachments (3)

main.log (98.4 KB) - added by basbaum@… 13 years ago.
cleaned log
playerstage-cmake.diff (1.0 KB) - added by ryandesign (Ryan Carsten Schmidt) 13 years ago.
proposed patch
main2.log (162.4 KB) - added by basbaum@… 13 years ago.
after cmake being reinstall

Download all attachments as: .zip

Change History (14)

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Keywords: Player Stage Fails removed
Owner: changed from macports-tickets@… to vincent@…
Port: playerstage-stage added
Summary: Player/Stage fails to build "undefined symbols for architecture i386"playerstage-stage: Undefined symbols for architecture i386

Your log is incomplete (has lines that say "Skipping completed"). A full log might be more helpful, and could be generated by cleaning and trying again.

sudo port clean playerstage-stage
sudo port install playerstage-stage

However I can already see that "/Applications/CMake 2.8-4.app" in the log looks strange. Why is that being used I wonder? That was not installed by MacPorts. Try removing that app and cleaning and trying again.

comment:2 in reply to:  1 ; Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

"/Applications/CMake 2.8-4.app" [...] was not installed by MacPorts.

Wait... was it? Do you have the cmake port installed with the +gui variant? (I've never tried that so I don't know what it does.) What does port provides '/Applications/CMake 2.8-4.app/Contents/bin/cmake' say? If it says it is provided by the cmake port, then instead of removing it manually, try reinstalling the cmake port without the +gui variant.

comment:3 in reply to:  2 ; Changed 13 years ago by basbaum@…

Replying to ryandesign@…:

Replying to ryandesign@…:

"/Applications/CMake 2.8-4.app" [...] was not installed by MacPorts.

Wait... was it? Do you have the cmake port installed with the +gui variant? (I've never tried that so I don't know what it does.) What does port provides '/Applications/CMake 2.8-4.app/Contents/bin/cmake' say? If it says it is provided by the cmake port, then instead of removing it manually, try reinstalling the cmake port without the +gui variant.

I've removed the CMake 2.8-4 app and tried to install again - failed

Follows the complete log

(inline log removed by admin; see attachment main.log)

I've just installed CMake because of the ":info:configure sh: cmake: command not found"

any ideas?

comment:4 Changed 13 years ago by basbaum@…

wait, let me install cmake again ;P

comment:5 in reply to:  3 ; Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to basbaum@…:

Follows the complete log

Please just attach large logs, don't paste them inline.

I've just installed CMake because of the ":info:configure sh: cmake: command not found"

Ah! playerstage-stage needs cmake but neglects to declare a build dependency on it.

Changed 13 years ago by basbaum@…

Attachment: main.log added

cleaned log

Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: playerstage-cmake.diff added

proposed patch

comment:6 in reply to:  5 ; Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: haspatch added

Replying to ryandesign@…:

Ah! playerstage-stage needs cmake but neglects to declare a build dependency on it.

Or rather, it overwrites the cmake dependency that the cmake portgroup set. playerstage-player has the same problem. A patch for this is attached.

comment:7 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

...now you've attached a new main.log, overwriting the old main.log, so now it's difficult to see what changed between them. We've seen three different failures by now, yes? We've seen:

:info:configure sh: cmake: command not found

(in the main.log that got overwritten)

We've seen:

:info:build Undefined symbols for architecture i386:
:info:build   "Fl::run()", referenced from:
:info:build       _main in main.o
:info:build ld: symbol(s) not found for architecture i386

(in the description of this ticket) and it also mentioned "/Applications/CMake 2.8-4.app/Contents/bin/cmake" which was odd.

And now you have the same:

:info:build /opt/local/bin/cmake -E cmake_progress_report /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_playerstage-stage/work/Stage-3.2.2-Source/CMakeFiles 4
:info:build [ 62%] Undefined symbols for architecture i386:
:info:build   "Fl::run()", referenced from:
:info:build       _main in main.o

but now the log at least references the correct cmake program at /opt/local/bin/cmake. But your latest log is still not clean; still contains lines that say "Skipping completed". Please clean and try again and attach the complete main.log file.

comment:8 Changed 13 years ago by basbaum@…

Hello,

I've cleaned the log and runned the install again, I'm attaching the file the way it is in /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_playerstage-stage/

I'll rename it in order to avoid overlapping the old logs.

Changed 13 years ago by basbaum@…

Attachment: main2.log added

after cmake being reinstall

comment:9 in reply to:  description Changed 13 years ago by basbaum@…

Hello guys, any other suggestion?

Still receiving the same error

:info:build Undefined symbols for architecture i386:
:info:build   "Fl::run()", referenced from:
:info:build       _main in main.o
:info:build ld: symbol(s) not found for architecture i386
:info:build collect2: ld returned 1 exit status
:info:build make[2]: *** [libstage/stage] Error 1
:info:build make[1]: *** [libstage/CMakeFiles/stagebinary.dir/all] Error 2
:info:build make[1]: *** Waiting for unfinished jobs....
:info:build Linking CXX shared module lasernoise.so
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_playerstage-stage/work/Stage-3.2.2-Source/examples/ctrl && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/lasernoise.dir/link.txt --verbose=1
:info:build /usr/bin/g++-4.2  -pipe -O2 -arch i386   -O3 -DNDEBUG -Wall   -arch i386 -isysroot / -mmacosx-version-min=10.6 -bundle -Wl,-headerpad_max_install_names -L/opt/local/lib -arch i386 -o lasernoise.so CMakeFiles/lasernoise.dir/lasernoise.o -L/opt/local/lib ../../libstage/libstage.3.2.2.dylib -framework AGL -framework OpenGL /opt/local/lib/libltdl.dylib 
:info:build /opt/local/bin/cmake -E cmake_progress_report /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_playerstage-stage/work/Stage-3.2.2-Source/CMakeFiles  5
:info:build [ 64%] Built target lasernoise
:info:build make: *** [all] Error 2
:info:build shell command " cd "/opt/local/var/macports/build/

Regards

comment:10 in reply to:  6 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

it overwrites the cmake dependency that the cmake portgroup set. playerstage-player has the same problem. A patch for this is attached.

Since no response from maintainer, committed in r79851. But this probably doesn't solve the problem.

comment:11 Changed 13 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.