Closed
Bug 190531
Opened 22 years ago
Closed 10 years ago
prlog.c doesn't compile on Tru64Unix
Categories
(NSPR :: NSPR, defect, P2)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: mmokrejs, Assigned: wtc)
References
Details
Attachments
(1 file)
2.47 KB,
text/plain
|
Details |
User-Agent: Mozilla/4.78 [en] (X11; U; OSF1 V5.1 alpha) Build Identifier: Hi, I've hit another problem: cc -std1 -ieee_with_inexact -readonly_strings -o prlog.o -c -I/software/@sys/usr/include -I/usr/local/include -I/usr/local/openssl/include -O2 -arch ev56 -g -UNDEBUG -DDEBUG_root -DMOZILLA_CLIENT=1 -DDEBUG=1 -DXP_UNIX=1 -DOSF1=1 -D_REENTRANT=1 -D_PR_POLL_WITH_SELECT=1 -DOSF1_HAVE_MACHINE_BUILTINS_H=1 -DHAVE_FCNTL_FILE_LOCKING=1 -DHAVE_POINTER_LOCALTIME_R=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 -DFORCE_PR_LOG -D_NSPR_BUILD_ -I/usr/local/scratch/mozilla/dist/include/nspr -I../../../pr/include -I../../../pr/include/private prlog.c cc: Info: File not optimized; use -g3 if both optimization and debug wanted. (suppressoptlvl) cc: Warning: prlog.c, line 445: In the initializer for _me, "_MD_CURRENT_THREAD(...)" of type "int", is being converted to "pointer to struct PRThread". (cvtdiftypes) _PR_LOCK_LOG(); ----^ cc: Warning: prlog.c, line 463: In this statement, "_MD_CURRENT_THREAD(...)" of type "int", is being converted to "pointer to struct PRThread". (cvtdiftypes) _PR_UNLOCK_LOG(); ----^ cc: Error: prlog.c, line 463: In this statement, "(_MD_CURRENT_CPU(...))" has a signed int type, but occurs in a context that requires a pointer. (needpointer) _PR_UNLOCK_LOG(); ----^ cc: Warning: prlog.c, line 463: In this statement, "(_MD_CURRENT_CPU(...))" of type "int", is being converted to "pointer to struct _PRCPU". (cvtdiftypes) _PR_UNLOCK_LOG(); ----^ cc: Warning: prlog.c, line 470: In the initializer for _me, "_MD_CURRENT_THREAD(...)" of type "int", is being converted to "pointer to struct PRThread". (cvtdiftypes) _PR_LOCK_LOG(); --------^ cc: Warning: prlog.c, line 475: In this statement, "_MD_CURRENT_THREAD(...)" of type "int", is being converted to "pointer to struct PRThread". (cvtdiftypes) _PR_UNLOCK_LOG(); --------^ cc: Error: prlog.c, line 475: In this statement, "(_MD_CURRENT_CPU(...))" has a signed int type, but occurs in a context that requires a pointer. (needpointer) _PR_UNLOCK_LOG(); --------^ cc: Warning: prlog.c, line 475: In this statement, "(_MD_CURRENT_CPU(...))" of type "int", is being converted to "pointer to struct _PRCPU". (cvtdiftypes) _PR_UNLOCK_LOG(); --------^ make[5]: *** [prlog.o] Error 1 make[5]: Leaving directory `/usr/local/scratch/mozilla/nsprpub/pr/src/io' Another problem is that the *FLAGS from config.status get overriden in some directories, like mozilla/nsprpub/pr/src/io. I've explicitly set "-g3" in CFLAGS and CXXFLAGS, but as you see above, there's -g set only. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Comment 1•22 years ago
|
||
-> NSPR
Assignee: seawood → wtc
Component: Build Config → NSPR
Product: Browser → NSPR
QA Contact: granrose → wtc
Version: Trunk → 4.2.1
Assignee | ||
Comment 2•22 years ago
|
||
*** Bug 167960 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 3•22 years ago
|
||
I need the flags you passed to configure and your generated nsprpub/config/autoconf.mk file. The reason the compilation of prlog.c failed is that -D_PR_THREADS=1 is not in the compile command line. Did you pass --without-pthreads to configure?
Reporter | ||
Comment 4•22 years ago
|
||
$ ./configure --enable-crypto --with-libIDL-prefix=/software/@sys/usr [...] $ cat nsprpub/config/autoconf.mk # -*- Mode: Makefile -*- INCLUDED_AUTOCONF_MK = 1 USE_AUTOCONF = 1 SHELL = /usr/bin/ksh MOZILLA_CLIENT = 1 prefix = /usr/local exec_prefix = ${prefix} bindir = ${exec_prefix}/bin includedir = ${prefix}/include/nspr libdir = ${exec_prefix}/lib datadir = ${prefix}/share dist_prefix = /usr/local/scratch/mozilla/dist dist_bindir = ${dist_prefix}/bin dist_includedir = ${dist_prefix}/include/nspr dist_libdir = ${dist_prefix}/lib DIST = $(dist_prefix) RELEASE_OBJDIR_NAME = OSF1V5.1_64_DBG.OBJ OBJDIR_NAME = . OBJDIR = . OBJ_SUFFIX = o LIB_SUFFIX = a DLL_SUFFIX = so ASM_SUFFIX = s MOD_NAME = nspr20 MOD_MAJOR_VERSION = 4 MOD_MINOR_VERSION = 3 MOD_REVISION_VERSION = 0 LIBNSPR = -L$(dist_libdir) -lnspr$(MOD_MAJOR_VERSION) LIBPLC = -L$(dist_libdir) -lplc$(MOD_MAJOR_VERSION) CROSS_COMPILE = BUILD_OPT = USE_CPLUS = USE_IPV6 = USE_N32 = USE_64 = 1 GC_LEAK_DETECTOR = ENABLE_STRIP = USE_PTHREADS = USE_BTHREADS = PTHREADS_USER = CLASSIC_NSPR = AS = $(CC) ASFLAGS = $(CFLAGS) CC = cc -std1 -ieee_with_inexact -readonly_strings CCC = cxx NS_USE_GCC = AR = /usr/bin/ar AR_FLAGS = cr $@ LD = /usr/bin/ld RANLIB = ranlib PERL = /software/@sys/usr/bin/perl RC = RCFLAGS = STRIP = /usr/bin/strip NSINSTALL = $(MOD_DEPTH)/config/$(OBJDIR_NAME)/nsinstall FILTER = IMPLIB = CYGWIN_WRAPPER = OS_CPPFLAGS = -I/software/@sys/usr/include -I/usr/local/include -I/usr/local/openssl/include OS_CFLAGS = $(OS_CPPFLAGS) -O2 -arch ev56 -g $(DSO_CFLAGS) OS_CXXFLAGS = $(OS_CPPFLAGS) -O2 -arch ev56 -g $(DSO_CFLAGS) OS_LIBS = OS_LDFLAGS = OS_DLLFLAGS = DLLFLAGS = EXEFLAGS = OPTIMIZER = MKSHLIB = $(LD) $(DSO_LDOPTS) -o $@ DSO_CFLAGS = DSO_LDOPTS = -shared -all -expect_unresolved "*" -soname $(notdir $@) RESOLVE_LINK_SYMBOLS = HOST_CC = cc HOST_CFLAGS = -O2 -arch ev56 -DXP_UNIX DEFINES = -UNDEBUG -DDEBUG_root -DMOZILLA_CLIENT=1 -DDEBUG=1 -DXP_UNIX=1 -DOSF1=1 -D_REENTRANT=1 -D_PR_POLL_WITH_SELECT=1 -DOSF1_HAVE_MACHINE_BUILTINS_H=1 -DHAVE_FCNTL_FILE_LOCKING=1 -DHAVE_POINTER_LOCALTIME_R=1 -DHAVE_LCHOWN=1 -DHAVE_STRERROR=1 MDCPUCFG_H = _osf1.cfg PR_MD_CSRCS = osf1.c PR_MD_ASFILES = PR_MD_ARCH_DIR = unix CPU_ARCH = OS_TARGET = OSF1 OS_ARCH = OSF1 OS_RELEASE = V5.1 OS_TEST = alpha NOSUCHFILE = /no-such-file AIX_LINK_OPTS = MOZ_OBJFORMAT = ULTRASPARC_LIBRARY = OBJECT_MODE = ifdef OBJECT_MODE export OBJECT_MODE endif $
Assignee | ||
Comment 5•22 years ago
|
||
I found an OSF1 V5.1A machine (mainz.mcom.com) so I have confirmed this bug. Here is the error message from the configure test that should have succeeded: configure:4967: checking for pthread_create in -lpthread cc -std1 -ieee_with_inexact -readonly_strings -o dummy dummy.c -lpthread cc: Error: /usr/include/pthread.h, line 1251: #error "Please compile the module including pthread.h with -pthread" (errormessage) # error "Please compile the module including pthread.h with -pthread" ---^ This means the MOZ_CHECK_PTHREADS function needs to be enhanced to compile the test program with the -pthread compiler flag on OSF1. This is not easy to do, so for now I suggest that you add -pthread to your CFLAGS as a workaround. (I believe you are setting CFLAGS to "-O2 -arch ev56" right now.) This workaround causes a problem that OS_LIBS is incorrectly set to -lpthreads (the correct value is -lpthread) in nsprpub/config/autoconf.mk. Fortunately NSPR makefiles always override OS_LIBS on OSF1. So it'll still work for you.
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Priority: -- → P1
Target Milestone: --- → 4.3
Reporter | ||
Comment 6•22 years ago
|
||
Yes, adding -pthread to CFLAGS helped. Thanks.
Reporter | ||
Comment 7•22 years ago
|
||
How about http://www.gnu.org/software/ac-archive/htmldoc/acx_pthread.html to fix the configure stuff?
Assignee | ||
Comment 8•22 years ago
|
||
Thank you for the suggestion. I am not sure if we can use that macro, which is licensed only under the GPL, because our configure.in script is dual-licensed under MPL/GPL.
Assignee | ||
Updated•22 years ago
|
Priority: P1 → P2
Updated•21 years ago
|
Flags: blocking1.4?
Reporter | ||
Comment 10•21 years ago
|
||
I have successfully compiled 1.6a. I attach the nsprpub/config/autoconf.mk file. Unfortunately, mozilla doesn't start, but that's another issue.
Reporter | ||
Comment 11•21 years ago
|
||
Reporter | ||
Comment 12•21 years ago
|
||
I configured as follows: CFLAGS="-O0 -arch ev56 -g2 -pthread" CXXFLAGS="-O0 -arch ev56 -g2" ./configure --enable-crypto --with-libIDL-prefix=/software/@sys/usr --prefix=/software/@sys/usr --enable-debug-modules --enable-debugger-info-modules
Reporter | ||
Comment 13•21 years ago
|
||
The previous snapshot I compiled with cc/cxx. I tried now current snapshot of 1.6a with gcc/g++ (3.3) and it failed: checking for pthread_create in -lpthreads... no checking for pthread_create in -lpthread... no checking for pthread_create in -lc_r... no checking for pthread_create in -lc... no I remember that threads are not supported on Tru64Unix under gcc-3. If threads are required for prlog.c to compiled, configure should take care of that. The conclusion now is: on Tru64Unix gcc-3 cannot be used to compile mozilla prlog.c. cxx can't be used either because of gfx/src/ps/ using freetype2.
Reporter | ||
Comment 14•21 years ago
|
||
The problems on my unix with Freetype2 arise from fact that when freetype1 and freetype2 is installed in same $prefix, some headers get included from freetype2 and some from freetype1. The problem was noted by freetype developers. Maybe, the easiest would be to check in configure if also freetype1 headers are available and if yes, possible exit and ask user to uninstall freetype1. That's anyway what Freetype developers says.
Reporter | ||
Comment 15•21 years ago
|
||
Does configure die when freetype1 headers are included? Note my last comment. The problem is that when freetype1 and freetype2 were installed into same $prefix (mostly as it is default), mozill awill have these problems to build and very difficult to track. Find a way to check for $prefix of freetype1 and $freetype2 specific headers. If $prefix'es same, then die. The problem is that freetype2 install process already overwrote some freetype1 headers. :( .. so you might not be able to get configure test succeeding on freetype1 either because the are not installe dor that were already overwritten. Maybe figuring out $prefix of freetype and then doing "test -f $prefix/some-freetype1_header_file.h" would be just fine.
Updated•18 years ago
|
QA Contact: wtchang → nspr
Comment 16•17 years ago
|
||
The target milestone is already released. Resetting target milestone.
Target Milestone: 4.3 → ---
Assignee | ||
Updated•10 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•