| Trolltech Home | Qt4-preview-feedback Home | Recent Threads | All Threads | Author | Date | |
| All threads index page 1 | |
Because of undefined symbol EIDRM. ========================= cd src/tools/moc/ && gmake -f Makefile gmake[1]: Entering directory `/home/daf/Qt/tp1/src/tools/moc' gmake[1]: Nothing to be done for `first'. gmake[1]: Leaving directory `/home/daf/Qt/tp1/src/tools/moc' cd src/tools/rcc/ && gmake -f Makefile gmake[1]: Entering directory `/home/daf/Qt/tp1/src/tools/rcc' gmake[1]: Nothing to be done for `first'. gmake[1]: Leaving directory `/home/daf/Qt/tp1/src/tools/rcc' cd src/tools/uic/ && gmake -f Makefile gmake[1]: Entering directory `/home/daf/Qt/tp1/src/tools/uic' gmake[1]: Nothing to be done for `first'. gmake[1]: Leaving directory `/home/daf/Qt/tp1/src/tools/uic' cd src/corelib/ && gmake -f Makefile gmake[1]: Entering directory `/home/daf/Qt/tp1/src/corelib' g++ -c -pipe -g -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -O2 -Wall -W -pthread -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_44_API_QSQLQUERY_FINISH -DQT3_SUPPORT -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -DGNU_LIBICONV -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/openbsd-g++ -I. -I../../include -I../../include/QtCore -Iconcurrent -Iglobal -I../3rdparty/harfbuzz/src -I.moc/release-shared -I.uic/release-shared -I/usr/local/include -o .obj/release-shared/qsystemsemaphore_unix.o kernel/qsystemsemaphore_unix.cpp kernel/qsystemsemaphore_unix.cpp: In member function `bool QSystemSemaphorePrivate::modifySemaphore(int)': kernel/qsystemsemaphore_unix.cpp:212: error: `EIDRM' undeclared (first use this function) kernel/qsystemsemaphore_unix.cpp:212: error: (Each undeclared identifier is reported only once for each function it appears in.) gmake[1]: *** [.obj/release-shared/qsystemsemaphore_unix.o] Error 1 gmake[1]: Leaving directory `/home/daf/Qt/tp1/src/corelib' gmake: *** [sub-corelib-make_default-ordered] Error 2 To unsubscribe - send "unsubscribe" in the subject to qt4-preview-feedback-request@xxxxxxxxxxxxx
YANSWBVCG wrote: >Because of undefined symbol EIDRM. Thanks, but OpenBSD is a community-supported platform. We require a patch fixing the problem by someone who has an OpenBSD. -- [ signature omitted ]
Attachment:
signature.asc
Description: This is a digitally signed message part.
On Fri, Dec 28, 2007 at 02:21:21PM -0200, Thiago Macieira wrote: > YANSWBVCG wrote: > >Because of undefined symbol EIDRM. > > Thanks, but OpenBSD is a community-supported platform. > > We require a patch fixing the problem by someone who has an OpenBSD. > > -- I looked for this symbol through all the OpenBSD include files, but did not find it. Should OpenBSD have this symbol defined somewhere (socket header file)? I am not an OpenBSD developer. I may soon switch to either FreeBSD or some flavor of Linux in order to be able to run various packages not available in 64-bit OpenBSD. To unsubscribe - send "unsubscribe" in the subject to qt4-preview-feedback-request@xxxxxxxxxxxxx
YANSWBVCG wrote: >On Fri, Dec 28, 2007 at 02:21:21PM -0200, Thiago Macieira wrote: >> YANSWBVCG wrote: >> >Because of undefined symbol EIDRM. >> >> Thanks, but OpenBSD is a community-supported platform. >> >> We require a patch fixing the problem by someone who has an OpenBSD. > >I looked for this symbol through all the OpenBSD include files, but >did not find it. Should OpenBSD have this symbol defined somewhere >(socket header file)? I am not an OpenBSD developer. I may soon >switch to either FreeBSD or some flavor of Linux in order to be able >to run various packages not available in 64-bit OpenBSD. It's an errno value. $ grep EIDRM /usr/include/asm-generic/errno.h #define EIDRM 43 /* Identifier removed */ It's used in response to a call to semop(2). Those are SystemV semaphores, so I am not surprised it fails to work on a BSD. A quick check for the man page on OpenBSD (http://www.rocketaware.com/man/man2/semop.2.htm) reveals the system call does exist, but there's no errno of EIDRM. -- [ signature omitted ]
Attachment:
signature.asc
Description: This is a digitally signed message part.
Hi, > Because of undefined symbol EIDRM. EIDRM has been added to the OpenBSD sources recently: http://www.openbsd.org/cgi-bin/cvsweb/src/sys/sys/errno.h Unfortunately the fix has not yet made it to OpenBSD 4.2: http://www.openbsd.org/cgi-bin/cvsweb/src/sys/sys/errno.h?only_with_tag=OPENBSD_4_2 EIDRM is documented under "BUGS" in the semop(2) OpenBSD 4.2 man page: http://www.openbsd.org/cgi-bin/man.cgi?query=semop&manpath=OpenBSD+4.2 My suggested fix for qsystemsemaphore_unix.cpp is: @@ -28,6 +28,11 @@ #include <sys/sem.h> +#if defined(Q_OS_OPENBSD) && !defined(EIDRM) +#define EIDRM EINVAL +#endif + + QT_BEGIN_NAMESPACE // We have to define this as on some sem.h will have it Does it work for you? -- [ signature omitted ]