Pike 8.0.608 beta/release candidate:
https://pike.lysator.liu.se/pub/pike/beta/8.0.608/Pike-v8.0.608.tar.gz
Other builds:
https://pike.lysator.liu.se/pub/pike/beta/8.0.608/Pike-v8.0.608-Darwin-15.4....
https://pike.lysator.liu.se/pub/pike/beta/8.0.608/Pike-v8.0.608-win32-oldlib...
Real Mac binary from Bill soon hopefully
Changes since Pike 8.0.498 (release 11) ----------------------------------------------------------------------
New Features ------------
o Crypto.Hash.SCRAM
New class to support SCRAM authentication.
o Concurrent
- Add map_with() as an alias to flat_map().
- Add a convenience variant to zip().
- depend() can be used to collect multiple dependencies before finalising the Promise.
o Debug.find_all_clones()
New convenience function to find all objects that are clones of a program.
o MIME
Added a setter for the message boundary prefix.
o Sql.pgsql
- Added support for PostgreSQL 10's stronger password authentication (SCRAM-SHA-256).
- Slightly reduced overhead.
- Support IEEE binary float database-wireformat.
- Support NUMERIC database-wireformat.
- Prevent new queries from starting in the local_backend.
- Make sure huge queries are not fully loaded into memory.
o Sql.Sql
Make big_typed_query() gracefully fallback to big_query().
o SSL.File
Support query_fd() and set_buffer_mode() methods.
o Stdio.File [NT]
A major clean-up and consistency improvment of the I/O layer on NT.
- All filesystem paths are now encoded in UTF-8 from Pike-code's point of view. Previously this was a mix of Latin-1 and UTF-16, with some stuff affected by the filesystem default character set.
This makes the entire filesystem accessible from Pike-code.
This new behavior can be detected by the presence of the constant Stdio.__HAVE_UTF8_FS__.
- Added new low-level fd handling functions.
This should fix several potential race-conditions in the I/O layer on NT.
o Stdio.Terminfo
Support the new terminfo format from ncurses 6.
o Thread.Farm
Added Thread.Farm()->set_thread_name_cb() to help applications that monitor thread creation and termination for the purpose of tracking thread names.
o Thread.ResourceCount
New module to allow threadsafe race-condition-free counting of resources.
o Tools.Standalone.check_http
- Allow redirect responses.
- Support --expect option.
o Web.Sass
This is a module that interfaces to the SASS compilation library "LibSass" (https://github.com/sass/libsass).
Bug fixes ---------
o ADT.CritBit
- Due to an off-by-one error the last limb of bignums was never compared. This resulted (sometimes) in unequal bignums comparing equal inside of the tree.
o Compiler
- Improved variant robustness.
- Fixed type leak for getters/setters implemented with variant functions.
o Calendar
- Updated tzdata to 2018d.
- Calendar.TimeRanges.NullTimeRange now has a working __hash(). The expression ([ Calendar.TimeRanges.nulltimerange : 17 ]) no longer gives a backtrace.
o Concurrent
- Less filling, deadlock-free, faster, available without running backend.
- Handle an empty argument array properly in results().
Previously code such as:
Concurrent.Future f2 = Concurrent.results(({}));
f2->on_success(lambda(array(string) a) { werror("success: %O.\n", a); }) ->on_failure(lambda(mixed err) { werror (describe_backtrace(err)); });
would lead to a backtrace because the future was destructed prematurely.
- Readable/understandable documentation.
o Crypto.CCM
Fixed initialization of the iv.
o Crypto.Hash
Censor the password argument from backtraces in crypt_hash().
o Filesystem.Monitor
- Fixed some backend_check rescheduling isusues.
adjust_monitor() didn't reschedule the backend_check() call_out if the adjusted monitor already was at the head of monitor_queue. This caused polls to be delayed in some common cases.
register_path() didn't reschedule the backend_check() call_out. If the newly registered monitor ends up at the head of the monitor_queue, the backend_check() call_out likely needs to be rescheduled.
- Fixed issue with next_poll being set to zero causing polling every second.
- Fixed indexing the NULL value error when InotifyMonitor was used in combination with a filter_file() that doesn't accept everything.
- Fixed incorrect creation of new monitors.
Monitors were created using monitor() on the top level rather than using Monitor::monitor(), which prevented the symlinks' overridden DefaultMonitor from setting the correct state on newly created monitors.
We now force a check on the directory monitor instead, which will pick up the new file instantly and create the sub monitor.
- Fixed race condition on deletion.
This fixes a race that could occur on rapid exists => delete => exists transitions, where the directory monitor never noticed the change but the sub monitor was removed from the monitor lookup mapping. The directory monitor is now notified on sub-monitor release.
- Added set_stable_time() function.
- Removed obsolete special case for co_id == 1.
o HTTPLoop:
Fixed some potential race conditions.
o Image.Image
- Improved argument checking in apply_curve(). Non-integer array values lead to use of uninitialized curve values.
o Image.PVR
Fixed size check for twiddled images.
o MIME
Support trailing newline in MIME part epilogues.
o Protocols.HTTP.Query
- Fixed incoming chunked transfers (timed async works now, chunk options are properly 'parsed'). Trailer headers are now correctly parsed.
- Improved handling of multiple headers of the same kind.
- Fixed a bug where base64 encoded HTTP basic auth tokens were encoded in a pretty-printed format including line breaks, which lead to malformed HTTP requests on long username and password combinations.
- Do not wait for SSL.File()->close() to complete when called from the destruct() callback.
o Protocols.HTTP.Server
- The header parser exception mode now doesn't immediately throw an exception.
- Attempt to ensure that data is sent before terminating an HTTPS connection.
o Protocols.LDAP
Fixed race condition on initializing LDAPS.
o Search.Database.MySQL
Fixed issue where blobs didn't get updated after the initial blobs got full.
o Search.Utils
Updated debug string format.
o Sql.pgsql
- Suppress spurious 'File not open' blurts on stderr when the connection is still pending and we inspect the connection object.
- Signal EOF early before closing the SQL result portal and thoroughly cleanup bufcon/stashcount to prevent occasional deadlocks on asynchronous object destructions.
- Suppress rare "access in destructed object" messages.
- Simplified fundamentally flawed reconnect logic, made failures consistent.
- Repair SSL connect logic.
- Update documentation.
- Repair fetch_row_array().
- Ensure that all database errors result in exceptions (eventually).
- affected_rows() and status_command_complete() now wait until they have a meaningful result to report.
- Closing the database will wait until all running queries have been committed.
- Report correct number of affected_rows() for INSERTs.
- Eliminate a rare deadlock when running many simultaneous queries on a single filedescriptor.
o mktime/System.TM
- Make timezone management consistent (especially UTC handling).
- Fix memory leak in strftime().
o Standards.IIM
Disabled debug output for unknown segment markers.
o Stdio
- Restore the FD_SETSIZE on NT to 65536.
Due to #include file restructuring, the FD_SETSIZE value on NT had fallen back to the default (64). This issue has probably affected all releases of Pike since 7.9.2.
- mv() [NT]
Fixed single byte buffer overrun in mv() on NT.
A NUL-terminator was written outside a malloced buffer. This caused intermittent crashes after unusual use of mv().
Fixes the crash in [PIKE-90].
- send_file()
Improved support for TLS/SSL; wait for TLS handshake to complete before calling the sendfile done callback when sending an empty string. This fixes the issue where the connection got closed before TLS handshaking was completed, confusing the other side.
o Image
Creating images with mode "grey" now works as documented, e.g. Image.Image(10,10,"grey",123);
Optimizations -------------
o mktime/System.TM
Considerable speedup and a reduction in codesize.
o Unicode
Avoid scanning the string in NFC mode if the string is 8-bit, as NFC normalization of 8-bit strings is the identity function.
Building & Tools ----------------
o Hilfe
Fix commands having priority over code. [LysLysKOM 22552693].
o Image.SVG
Fall back to using the unprefixed pkg-config if the arch-prefixed doesn't exist.
o Mysql
Support MariaDB 10.2 headerfiles.
o export
- Fixed fix_configure.
This was broken in multiple ways:
* Did not consider timestamp on aclocal.m4 * Did not consider post_modules * Did not check configure scripts directly under modules or post_modules * When fixing modules, it looked for the configure scripts in the build directory rather than the source directory * Did not use the run_autoconfig wrapper
This has caused xenofarm to export snapshots with out of date configure scripts.
o precompile
Support precompilation with Pike 8.1 again.
o run_autoconfig
Fix localdir when relative and not "./"
o smartlink
Fixed multiple issues on Darwin & NetBSD.
o Whitefish
Use the standard VPATH.
o Yp
Support using libtirpc. Glibc 2.26 has removed the Sun RPC implementation...
Regards,
64-bit MacOS 10.9+ binary is tested and uploaded.
On May 11, 2018, at 5:09 PM, Peter Bortas bortas@gmail.com wrote:
Pike 8.0.608 beta/release candidate:
https://pike.lysator.liu.se/pub/pike/beta/8.0.608/Pike-v8.0.608.tar.gz
Other builds:
https://pike.lysator.liu.se/pub/pike/beta/8.0.608/Pike-v8.0.608-Darwin-15.4....
https://pike.lysator.liu.se/pub/pike/beta/8.0.608/Pike-v8.0.608-win32-oldlib...
Real Mac binary from Bill soon hopefully
Changes since Pike 8.0.498 (release 11)
New Features
o Crypto.Hash.SCRAM
New class to support SCRAM authentication.
o Concurrent
Add map_with() as an alias to flat_map().
Add a convenience variant to zip().
depend() can be used to collect multiple dependencies before finalising the Promise.
o Debug.find_all_clones()
New convenience function to find all objects that are clones of a program.
o MIME
Added a setter for the message boundary prefix.
o Sql.pgsql
Added support for PostgreSQL 10's stronger password authentication (SCRAM-SHA-256).
Slightly reduced overhead.
Support IEEE binary float database-wireformat.
Support NUMERIC database-wireformat.
Prevent new queries from starting in the local_backend.
Make sure huge queries are not fully loaded into memory.
o Sql.Sql
Make big_typed_query() gracefully fallback to big_query().
o SSL.File
Support query_fd() and set_buffer_mode() methods.
o Stdio.File [NT]
A major clean-up and consistency improvment of the I/O layer on NT.
All filesystem paths are now encoded in UTF-8 from Pike-code's point of view. Previously this was a mix of Latin-1 and UTF-16, with some stuff affected by the filesystem default character set.
This makes the entire filesystem accessible from Pike-code.
This new behavior can be detected by the presence of the constant Stdio.__HAVE_UTF8_FS__.
Added new low-level fd handling functions.
This should fix several potential race-conditions in the I/O layer on NT.
o Stdio.Terminfo
Support the new terminfo format from ncurses 6.
o Thread.Farm
Added Thread.Farm()->set_thread_name_cb() to help applications that monitor thread creation and termination for the purpose of tracking thread names.
o Thread.ResourceCount
New module to allow threadsafe race-condition-free counting of resources.
o Tools.Standalone.check_http
Allow redirect responses.
Support --expect option.
o Web.Sass
This is a module that interfaces to the SASS compilation library "LibSass" (https://github.com/sass/libsass).
Bug fixes
o ADT.CritBit
- Due to an off-by-one error the last limb of bignums was never compared. This resulted (sometimes) in unequal bignums comparing equal inside of the tree.
o Compiler
Improved variant robustness.
Fixed type leak for getters/setters implemented with variant functions.
o Calendar
Updated tzdata to 2018d.
Calendar.TimeRanges.NullTimeRange now has a working __hash(). The expression ([ Calendar.TimeRanges.nulltimerange : 17 ]) no longer gives a backtrace.
o Concurrent
Less filling, deadlock-free, faster, available without running backend.
Handle an empty argument array properly in results().
Previously code such as:
Concurrent.Future f2 = Concurrent.results(({}));
f2->on_success(lambda(array(string) a) { werror("success: %O.\n", a);
}) ->on_failure(lambda(mixed err) { werror (describe_backtrace(err)); });
would lead to a backtrace because the future was destructed prematurely.
- Readable/understandable documentation.
o Crypto.CCM
Fixed initialization of the iv.
o Crypto.Hash
Censor the password argument from backtraces in crypt_hash().
o Filesystem.Monitor
Fixed some backend_check rescheduling isusues.
adjust_monitor() didn't reschedule the backend_check() call_out if the adjusted monitor already was at the head of monitor_queue. This caused polls to be delayed in some common cases.
register_path() didn't reschedule the backend_check() call_out. If the newly registered monitor ends up at the head of the
monitor_queue, the backend_check() call_out likely needs to be rescheduled.
Fixed issue with next_poll being set to zero causing polling every second.
Fixed indexing the NULL value error when InotifyMonitor was used in combination with a filter_file() that doesn't accept everything.
Fixed incorrect creation of new monitors.
Monitors were created using monitor() on the top level rather than using Monitor::monitor(), which prevented the symlinks' overridden DefaultMonitor from setting the correct state on newly created monitors.
We now force a check on the directory monitor instead, which will pick up the new file instantly and create the sub monitor.
Fixed race condition on deletion.
This fixes a race that could occur on rapid exists => delete => exists transitions, where the directory monitor never noticed the change but the sub monitor was removed from the monitor lookup mapping. The directory monitor is now notified on sub-monitor release.
Added set_stable_time() function.
Removed obsolete special case for co_id == 1.
o HTTPLoop:
Fixed some potential race conditions.
o Image.Image
- Improved argument checking in apply_curve(). Non-integer array values lead to use of uninitialized curve values.
o Image.PVR
Fixed size check for twiddled images.
o MIME
Support trailing newline in MIME part epilogues.
o Protocols.HTTP.Query
Fixed incoming chunked transfers (timed async works now, chunk options are properly 'parsed'). Trailer headers are now correctly parsed.
Improved handling of multiple headers of the same kind.
Fixed a bug where base64 encoded HTTP basic auth tokens were encoded in
a pretty-printed format including line breaks, which lead to malformed HTTP requests on long username and password combinations.
- Do not wait for SSL.File()->close() to complete when called from the destruct() callback.
o Protocols.HTTP.Server
The header parser exception mode now doesn't immediately throw an exception.
Attempt to ensure that data is sent before terminating an HTTPS connection.
o Protocols.LDAP
Fixed race condition on initializing LDAPS.
o Search.Database.MySQL
Fixed issue where blobs didn't get updated after the initial blobs got full.
o Search.Utils
Updated debug string format.
o Sql.pgsql
Suppress spurious 'File not open' blurts on stderr when the connection is still pending and we inspect the connection object.
Signal EOF early before closing the SQL result portal and thoroughly cleanup bufcon/stashcount to prevent occasional deadlocks on asynchronous object destructions.
Suppress rare "access in destructed object" messages.
Simplified fundamentally flawed reconnect logic, made failures
consistent.
Repair SSL connect logic.
Update documentation.
Repair fetch_row_array().
Ensure that all database errors result in exceptions (eventually).
affected_rows() and status_command_complete() now wait until they have a meaningful result to report.
Closing the database will wait until all running queries have been committed.
Report correct number of affected_rows() for INSERTs.
Eliminate a rare deadlock when running many simultaneous queries on a single filedescriptor.
o mktime/System.TM
Make timezone management consistent (especially UTC handling).
Fix memory leak in strftime().
o Standards.IIM
Disabled debug output for unknown segment markers.
o Stdio
Restore the FD_SETSIZE on NT to 65536.
Due to #include file restructuring, the FD_SETSIZE value on NT had fallen back to the default (64). This issue has probably affected all releases of Pike since 7.9.2.
mv() [NT]
Fixed single byte buffer overrun in mv() on NT.
A NUL-terminator was written outside a malloced buffer. This caused intermittent crashes after unusual use of mv().
Fixes the crash in [PIKE-90].
send_file()
Improved support for TLS/SSL; wait for TLS handshake to complete before calling the sendfile done callback when sending an empty string. This fixes the issue where the connection got closed before TLS handshaking was completed, confusing the other side.
o Image
Creating images with mode "grey" now works as documented, e.g. Image.Image(10,10,"grey",123);
Optimizations
o mktime/System.TM
Considerable speedup and a reduction in codesize.
o Unicode
Avoid scanning the string in NFC mode if the string is 8-bit, as NFC normalization of 8-bit strings is the identity function.
Building & Tools
o Hilfe
Fix commands having priority over code. [LysLysKOM 22552693].
o Image.SVG
Fall back to using the unprefixed pkg-config if the arch-prefixed doesn't exist.
o Mysql
Support MariaDB 10.2 headerfiles.
o export
Fixed fix_configure.
This was broken in multiple ways:
- Did not consider timestamp on aclocal.m4
- Did not consider post_modules
- Did not check configure scripts directly under modules or post_modules
- When fixing modules, it looked for the configure scripts in the build directory rather than the source directory
- Did not use the run_autoconfig wrapper
This has caused xenofarm to export snapshots with out of date configure scripts.
o precompile
Support precompilation with Pike 8.1 again.
o run_autoconfig
Fix localdir when relative and not "./"
o smartlink
Fixed multiple issues on Darwin & NetBSD.
o Whitefish
Use the standard VPATH.
o Yp
Support using libtirpc. Glibc 2.26 has removed the Sun RPC implementation...
Regards,
Peter Bortas
I also have RPMs for EL/Centos 6/7 as well if anyone wants to give those a try. Just let me know and I’ll put them somewhere.
Bill
On May 12, 2018, at 6:40 PM, H. William Welliver III william@welliver.org wrote:
64-bit MacOS 10.9+ binary is tested and uploaded.
On May 11, 2018, at 5:09 PM, Peter Bortas bortas@gmail.com wrote:
Pike 8.0.608 beta/release candidate:
https://pike.lysator.liu.se/pub/pike/beta/8.0.608/Pike-v8.0.608.tar.gz
Other builds:
https://pike.lysator.liu.se/pub/pike/beta/8.0.608/Pike-v8.0.608-Darwin-15.4....
https://pike.lysator.liu.se/pub/pike/beta/8.0.608/Pike-v8.0.608-win32-oldlib...
Real Mac binary from Bill soon hopefully
Changes since Pike 8.0.498 (release 11)
New Features
o Crypto.Hash.SCRAM
New class to support SCRAM authentication.
o Concurrent
Add map_with() as an alias to flat_map().
Add a convenience variant to zip().
depend() can be used to collect multiple dependencies before finalising the Promise.
o Debug.find_all_clones()
New convenience function to find all objects that are clones of a program.
o MIME
Added a setter for the message boundary prefix.
o Sql.pgsql
Added support for PostgreSQL 10's stronger password authentication (SCRAM-SHA-256).
Slightly reduced overhead.
Support IEEE binary float database-wireformat.
Support NUMERIC database-wireformat.
Prevent new queries from starting in the local_backend.
Make sure huge queries are not fully loaded into memory.
o Sql.Sql
Make big_typed_query() gracefully fallback to big_query().
o SSL.File
Support query_fd() and set_buffer_mode() methods.
o Stdio.File [NT]
A major clean-up and consistency improvment of the I/O layer on NT.
All filesystem paths are now encoded in UTF-8 from Pike-code's point of view. Previously this was a mix of Latin-1 and UTF-16, with some stuff affected by the filesystem default character set.
This makes the entire filesystem accessible from Pike-code.
This new behavior can be detected by the presence of the constant Stdio.__HAVE_UTF8_FS__.
Added new low-level fd handling functions.
This should fix several potential race-conditions in the I/O layer on NT.
o Stdio.Terminfo
Support the new terminfo format from ncurses 6.
o Thread.Farm
Added Thread.Farm()->set_thread_name_cb() to help applications that monitor thread creation and termination for the purpose of tracking thread names.
o Thread.ResourceCount
New module to allow threadsafe race-condition-free counting of resources.
o Tools.Standalone.check_http
Allow redirect responses.
Support --expect option.
o Web.Sass
This is a module that interfaces to the SASS compilation library "LibSass" (https://github.com/sass/libsass).
Bug fixes
o ADT.CritBit
- Due to an off-by-one error the last limb of bignums was never compared. This resulted (sometimes) in unequal bignums comparing equal inside of the tree.
o Compiler
Improved variant robustness.
Fixed type leak for getters/setters implemented with variant functions.
o Calendar
Updated tzdata to 2018d.
Calendar.TimeRanges.NullTimeRange now has a working __hash(). The expression ([ Calendar.TimeRanges.nulltimerange : 17 ]) no longer gives a backtrace.
o Concurrent
Less filling, deadlock-free, faster, available without running backend.
Handle an empty argument array properly in results().
Previously code such as:
Concurrent.Future f2 = Concurrent.results(({}));
f2->on_success(lambda(array(string) a) { werror("success: %O.\n", a);
}) ->on_failure(lambda(mixed err) { werror (describe_backtrace(err)); });
would lead to a backtrace because the future was destructed prematurely.
- Readable/understandable documentation.
o Crypto.CCM
Fixed initialization of the iv.
o Crypto.Hash
Censor the password argument from backtraces in crypt_hash().
o Filesystem.Monitor
Fixed some backend_check rescheduling isusues.
adjust_monitor() didn't reschedule the backend_check() call_out if the adjusted monitor already was at the head of monitor_queue. This caused polls to be delayed in some common cases.
register_path() didn't reschedule the backend_check() call_out. If the newly registered monitor ends up at the head of the
monitor_queue, the backend_check() call_out likely needs to be rescheduled.
Fixed issue with next_poll being set to zero causing polling every second.
Fixed indexing the NULL value error when InotifyMonitor was used in combination with a filter_file() that doesn't accept everything.
Fixed incorrect creation of new monitors.
Monitors were created using monitor() on the top level rather than using Monitor::monitor(), which prevented the symlinks' overridden DefaultMonitor from setting the correct state on newly created monitors.
We now force a check on the directory monitor instead, which will pick up the new file instantly and create the sub monitor.
Fixed race condition on deletion.
This fixes a race that could occur on rapid exists => delete => exists transitions, where the directory monitor never noticed the change but the sub monitor was removed from the monitor lookup mapping. The directory monitor is now notified on sub-monitor release.
Added set_stable_time() function.
Removed obsolete special case for co_id == 1.
o HTTPLoop:
Fixed some potential race conditions.
o Image.Image
- Improved argument checking in apply_curve(). Non-integer array values lead to use of uninitialized curve values.
o Image.PVR
Fixed size check for twiddled images.
o MIME
Support trailing newline in MIME part epilogues.
o Protocols.HTTP.Query
Fixed incoming chunked transfers (timed async works now, chunk options are properly 'parsed'). Trailer headers are now correctly parsed.
Improved handling of multiple headers of the same kind.
Fixed a bug where base64 encoded HTTP basic auth tokens were encoded in
a pretty-printed format including line breaks, which lead to malformed HTTP requests on long username and password combinations.
- Do not wait for SSL.File()->close() to complete when called from the destruct() callback.
o Protocols.HTTP.Server
The header parser exception mode now doesn't immediately throw an exception.
Attempt to ensure that data is sent before terminating an HTTPS connection.
o Protocols.LDAP
Fixed race condition on initializing LDAPS.
o Search.Database.MySQL
Fixed issue where blobs didn't get updated after the initial blobs got full.
o Search.Utils
Updated debug string format.
o Sql.pgsql
Suppress spurious 'File not open' blurts on stderr when the connection is still pending and we inspect the connection object.
Signal EOF early before closing the SQL result portal and thoroughly cleanup bufcon/stashcount to prevent occasional deadlocks on asynchronous object destructions.
Suppress rare "access in destructed object" messages.
Simplified fundamentally flawed reconnect logic, made failures
consistent.
Repair SSL connect logic.
Update documentation.
Repair fetch_row_array().
Ensure that all database errors result in exceptions (eventually).
affected_rows() and status_command_complete() now wait until they have a meaningful result to report.
Closing the database will wait until all running queries have been committed.
Report correct number of affected_rows() for INSERTs.
Eliminate a rare deadlock when running many simultaneous queries on a single filedescriptor.
o mktime/System.TM
Make timezone management consistent (especially UTC handling).
Fix memory leak in strftime().
o Standards.IIM
Disabled debug output for unknown segment markers.
o Stdio
Restore the FD_SETSIZE on NT to 65536.
Due to #include file restructuring, the FD_SETSIZE value on NT had fallen back to the default (64). This issue has probably affected all releases of Pike since 7.9.2.
mv() [NT]
Fixed single byte buffer overrun in mv() on NT.
A NUL-terminator was written outside a malloced buffer. This caused intermittent crashes after unusual use of mv().
Fixes the crash in [PIKE-90].
send_file()
Improved support for TLS/SSL; wait for TLS handshake to complete before calling the sendfile done callback when sending an empty string. This fixes the issue where the connection got closed before TLS handshaking was completed, confusing the other side.
o Image
Creating images with mode "grey" now works as documented, e.g. Image.Image(10,10,"grey",123);
Optimizations
o mktime/System.TM
Considerable speedup and a reduction in codesize.
o Unicode
Avoid scanning the string in NFC mode if the string is 8-bit, as NFC normalization of 8-bit strings is the identity function.
Building & Tools
o Hilfe
Fix commands having priority over code. [LysLysKOM 22552693].
o Image.SVG
Fall back to using the unprefixed pkg-config if the arch-prefixed doesn't exist.
o Mysql
Support MariaDB 10.2 headerfiles.
o export
Fixed fix_configure.
This was broken in multiple ways:
- Did not consider timestamp on aclocal.m4
- Did not consider post_modules
- Did not check configure scripts directly under modules or post_modules
- When fixing modules, it looked for the configure scripts in the build directory rather than the source directory
- Did not use the run_autoconfig wrapper
This has caused xenofarm to export snapshots with out of date configure scripts.
o precompile
Support precompilation with Pike 8.1 again.
o run_autoconfig
Fix localdir when relative and not "./"
o smartlink
Fixed multiple issues on Darwin & NetBSD.
o Whitefish
Use the standard VPATH.
o Yp
Support using libtirpc. Glibc 2.26 has removed the Sun RPC implementation...
Regards,
Peter Bortas
Sounds good. One RPM per distributions, or several? If several, put them in two subdirs.
If I could get a copy of the specific file I could create one for fedora 27 and for 28 when I can get that working
Sent from Yahoo Mail on Android
On Sun, May 13, 2018 at 11:09 AM, Peter Bortas @ Pike developers forum10353@lyskom.lysator.liu.se wrote: Sounds good. One RPM per distributions, or several? If several, put them in two subdirs.
Autocorrect, I meant spec file
Sent from Yahoo Mail on Android
On Sun, May 13, 2018 at 11:31 AM, Lance Dillonriffraff169@yahoo.com wrote: If I could get a copy of the specific file I could create one for fedora 27 and for 28 when I can get that working
Sent from Yahoo Mail on Android
On Sun, May 13, 2018 at 11:09 AM, Peter Bortas @ Pike developers forum10353@lyskom.lysator.liu.se wrote: Sounds good. One RPM per distributions, or several? If several, put them in two subdirs.
Additionally, I'm continuing to refine my port of Pike to pkgsrc, for (hopefully) eventual inclusion in the pkgsrc master repository. In the meantime, I've got new binary packages available if anyone's using pkgsrc on:
Illumos/SmartOS/OpenIndiana/etc NetBSD 6.1.5 NetBSD 7.1 MacOS Linux
These packages are now signed so there's a small amount of added assurance this time around.
I don't have them all uploaded to a public location but if anyone's interested, drop me a note and I'll make them available.
Finally, I've got an update for homebrew in the works which I'll pull the trigger on once a non-beta release is declared.
As always, feel free to drop me a line of there are any questions or comments!
Bill
May 13, 2018 10:10 AM, "H. William Welliver III" william@welliver.org wrote:
I also have RPMs for EL/Centos 6/7 as well if anyone wants to give those a try. Just let me know and I’ll put them somewhere.
Bill
Finally got 8.0.498 installed on fedora 28.... I used:
make CONFIGUREARGS="--with-cflags='-O' --without-machine-code"
I tried also --with-cflags='-O' by itself, and --without-machine-code by itself, they both produced working pike executables.
However, leaving both of them off caused running the tpike binary, running src/post_modules/GL/gen.pike, caused the segmentation fault.
The working compile did have the following error:
/home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/lib/modules/_ADT.so:-: Warning: Failed to load library: Invalid dynamic module.
Without either of the options I get the following:
#### Making static: post_modules/GL Compiling post_modules/GL/top.c /home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/tpike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/master.pike /home/riffraff/src/Pike-v8.0.498/src/post_modules/GL/gen.pike /home/riffraff/src/Pike-v8.0.498/src/post_modules/GL/auto.c.in > auto.c.tmp /bin/sh: line 1: 31243 Segmentation fault (core dumped) /home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/tpike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/master.pike /home/riffraff/src/Pike-v8.0.498/src/post_modules/GL/gen.pike /home/riffraff/src/Pike-v8.0.498/src/post_modules/GL/auto.c.in > auto.c.tmp make[6]: *** [Makefile:487: auto.c] Error 139 make[5]: *** [Makefile:107: all] Error 2 make[4]: *** [Makefile:89: override] Error 2 make[3]: *** [Makefile:100: GL] Error 1 make[2]: *** [Makefile:1224: post-modules-stamp] Error 1 make[1]: *** [Makefile:149: _make_in_builddir] Error 2 make: *** [Makefile:66: compile] Error 2
gdb backtrace shows:
(gdb) bt #0 0x000000000044e744 in debug_add_to_callback (lst=0xaa2200 <evaluator_callbacks>, call=call@entry=0x4b5700 <destruct_objects_to_destruct_cb>, arg=arg@entry=0x0, free_func=free_func@entry=0x0) at /home/riffraff/src/Pike-v8.0.498/src/callback.c:127 #1 0x00000000004b4f23 in schedule_really_free_object (o=0x12bad10) at /home/riffraff/src/Pike-v8.0.498/src/object.c:1148 #2 0x00007fe55c459e49 in ?? () #3 0x0000000000000221 in ?? () #4 0x0000000000000093 in ?? () #5 0x0000000001385e10 in ?? () #6 0x00007fe55c6cc000 in ?? () #7 0x00007fe56ed39120 in ?? () #8 0x00000000012bd8a8 in ?? () #9 0x00000000012d6c70 in ?? () #10 0x00007fe55c53489c in ?? () #11 0x0000000000420d7a in eval_instruction ( pc=0x7fe55c53489c "UH\211\345AWAVAUATSH\203\354\bI\211\377M\213w H\215\005\365\377\377\377I\211F(M\213/I\213NpH\213I H\213\211\230") at /home/riffraff/src/Pike-v8.0.498/src/interpret.c:2753 #12 catching_eval_instruction ( pc=0x7fe55c53489c "UH\211\345AWAVAUATSH\203\354\bI\211\377M\213w H\215\005\365\377\377\377I\211F(M\213/I\213NpH\213I H\213\211\230", pc@entry=0x7fe56ed392c0 "\016") at /home/riffraff/src/Pike-v8.0.498/src/interpret.c:2753 #13 0x0000000000421f70 in inter_return_opcode_F_CATCH (addr=0x7fe56ed392c0 "\016") at /home/riffraff/src/Pike-v8.0.498/src/interpret.c:1295 #14 0x00007fe55c534884 in ?? () #15 0x000000000138ae7c in ?? () #16 0x0000000000000000 in ?? ()
For now I think I am going to go with -O to remove optimizations, so I can get pike running.
On Friday, May 18, 2018, 6:31:36 PM EDT, H. William Welliver III william@welliver.org wrote:
Additionally, I'm continuing to refine my port of Pike to pkgsrc, for (hopefully) eventual inclusion in the pkgsrc master repository. In the meantime, I've got new binary packages available if anyone's using pkgsrc on:
Illumos/SmartOS/OpenIndiana/etc NetBSD 6.1.5 NetBSD 7.1 MacOS Linux
These packages are now signed so there's a small amount of added assurance this time around.
I don't have them all uploaded to a public location but if anyone's interested, drop me a note and I'll make them available.
Finally, I've got an update for homebrew in the works which I'll pull the trigger on once a non-beta release is declared.
As always, feel free to drop me a line of there are any questions or comments!
Bill
May 13, 2018 10:10 AM, "H. William Welliver III" william@welliver.org wrote:
I also have RPMs for EL/Centos 6/7 as well if anyone wants to give those a try. Just let me know and I’ll put them somewhere.
Bill
I'm doing some testing to see which gcc optimizations cause the problem. -O doesn't have the problem, testing with -O2 right now, if that doesn't work, I'll add individually each extra option in -O2 (extra over -O) until one of them fails.
On Sunday, May 20, 2018, 1:55:08 PM EDT, Lance Dillon riffraff169@yahoo.com wrote:
Finally got 8.0.498 installed on fedora 28.... I used:
make CONFIGUREARGS="--with-cflags='-O' --without-machine-code"
I tried also --with-cflags='-O' by itself, and --without-machine-code by itself, they both produced working pike executables.
However, leaving both of them off caused running the tpike binary, running src/post_modules/GL/gen.pike, caused the segmentation fault.
The working compile did have the following error:
/home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/lib/modules/_ADT.so:-: Warning: Failed to load library: Invalid dynamic module.
Without either of the options I get the following:
#### Making static: post_modules/GL Compiling post_modules/GL/top.c /home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/tpike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/master.pike /home/riffraff/src/Pike-v8.0.498/src/post_modules/GL/gen.pike /home/riffraff/src/Pike-v8.0.498/src/post_modules/GL/auto.c.in > auto.c.tmp /bin/sh: line 1: 31243 Segmentation fault (core dumped) /home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/tpike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/home/riffraff/src/Pike-v8.0.498/build/linux-4.16.7-300.fc28.x86_64-x86_64/master.pike /home/riffraff/src/Pike-v8.0.498/src/post_modules/GL/gen.pike /home/riffraff/src/Pike-v8.0.498/src/post_modules/GL/auto.c.in > auto.c.tmp make[6]: *** [Makefile:487: auto.c] Error 139 make[5]: *** [Makefile:107: all] Error 2 make[4]: *** [Makefile:89: override] Error 2 make[3]: *** [Makefile:100: GL] Error 1 make[2]: *** [Makefile:1224: post-modules-stamp] Error 1 make[1]: *** [Makefile:149: _make_in_builddir] Error 2 make: *** [Makefile:66: compile] Error 2
gdb backtrace shows:
(gdb) bt #0 0x000000000044e744 in debug_add_to_callback (lst=0xaa2200 <evaluator_callbacks>, call=call@entry=0x4b5700 <destruct_objects_to_destruct_cb>, arg=arg@entry=0x0, free_func=free_func@entry=0x0) at /home/riffraff/src/Pike-v8.0.498/src/callback.c:127 #1 0x00000000004b4f23 in schedule_really_free_object (o=0x12bad10) at /home/riffraff/src/Pike-v8.0.498/src/object.c:1148 #2 0x00007fe55c459e49 in ?? () #3 0x0000000000000221 in ?? () #4 0x0000000000000093 in ?? () #5 0x0000000001385e10 in ?? () #6 0x00007fe55c6cc000 in ?? () #7 0x00007fe56ed39120 in ?? () #8 0x00000000012bd8a8 in ?? () #9 0x00000000012d6c70 in ?? () #10 0x00007fe55c53489c in ?? () #11 0x0000000000420d7a in eval_instruction ( pc=0x7fe55c53489c "UH\211\345AWAVAUATSH\203\354\bI\211\377M\213w H\215\005\365\377\377\377I\211F(M\213/I\213NpH\213I H\213\211\230") at /home/riffraff/src/Pike-v8.0.498/src/interpret.c:2753 #12 catching_eval_instruction ( pc=0x7fe55c53489c "UH\211\345AWAVAUATSH\203\354\bI\211\377M\213w H\215\005\365\377\377\377I\211F(M\213/I\213NpH\213I H\213\211\230", pc@entry=0x7fe56ed392c0 "\016") at /home/riffraff/src/Pike-v8.0.498/src/interpret.c:2753 #13 0x0000000000421f70 in inter_return_opcode_F_CATCH (addr=0x7fe56ed392c0 "\016") at /home/riffraff/src/Pike-v8.0.498/src/interpret.c:1295 #14 0x00007fe55c534884 in ?? () #15 0x000000000138ae7c in ?? () #16 0x0000000000000000 in ?? ()
For now I think I am going to go with -O to remove optimizations, so I can get pike running.
On Friday, May 18, 2018, 6:31:36 PM EDT, H. William Welliver III william@welliver.org wrote:
Additionally, I'm continuing to refine my port of Pike to pkgsrc, for (hopefully) eventual inclusion in the pkgsrc master repository. In the meantime, I've got new binary packages available if anyone's using pkgsrc on:
Illumos/SmartOS/OpenIndiana/etc NetBSD 6.1.5 NetBSD 7.1 MacOS Linux
These packages are now signed so there's a small amount of added assurance this time around.
I don't have them all uploaded to a public location but if anyone's interested, drop me a note and I'll make them available.
Finally, I've got an update for homebrew in the works which I'll pull the trigger on once a non-beta release is declared.
As always, feel free to drop me a line of there are any questions or comments!
Bill
May 13, 2018 10:10 AM, "H. William Welliver III" william@welliver.org wrote:
I also have RPMs for EL/Centos 6/7 as well if anyone wants to give those a try. Just let me know and I’ll put them somewhere.
Bill
pike-devel@lists.lysator.liu.se