#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)
Change History (20)
comment:1 Changed 13 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 |
---|
Changed 13 years ago by cjones051073 (Chris Jones)
comment:4 Changed 13 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 13 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 13 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 follow-up: 11 Changed 13 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 follow-up: 12 Changed 13 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 13 years ago by gleirsch@…
Btw, the logs are probably cut due to the zombied process...
comment:10 Changed 13 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 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
comment:12 Changed 13 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 13 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:15 Changed 13 years ago by nerdling (Jeremy Lavergne)
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:16 follow-up: 17 Changed 13 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 Changed 13 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 13 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 13 years ago by gleirsch@…
Thanks, that helped. Deactivated antivirus, compiling took about 20 min.
Please attach the main.log file.