#42 closed task (worksforme)
Can't compile, pthread error during configure
Reported by: | dickk | Owned by: | |
---|---|---|---|
Priority: | Feedback pending | Milestone: | preview |
Component: | Common Tasks | Keywords: | |
Cc: |
Description
Hi, I'm getting this pthread error when I try to compile, Hopefully you can figure out what my problem is from the info following below.
[E:\5.0.6Netlabs]ash
sh: can't access tty; job control turned off
# export WATCOM=E:/WATCOM
# export PATH_SDK_LIBSDL=E:/Tools/os2.x86/libsdl/SDL
#
# ./configure --with-ow-dir=$WATCOM --enable-vnc --disable-docs
Checking for environment: Determined build machine: os2.x86, target machine: os2
.x86, OK.
Checking for kBuild: found, OK.
grep: Invalid back reference
Checking for gcc: found version 4.9.2, OK.
Checking for Open Watcom: found version 1.9, OK.
Checking for iasl: found version 20131115, OK.
Checking for xslt: found, OK.
Checking for mkisofs: found mkisofs 2.01.01a59 (i386-pc-os2_emx) Copyright (C) 1
993-1997 Eric Youngdale (C) 1997-2009 J÷rg Schilling, OK.
Checking for pthread:
pthread not found at -lpthread or pthread headers not found
Check the file E:/5.0.6Netlabs/configure.log for detailed error information.
Check E:/5.0.6Netlabs/configure.log for details
#
And here's the Configure Log
# Log file generated by
#
# './configure --with-ow-dir=E:/WATCOM --enable-vnc --disable-docs'
#
* Checking environment *
Determined build machine: os2.x86, target machine: os2.x86
* Checking kBuild *
found
* Checking gcc *
found version 4.9.2
* Checking Open Watcom *
found version 1.9
* Checking iasl *
found version 20131115
* Checking xslt *
found
* Checking mkisofs *
found mkisofs 2.01.01a59 (i386-pc-os2_emx) Copyright (C) 1993-1997 Eric Youngdale (C) 1997-2009 J÷rg Schilling
* Checking pthread *
compiling the following source file:
#include <cstdio>
#include <pthread.h>
extern "C" int main(void)
{
pthread_mutex_t mutex;
if (pthread_mutex_init(&mutex, NULL)) {
printf("pthread_mutex_init() failed\n");
return 1;
}
if (pthread_mutex_lock(&mutex)) {
printf("pthread_mutex_lock() failed\n");
return 1;
}
if (pthread_mutex_unlock(&mutex)) {
printf("pthread_mutex_unlock() failed\n");
return 1;
}
printf("found, OK.\n");
}
using the following command line:
g++ -Zomf -g -O -Wall -o E:/5.0.6Netlabs/.tmp_out E:/5.0.6Netlabs/.tmp_src.cc "-lpthread"
ilink.exe: No such file or directory
Something is screwed up, I don't think ./configure needs ilink.exe!
Have I left something out? I preformed the entire Development Setup as specified using YUM (pthread & pthread.devel included).
Here's the portion of configure that looks like possibly is causing the problem?
YASM="yasm"
IASL="iasl"
XSLTPROC="xsltproc"
GENISOIMAGE="genisoimage"
MKISOFS="mkisofs"
INCCRYPTO=""
LIBCRYPTO="-lssl -lcrypto"
LIBPTHREAD="-lpthread"
LIBCAP="-lcap"
GSOAP=""
Also, I don't understand the “grep: invalid back reference “ statement in the Start-up script, could this be causing my problem?
Thanks for any ideas dickk
Change History (13)
comment:2 by , 9 years ago
Adding those two lines to config.sys resolved the problem with pthread, now libxml2 version 2.7.7 seems to have problems!
Checking for gcc: found version 4.9.2, OK.
Checking for Open Watcom: found version 1.9, OK.
Checking for iasl: found version 20131115, OK.
Checking for xslt: found, OK.
Checking for mkisofs: found mkisofs 2.01.01a59 (i386-pc-os2_emx) Copyright (C) 1
993-1997 Eric Youngdale (C) 1997-2009 J÷rg Schilling, OK.
Checking for pthread: found, OK.
Checking for libxml2: E:/USR/BIN/xml2-config
found version 2.7.7, OK.
xml2 not found at -L/@unixroot/usr/lib -lxml2 -lz -lpthread -lm -lurpo -lmmap
-lpthread -lpthread -I/@unixroot/usr/include/libxml2 or xml2 headers not found
Check the file E:/5.0.6Netlabs/configure.log for detailed error information.
Check E:/5.0.6Netlabs/configure.log for details
#
# Log file generated by
#
# './configure --with-ow-dir=E:/WATCOM --enable-vnc --disable-docs'
#
* Checking environment *
Determined build machine: os2.x86, target machine: os2.x86
* Checking kBuild *
found
* Checking gcc *
found version 4.9.2
* Checking Open Watcom *
found version 1.9
* Checking iasl *
found version 20131115
* Checking xslt *
found
* Checking mkisofs *
found mkisofs 2.01.01a59 (i386-pc-os2_emx) Copyright (C) 1993-1997 Eric Youngdale (C) 1997-2009 J÷rg Schilling
* Checking pthread *
compiling the following source file:
#include <cstdio>
#include <pthread.h>
extern "C" int main(void)
{
pthread_mutex_t mutex;
if (pthread_mutex_init(&mutex, NULL)) {
printf("pthread_mutex_init() failed\n");
return 1;
}
if (pthread_mutex_lock(&mutex)) {
printf("pthread_mutex_lock() failed\n");
return 1;
}
if (pthread_mutex_unlock(&mutex)) {
printf("pthread_mutex_unlock() failed\n");
return 1;
}
printf("found, OK.\n");
}
using the following command line:
g++ -Zomf -g -O -Wall -o E:/5.0.6Netlabs/.tmp_out E:/5.0.6Netlabs/.tmp_src.cc "-lpthread"
executing the binary
found, OK.
* Checking libxml2 *
found version 2.7.7
compiling the following source file:
#include <cstdio>
#include <libxml/xmlversion.h>
extern "C" int main(void)
{
printf("found version %s", LIBXML_DOTTED_VERSION);
#if LIBXML_VERSION >= 20626
printf(", OK.\n");
return 0;
#else
printf(", expected version 2.6.26 or higher\n");
return 1;
#endif
}
using the following command line:
g++ -Zomf -g -O -Wall -o E:/5.0.6Netlabs/.tmp_out E:/5.0.6Netlabs/.tmp_src.cc "-L/@unixroot/usr/lib -lxml2 -lz -lpthread -lm -lurpo -lmmap -lpthread -lpthread -I/@unixroot/usr/include/libxml2"
weakld: cannot open library file '\@unixroot\usr\lib\z_s.a'.
emxomfld: weak prelinker failed. (rc=8)
comment:5 by , 9 years ago
Please try do remove zlib-devel package, and install it again. It says,
weakld: cannot open library file '\@unixroot\usr\lib\z_s.a'.
(the lib is called libz_s.a actually) -- or check that e:\usr\lib\libz_s.a is present on the disk.
comment:6 by , 9 years ago
Removing and re-installing zlib-devel resulted in a different error:
Checking for pthread: found, OK.
Checking for libxml2:
neither pkg-config nor xml2-config found!
Check E:/5.0.6Netlabs/configure.log for details
#
and configure log says the same thing:
* Checking libxml2 *
neither pkg-config nor xml2-config found!
There is no libz_s.a in e:\usr\lib
This looks now, like its looking for Linux package?
comment:7 by , 9 years ago
Priority: | minor → Feedback pending |
---|
how did you install the requirements? by yum/rpm or by hand? As it really seems your env is broken.
comment:8 by , 9 years ago
requirements were installed by using yum/rpm as included in install of eCS 2.2bII. Probably the requirements as listed in Netlabs need updating as the required changes to config.sys mentioned by dmik which allows pthread to compile using wlink.exe rather than ilink.exe without errors is not mentioned. Possibly there are other needed requirements?
comment:9 by , 9 years ago
did you updated the dependencies? Packages from eCS 2.2 may be old
yum update
and, is pkg-config installed?
yum install pkgconfig
comment:10 by , 9 years ago
@dickk, regarding config.sys changes, you should not have to do it manually! The command yum install gcc-wlink
should have done it for you. If it haven't then you really have a broken RPM env. Please try to update as suggested by @valerius.
comment:11 by , 9 years ago
dmik:yum install gcc-wlink worked- thanks!
@valerius:yum update
[E:\]yum update
Setting up Update Process
No Packages marked for Update
yum install pkconfig
[E:\]yum install pkgconfig
Setting up Install Process
Package 1:pkgconfig-0.25-4.oc00.i686 already installed and latest version
Nothing to do
I tthought I'd figured out the problem -- maybe you use the i686 version of the required packages?, so I switched to them! All went well till I did:
[E:\]yum install libxml2
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libxml2.i686 0:2.7.7-5.oc00 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
libxml2 i686 2.7.7-5.oc00 netlabs-rel 976 k
Transaction Summary
================================================================================
Install 1 Package
Total size: 976 k
Installed size: 976 k
Is this ok [y/N]:y
Install 1 Package
Total size: 976 k
Installed size: 976 k
Is this ok [y/N]: y
Downloading Packages:
Running Transaction Check
Running Transaction Test
Transaction Check Error:
package libxml2-2.7.7-5.oc00.i686 is already installed
file /@unixroot/usr/bin/xmlcatalog.exe from install of libxml2-2.7.7-5.oc00.i6
86 conflicts with file from package libxml2-2.7.7-5.oc00.i386
file /@unixroot/usr/bin/xmllint.exe from install of libxml2-2.7.7-5.oc00.i686
conflicts with file from package libxml2-2.7.7-5.oc00.i386
file /@unixroot/usr/lib/libxml2.dll from install of libxml2-2.7.7-5.oc00.i686
conflicts with file from package libxml2-2.7.7-5.oc00.i386
Error Summary
And now still the same error in configure script:
# ./configure --with-ow-dir=$WATCOM --enable-vnc --disable-docs --out-path=/VBO
X
Checking for environment: Determined build machine: os2.x86, target machine: os2
.x86, OK.
Checking for kBuild: found, OK.
grep: Invalid back reference
Checking for gcc: found version 4.9.2, OK.
Checking for Open Watcom: found version 1.9, OK.
Checking for iasl: found version 20131115, OK.
Checking for xslt: found, OK.
Checking for mkisofs: found mkisofs 2.01.01a59 (i386-pc-os2_emx) Copyright (C) 1
993-1997 Eric Youngdale (C) 1997-2009 J÷rg Schilling, OK.
Checking for pthread: found, OK.
Checking for libxml2:
libxml2 not found!
Check /VBOX/configure.log for details
#
I give up! (yum/rpm has done me in!) Thank you both for you're help, I'm sure you have better ways to spend you're time, so I'll not bother you anymore.
@valerius: Thank you especially, for all the hard work you have put in compiling Virtualbox! It looks like you are getting close to workable version we all can use.
comment:12 by , 9 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
as you gave up I close the ticket. I have no idea how your build env looks like, but you can be sure all builds out of the box. We all use it.
Anyway a preview should be available rather soon now.
comment:13 by , 9 years ago
2dickk: If you need other arch than i386, you need to reinstall the yum/rpm environment (first delete your current \var and \usr trees, and install the bootstrap .WPI package: http://rpm.netlabs.org/bootstrap/rpm-yum-bootstrap-1_5-p4.wpi, then start the yum shell and follow the directions it gives)
It seems that your tool chain installation is broken so ILINK is used instead of WLINK. Do you have the
gcc-wlink
package installed? If so, do you haveSET EMXOMFLD_LINKER=wl.exe
andSET EMXOMFLD_TYPE=WLINK
in your CONFIG.SYS?