Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#31908 closed defect (fixed)

virtuoso fails to build: Undefined symbols _lex_hash_kw _xhtml_ent_gperf

Reported by: cjones051073 (Chris Jones) Owned by: nerdling (Jeremy Lavergne)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: soehn@…, gleirsch@…, ryandesign (Ryan Carsten Schmidt)
Port: virtuoso

Description

Latest update does not build on OS X 10.7

:info:build /Developer/usr/bin/clang -fno-strict-aliasing -O2 -Wall -DNDEBUG -DPOINTER_64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/libsrc/Xml.new -DOPENSSL_NO_KRB5 -I../../libsrc -I../../libsrc/Dk -I../../libsrc/Wi -I../../libsrc/odbcsdk/include -I../../libsrc/plugin -I../../libsrc/langfunc -DBUILD_THREAD_MODEL=\"-t\" -pipe -O2 -arch x86_64 -s -arch x86_64 -o virtuoso-t virtuoso_t-viconfig.o virtuoso_t-viunix.o  -L/opt/local/lib ../../libsrc/Wi/.libs/libwi.a ../../libsrc/Wi/.libs/libwic.a ../../libsrc/Dk/.libs/libdksrv.a ../../libsrc/Thread/.libs/libthrp.a ../../libsrc/Xml.new/.libs/libxml.a ../../libsrc/plugin/.libs/libplugin.a ../../libsrc/langfunc/.libs/liblangfunc.a ../../libsrc/Tidy/.libs/libtidy.a ../../libsrc/util/.libs/libutil.a /opt/local/lib/libldap.dylib -L/opt/local/lib/db46 /opt/local/lib/libsasl2.dylib -ldl -lssl -lcrypto /opt/local/lib/liblber.dylib -lresolv -lpthread ../../libsrc/zlib/.libs/libz.a -lm
:info:build ld: warning: option -s is obsolete and being ignored
:info:build Undefined symbols for architecture x86_64:
:info:build   "_lex_hash_kw", referenced from:
:info:build       _scn3splityylex in libwi.a(libwi_la-sqlbif2.o)
:info:build       _yylex in libwi.a(libwi_la-scn3.o)
:info:build   "_xhtml_ent_gperf", referenced from:
:info:build       _dtd_char_ref in libxml.a(libxml_la-dtd.o)
:info:build       _test_xhtml_char_ref in libxml.a(libxml_la-xmlread.o)
:info:build       _test_char_ref in libxml.a(libxml_la-xmlread.o)
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[2]: *** [virtuoso-t] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/binsrc/virtuoso'
:info:build make[1]: *** [all-recursive] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/binsrc'
:info:build make: *** [all-recursive] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4'
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4" && /usr/bin/make -w 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 virtuoso): org.macports.install org.macports.build org.macports.destroot
:notice:build Log for virtuoso is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_virtuoso/virtuoso/main.log

Attachments (1)

main.log (1020.9 KB) - added by cjones051073 (Chris Jones) 12 years ago.

Download all attachments as: .zip

Change History (20)

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

Summary: virtuoso fails to build (architecture not found)virtuoso fails to build: Undefined symbols _lex_hash_kw _xhtml_ent_gperf

Please attach the main.log file.

Changed 12 years ago by cjones051073 (Chris Jones)

Attachment: main.log added

comment:2 Changed 12 years ago by cjones051073 (Chris Jones)

log attached.

comment:3 Changed 12 years ago by soehn@…

Cc: soehn@… added

Cc Me!

comment:4 Changed 12 years ago by gleirsch@…

virtuoso @6.1.4 (devel) does not seem to stop building on 10.6.8, Xcode 4.0.2. I tried it several times, cleaning the build each time, after about 2 hours I finally have to kill the process.

Do not exactly know whether it is related to the above issue. If needed, I can provide logs.

comment:5 Changed 12 years ago by cjones051073 (Chris Jones)

the log would be useful. You can find it at

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_virtuoso/virtuoso/main.log

Chris

comment:6 Changed 12 years ago by cjones051073 (Chris Jones)

Note the virtuoso build does take quite a while, are you sure it wasn't still running ? Did you check what was happening with top or Activity Monitor ?

For me, the issue appears to be virtuoso does not play well with the use of clang by default with OSX 10.7 and Xcode 4.2

If I force the build to use

sudo port install virtuoso configure.compiler=llvm-gcc-4.2

The build appears OK. Still running, but has got past the point it failed before.

Chris

comment:7 Changed 12 years ago by cjones051073 (Chris Jones)

Actually.... I thin k I am now seeing the same problem as gleirsch. THe build appears to have hung.

If I look at the log file, the end of it is full of messages like

:info:build Waiting virtuoso start on port 1111...

?

comment:8 Changed 12 years ago by gleirsch@…

Just a view more infos: You reminded me, that I once changed the compiler to llvm for some package, don't know whether is was virtuoso. But as far as the logs tell me, llvm is already used automatically ... anyway, my Activity Monitor says, that a gnumake hierarchy is running having an isql process at its leave. Moreover, I've got an InterCheck process seeming to be zombied and taking slightly more than one CPU (106%). Logs are saying nothing special to me, they are cut:

:info:build make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_ma
cports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-op
ensource-6.1.4/binsrc/hosting'
:info:build make[3]: Nothing to be done for `all-am'.
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_mac
ports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-ope
nsource-6.1.4/binsrc/hosting'
:info:build Making all in perl
:info:build make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/binsrc/hosting/perl'
:info:build /usr/bin/make  all-am
:info:build make[4]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/binsrc/hosting/perl'
:info:build make[4]: Nothing to be done for `all-am'.
:info:build make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/binsrc/hosting/perl'
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local
_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virt
uoso-opensource-6.1.4/binsrc/hosting/perl'
:info:build Making all in python:info:build make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-op
ensource-6.1.4/binsrc/hosting/python'
:info:build /usr/bin/make  all-am:info:build make[4]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-op
ensource-6.1.4/binsrc/hosting/python'
:info:build make[4]: Nothing to be done for `all-am'.:info:build make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-ope
nsource-6.1.4/binsrc/hosting/python'
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_mac
ports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/binsrc/hosting/python'
:info:build Making all in ruby
:info:build make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/binsrc/hosting/ruby'
:info:build make[3]: Nothing to be done for `all'.
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/binsrc/hosting/ruby'
:info:build Making all in php
:info:build make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_virtuoso/virtuoso/work/virtuoso-opensource-6.1.4/binsrc/hosting/php'
:info:build make[3]: Nothing to be done for `all'.
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_va

comment:9 Changed 12 years ago by gleirsch@…

Btw, the logs are probably cut due to the zombied process...

comment:10 Changed 12 years ago by cjones051073 (Chris Jones)

I was able to get my build finished by turning temporarily off my firewall. It seems virtuoso doesn't play to well with this either. This is a different issue to the one I first reported here, I think, so if you still have problems probably warrants its own bug report.

Chris

comment:11 in reply to:  7 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to jonesc@…:

If I look at the log file, the end of it is full of messages like

:info:build Waiting virtuoso start on port 1111...

That's #31831.

comment:12 in reply to:  8 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: gleirsch@… added

Replying to gleirsch@…:

as far as the logs tell me, llvm is already used automatically

MacPorts picks llvm-gcc-4.2 on Xcode 4.0 and 4.1 and clang on Xcode 4.2.

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

Cc: ryandesign@… added
Owner: changed from macports-tickets@… to snc@…

Jeremy, looks like virtuoso needs to use llvm-gcc-4.2 instead of clang; see wiki:PortfileRecipes#compiler.

comment:14 Changed 12 years ago by nerdling (Jeremy Lavergne)

Avoiding clang starting in r86863.

comment:15 Changed 12 years ago by nerdling (Jeremy Lavergne)

Resolution: fixed
Status: newclosed

comment:16 Changed 12 years ago by gleirsch@…

Sorry to ask, but when will r86863 be included in the port repository? In the meanwhile I made an individual

sudo port clean virtuoso; sudo port build virtuoso configure.compiler=llvm-gcc-4.2

with the corresponding option added. However, this manual step did not work for me. I interrupted port after about two hours.

comment:17 in reply to:  16 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to gleirsch@…:

Sorry to ask, but when will r86863 be included in the port repository?

If you use the default rsync method for obtaining your ports tree, then any changes committed to the Subversion repository are available within 30 minutes. If you get your ports tree directly from the Subversion repository, changes are available immediately. All you have to do is "sudo port selfupdate" to receive the changes.

In the meanwhile I made an individual

sudo port clean virtuoso; sudo port build virtuoso configure.compiler=llvm-gcc-4.2

with the corresponding option added. However, this manual step did not work for me. I interrupted port after about two hours.

All r86863 does is change the compiler to llvm-gcc-4.2 if it was clang. So if manually making it llvm-gcc-4.2 didn't work for you, r86863 won't help. However, some ports do take time to build. After you selfupdate as above, and clean again, try installing again, and let it go overnight and see if it completes. If not, take a look at #31831 and see if that describes the problem. If not, file a new ticket; this one is closed.

comment:18 Changed 12 years ago by nerdling (Jeremy Lavergne)

Virtuoso shouldn't take an obscene amount of time to compile unless you have antivirus blocking it.

comment:19 Changed 12 years ago by gleirsch@…

Thanks, that helped. Deactivated antivirus, compiling took about 20 min.

Note: See TracTickets for help on using tickets.